From 65ce81589c46911721f33e0dca716e738b3b5645 Mon Sep 17 00:00:00 2001 From: Paul Ripke Date: Thu, 15 Oct 2020 15:58:34 +1100 Subject: [PATCH] wip/PrusaSlicer: Add crash details to TODO. I've noticed frequent crashes on first slice, but if it survives, it's fine. Looks to be deep in TBB. --- PrusaSlicer/TODO | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/PrusaSlicer/TODO b/PrusaSlicer/TODO index b7ab471fcc..c6d21aab20 100644 --- a/PrusaSlicer/TODO +++ b/PrusaSlicer/TODO @@ -2,3 +2,49 @@ In addition to wip/ versions of packages, this package needs: - patch to math/nlopt to avoid symbol collisions with libc. - patch to math/cgal to remove WRKDIR from installed cmake files. + +Seeing frequent crashes on first slice run in TBB, if it survives the +first slice, it appears stable from that point on. Trace like: + +#0 tbb::internal::generic_scheduler::allocate_task (this=this@entry=0x799632fe7e80, number_of_bytes=number_of_bytes@entry=8, + parent=parent@entry=0x0, context=context@entry=0x79966ba4ab40 ) + at ../../src/tbb/scheduler.cpp:352 +#1 0x000079966b830848 in tbb::internal::generic_scheduler::generic_scheduler (this=this@entry=0x799632fe7e80, m=..., + genuine=genuine@entry=true) at ../../src/tbb/scheduler.cpp:99 +#2 0x000079966b83696e in tbb::internal::custom_scheduler::custom_scheduler (genuine=true, + m=..., this=0x799632fe7e80) at ../../src/tbb/custom_scheduler.h:55 +#3 tbb::internal::custom_scheduler::allocate_scheduler (m=..., genuine=) + at ../../src/tbb/custom_scheduler.h:140 +#4 0x000079966b830a23 in tbb::internal::allocate_scheduler (genuine=true, m=...) at ../../src/tbb/scheduler.cpp:38 +#5 tbb::internal::generic_scheduler::create_master (a=a@entry=0x0) at ../../src/tbb/scheduler.cpp:1289 +#6 0x000079966b82c62c in tbb::internal::governor::init_scheduler_weak () at ../../src/tbb/governor.cpp:167 +#7 0x000079966b82b235 in tbb::internal::governor::local_scheduler_weak () at ../../src/tbb/governor.h:136 +#8 tbb::internal::allocate_root_with_context_proxy::allocate (this=0x799641dfe728, size=104) at ../../src/tbb/task.cpp:61 +#9 0x00000000005c09c2 in Slic3r::TriangleMeshSlicer::slice(std::vector > const&, Slic3r::SlicingMode, std::vector >, std::allocator > > >*, std::function) const () +#10 0x00000000005c0e6a in Slic3r::TriangleMeshSlicer::slice(std::vector > const&, Slic3r::SlicingMode, float, std::vector >, std::allocator > > >*, std::function) const () +#11 0x0000000000558513 in Slic3r::PrintObject::slice_volumes(std::vector > const&, Slic3r::SlicingMode, std::vector > const&) const () +#12 0x0000000000559450 in Slic3r::PrintObject::slice_region(unsigned long, std::vector > const&, Slic3r::SlicingMode) const () +#13 0x0000000000562eaa in Slic3r::PrintObject::_slice(std::vector > const&) () +#14 0x0000000000564658 in Slic3r::PrintObject::slice() () +#15 0x00000000005649ab in Slic3r::PrintObject::make_perimeters() () +#16 0x000000000052fb8a in Slic3r::Print::process() () +#17 0x000000000081adb9 in Slic3r::BackgroundSlicingProcess::process_fff() () +#18 0x000000000081c1ce in Slic3r::BackgroundSlicingProcess::thread_proc() () +#19 0x000000000081c9ea in Slic3r::BackgroundSlicingProcess::thread_proc_safe() () +#20 0x000079966ea07f16 in thread_proxy () from /usr/pkg/lib/libboost_thread.so.1.73.0 +#21 0x000079966b40c072 in ?? () from /usr/lib/libpthread.so.1 +#22 0x0000799666887b70 in ?? () from /usr/lib/libc.so.12 +#23 0x0000000000200000 in ?? () +#24 0x0000000000000000 in ?? () + +or, less frequently: + +#0 0x00007bd432031e5e in tbb::internal::generic_scheduler::reload_tasks (this=this@entry=0x7bd408ac3e80, + offloaded_tasks=@0x7bd408ac3fd0: 0x7bd408ac3ff8, offloaded_task_list_link=@0x7bd408ac3fd8: 0x0, + top_priority=top_priority@entry=1, isolation=isolation@entry=0) at ../../src/tbb/scheduler.cpp:879 +#1 0x00007bd432032501 in tbb::internal::generic_scheduler::reload_tasks (this=this@entry=0x7bd408ac3e80, isolation=isolation@entry=0) + at ../../src/tbb/scheduler.cpp:936 +#2 0x00007bd432036c44 in tbb::internal::custom_scheduler::receive_or_steal_task ( this=0x7bd408ac3e80, completion_ref_count=, isolation=0) at ../../src/tbb/custom_scheduler.h:263 #3 0x00007bd43202e61c in tbb::internal::arena::process (this=0x7bd408ad3480, s=...) at ../../src/tbb/arena.cpp:191 +#4 0x00007bd43202d1cc in tbb::internal::market::process (this=0x7bd408ae3580, j=...) at ../../src/tbb/market.cpp:667 #5 0x00007bd43202a537 in tbb::internal::rml::private_worker::run (this=0x7bd407306080) at ../../src/tbb/private_server.cpp:266 #6 0x00007bd43202a675 in tbb::internal::rml::private_worker::thread_routine (arg=) + at ../../src/tbb/private_server.cpp:219 #7 0x00007bd431c0c072 in ?? () from /usr/lib/libpthread.so.1 +#8 0x00007bd42d087b70 in ?? () from /usr/lib/libc.so.12 Backtrace stopped: Cannot access memory at address 0x7bd407000000