Raytracing: crash when changing the temporal cache size property
After enabling raytracing in ParaView master and decrease the value of the property Temporal Cache Size
, paraview crashs with malloc(): unsorted double linked list corrupted
.
See the gdb stack trace
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007fa77bcdd859 in __GI_abort () at abort.c:79
#2 0x00007fa77bd4826e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fa77be72298 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007fa77bd502fc in malloc_printerr (str=str@entry=0x7fa77be74ad8 "malloc(): unsorted double linked list corrupted") at malloc.c:5347
#4 0x00007fa77bd532ec in _int_malloc (av=av@entry=0x7fa77bea7b80 <main_arena>, bytes=bytes@entry=1160) at malloc.c:3744
#5 0x00007fa77bd55299 in __GI___libc_malloc (bytes=1160) at malloc.c:3066
#6 0x00007fa747060210 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#7 0x00007fa74704ca3f in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#8 0x00007fa744c71f34 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#9 0x00007fa746219c46 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#10 0x00007fa746200a91 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#11 0x00007fa746200909 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#12 0x00007fa745ae6006 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#13 0x00007fa744ff1477 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#14 0x00007fa744c367a6 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#15 0x00007fa744c35e4f in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#16 0x00007fa744c35a6d in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#17 0x00007fa75a53c190 in tbb::detail::r1::task_dispatcher::local_wait_for_all<false, tbb::detail::r1::external_waiter>(tbb::detail::d1::task*, tbb::detail::r1::external_waiter&) (this=0x7fa72d7cbc00, t=0x7fa72daa5c00, waiter=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.h:322
#18 0x00007fa75a525b1e in tbb::detail::r1::task_dispatcher::local_wait_for_all<tbb::detail::r1::external_waiter>(tbb::detail::d1::task*, tbb::detail::r1::external_waiter&) (this=<optimized out>, t=<optimized out>, waiter=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.h:463
#19 tbb::detail::r1::task_dispatcher::execute_and_wait(tbb::detail::d1::task*, tbb::detail::d1::wait_context&, tbb::detail::d1::task_group_context&) (t=0x2, wait_ctx=..., w_ctx=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.cpp:168
#20 0x00007fa744c34cdc in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#21 0x00007fa744cb3d23 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#22 0x00007fa744cc0421 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#23 0x00007fa744cbfaef in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#24 0x00007fa744cbf70d in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#25 0x00007fa75a53c190 in tbb::detail::r1::task_dispatcher::local_wait_for_all<false, tbb::detail::r1::external_waiter>(tbb::detail::d1::task*, tbb::detail::r1::external_waiter&) (this=0x7fa72d7cbc00, t=0x7fa72daa6000, waiter=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.h:322
#26 0x00007fa75a525b1e in tbb::detail::r1::task_dispatcher::local_wait_for_all<tbb::detail::r1::external_waiter>(tbb::detail::d1::task*, tbb::detail::r1::external_waiter&) (this=<optimized out>, t=<optimized out>, waiter=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.h:463
#27 tbb::detail::r1::task_dispatcher::execute_and_wait(tbb::detail::d1::task*, tbb::detail::d1::wait_context&, tbb::detail::d1::task_group_context&) (t=0x2, wait_ctx=..., w_ctx=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.cpp:168
#28 0x00007fa744cc0688 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#29 0x00007fa75a53c190 in tbb::detail::r1::task_dispatcher::local_wait_for_all<false, tbb::detail::r1::external_waiter>(tbb::detail::d1::task*, tbb::detail::r1::external_waiter&) (this=0x7fa72d7cbc00, t=0x7fa72daa7100, waiter=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.h:322
#30 0x00007fa75a528a27 in tbb::detail::r1::task_dispatcher::local_wait_for_all<tbb::detail::r1::external_waiter>(tbb::detail::d1::task*, tbb::detail::r1::external_waiter&) (this=<optimized out>, t=<optimized out>, waiter=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.h:463
#31 tbb::detail::r1::task_dispatcher::execute_and_wait(tbb::detail::d1::task*, tbb::detail::d1::wait_context&, tbb::detail::d1::task_group_context&) (t=<optimized out>, wait_ctx=..., w_ctx=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.cpp:168
#32 tbb::detail::r1::wait(tbb::detail::d1::wait_context&, tbb::detail::d1::task_group_context&) (wait_ctx=..., w_ctx=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/task_dispatcher.cpp:126
#33 0x00007fa744cb828b in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#34 0x00007fa75a528e0c in tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long)::{lambda()#1}::operator()() const (this=<optimized out>)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/arena.cpp:771
#35 tbb::detail::d0::try_call_proxy<tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long)::{lambda()#1}>::on_completion<tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long)::{lambda()#2}>(tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long)::{lambda()#2}) (this=<optimized out>, on_completion_body=...)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/../../include/oneapi/tbb/detail/_template_helpers.h:230
#36 tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long) (d=..., isolation=140722034230320)
at /localdisk/ci/runner006/intel-innersource/001/_work/libraries.threading.infrastructure.onetbb-ci/libraries.threading.infrastructure.onetbb-ci/onetbb_source_code/src/tbb/arena.cpp:772
#37 0x00007fa744cb2c61 in () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#38 0x00007fa744c5f7fc in rtcCommitScene () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libembree3.so.3
#39 0x00007fa7476c524e in ospray::World::commit() () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libospray_module_cpu.so
#40 0x00007fa7476a3d0d in ospray::api::ISPCDevice::commit(osp::ManagedObject*) () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libospray_module_cpu.so
#41 0x00007fa7682d09c2 in ospCommit () at /home/jafar/deps/OSPRay/ospray-2.9.0.x86_64.linux/lib/libospray.so.2
#42 0x00007fa76f830876 in RTW::OSPRayBackend::Commit(RTWHandle*) (this=0x55d42cf8eca0, object=0x55d4344efcf0) at /home/jafar/dev/paraview/src/VTK/Rendering/RayTracing/RTWrapper/OSPRay/OSPRayBackend.h:323
#43 0x00007fa76f813970 in vtkOSPRayRendererNode::Render(bool) (this=0x55d43356fc80, prepass=false) at /home/jafar/dev/paraview/src/VTK/Rendering/RayTracing/vtkOSPRayRendererNode.cxx:1296
#44 0x00007fa76b1edc7f in vtkViewNode::Apply(int, bool) (this=0x55d43356fc80, operation=3, prepass=false) at /home/jafar/dev/paraview/src/VTK/Rendering/SceneGraph/vtkViewNode.cxx:236
#45 0x00007fa76f812daf in vtkOSPRayRendererNode::Traverse(int) (this=0x55d43356fc80, operation=3) at /home/jafar/dev/paraview/src/VTK/Rendering/RayTracing/vtkOSPRayRendererNode.cxx:1146
#46 0x00007fa76b1ed768 in vtkViewNode::TraverseAllPasses() (this=0x55d43356fc80) at /home/jafar/dev/paraview/src/VTK/Rendering/SceneGraph/vtkViewNode.cxx:165
#47 0x00007fa76f7fa98e in vtkOSPRayPass::RenderInternal(vtkRenderState const*) (this=0x55d4346b9480, s=0x7ffc66dcf940) at /home/jafar/dev/paraview/src/VTK/Rendering/RayTracing/vtkOSPRayPass.cxx:325
#48 0x00007fa76f7fc807 in vtkOSPRayPassInternals::Render(vtkRenderState const*) (this=0x55d4346b9390, s=0x7ffc66dcf940) at /home/jafar/dev/paraview/src/VTK/Rendering/RayTracing/vtkOSPRayPass.cxx:114
#49 0x00007fa7782c7251 in vtkSequencePass::Render(vtkRenderState const*) (this=0x55d4344e1660, s=0x7ffc66dcf940) at /home/jafar/dev/paraview/src/VTK/Rendering/OpenGL2/vtkSequencePass.cxx:71
#50 0x00007fa7780a43a7 in vtkCameraPass::Render(vtkRenderState const*) (this=0x55d4346683d0, s=0x7ffc66dcf940) at /home/jafar/dev/paraview/src/VTK/Rendering/OpenGL2/vtkCameraPass.cxx:145
--Type <RET> for more, q to quit, c to continue without paging--
#51 0x00007fa76f7fa461 in vtkOSPRayPass::Render(vtkRenderState const*) (this=0x55d4346b9480, s=0x7ffc66dcf940) at /home/jafar/dev/paraview/src/VTK/Rendering/RayTracing/vtkOSPRayPass.cxx:271
#52 0x00007fa7780a43a7 in vtkCameraPass::Render(vtkRenderState const*) (this=0x55d4345dafa0, s=0x7ffc66dcf940) at /home/jafar/dev/paraview/src/VTK/Rendering/OpenGL2/vtkCameraPass.cxx:145
#53 0x00007fa77820d937 in vtkOpenGLRenderer::DeviceRender() (this=0x55d42ecbdc00) at /home/jafar/dev/paraview/src/VTK/Rendering/OpenGL2/vtkOpenGLRenderer.cxx:285
#54 0x00007fa7775524cd in vtkRenderer::Render() (this=0x55d42ecbdc00) at /home/jafar/dev/paraview/src/VTK/Rendering/Core/vtkRenderer.cxx:385
#55 0x00007fa777570a63 in vtkRendererCollection::Render() (this=0x55d42ec3e470) at /home/jafar/dev/paraview/src/VTK/Rendering/Core/vtkRendererCollection.cxx:52
#56 0x00007fa77752e888 in vtkRenderWindow::DoStereoRender() (this=0x55d42d584480) at /home/jafar/dev/paraview/src/VTK/Rendering/Core/vtkRenderWindow.cxx:356
#57 0x00007fa77752e5f4 in vtkRenderWindow::Render() (this=0x55d42d584480) at /home/jafar/dev/paraview/src/VTK/Rendering/Core/vtkRenderWindow.cxx:316
#58 0x00007fa77820b3c4 in vtkOpenGLRenderWindow::Render() (this=0x55d42d584480) at /home/jafar/dev/paraview/src/VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx:2772
#59 0x00007fa7780fd929 in vtkGenericOpenGLRenderWindow::Render() (this=0x55d42d584480) at /home/jafar/dev/paraview/src/VTK/Rendering/OpenGL2/vtkGenericOpenGLRenderWindow.cxx:220
#60 0x00007fa76fc753a0 in vtkPVRenderView::Render(bool, bool) (this=0x55d42ec4a8e0, interactive=false, skip_rendering=false) at /home/jafar/dev/paraview/src/Remoting/Views/vtkPVRenderView.cxx:1727
#61 0x00007fa76fc73f04 in vtkPVRenderView::StillRender() (this=0x55d42ec4a8e0) at /home/jafar/dev/paraview/src/Remoting/Views/vtkPVRenderView.cxx:1484
#62 0x00007fa77050c204 in vtkPVRenderViewCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&, void*)
(arlu=0x55d42c9632c0, ob=0x55d42ec4a8e0, method=0x55d433247f79 "StillRender", msg=..., resultStream=...) at /home/jafar/dev/paraview/build/CMakeFiles/vtkRemotingViewsCS/vtkPVRenderViewClientServer.cxx:277
#63 0x00007fa77893835d in vtkClientServerInterpreter::CallCommandFunction(char const*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&)
(this=0x55d42c9632c0, cname=0x7fa76fe19c1b "vtkPVRenderView", ptr=0x55d42ec4a8e0, method=0x55d433247f79 "StillRender", msg=..., result=...) at /home/jafar/dev/paraview/src/Remoting/ClientServerStream/vtkClientServerInterpreter.cxx:810
#64 0x00007fa778936762 in vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) (this=0x55d42c9632c0, css=..., midx=2) at /home/jafar/dev/paraview/src/Remoting/ClientServerStream/vtkClientServerInterpreter.cxx:424
#65 0x00007fa778935c3a in vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) (this=0x55d42c9632c0, css=..., message=2) at /home/jafar/dev/paraview/src/Remoting/ClientServerStream/vtkClientServerInterpreter.cxx:265
#66 0x00007fa778935abd in vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) (this=0x55d42c9632c0, css=...) at /home/jafar/dev/paraview/src/Remoting/ClientServerStream/vtkClientServerInterpreter.cxx:235
#67 0x00007fa779b2679a in vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) (this=0x55d42c918830, stream=..., ignore_errors=false) at /home/jafar/dev/paraview/src/Remoting/ServerManager/vtkPVSessionCore.cxx:620
#68 0x00007fa779b26553 in vtkPVSessionCore::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) (this=0x55d42c918830, location=16, stream=..., ignore_errors=false) at /home/jafar/dev/paraview/src/Remoting/ServerManager/vtkPVSessionCore.cxx:590
#69 0x00007fa779b221a2 in vtkPVSessionBase::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) (this=0x55d42d1db720, location=16, stream=..., ignore_errors=false) at /home/jafar/dev/paraview/src/Remoting/ServerManager/vtkPVSessionBase.cxx:165
#70 0x00007fa779ca539e in vtkSMProxy::ExecuteStream(vtkClientServerStream const&, bool, unsigned int) (this=0x55d42e55b780, stream=..., ignore_errors=false, location=16) at /home/jafar/dev/paraview/src/Remoting/ServerManager/vtkSMProxy.cxx:2406
#71 0x00007fa76fdacdd7 in vtkSMViewProxy::StillRender() (this=0x55d42e55b780) at /home/jafar/dev/paraview/src/Remoting/Views/vtkSMViewProxy.cxx:406
#72 0x00007fa77a998be2 in pqView::forceRender() (this=0x55d42ecef010) at /home/jafar/dev/paraview/src/Qt/Core/pqView.cxx:239
#73 0x00007fa77a998b2a in pqView::tryRender() (this=0x55d42ecef010) at /home/jafar/dev/paraview/src/Qt/Core/pqView.cxx:217
#74 0x00007fa77a85ae8f in pqView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x55d42ecef010, _c=QMetaObject::InvokeMetaMethod, _id=24, _a=0x7ffc66dd1300) at /home/jafar/dev/paraview/build/Qt/Core/pqCore_autogen/EWIEGA46WW/moc_pqView.cpp:201
#75 0x00007fa77508a1d0 in QMetaObject::activate(QObject*, int, int, void**) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#76 0x00007fa7750973ee in QTimer::timeout(QTimer::QPrivateSignal) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#77 0x00007fa77a041d1f in pqTimer::timerEvent(QTimerEvent*) (this=0x55d42edc1f48, evt=0x7ffc66dd1650) at /home/jafar/dev/paraview/src/ThirdParty/QtTesting/vtkqttesting/pqTimer.cxx:53
#78 0x00007fa77508abc5 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#79 0x00007fa77b240a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#80 0x00007fa77b24a0f0 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#81 0x00007fa77505e80a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#82 0x00007fa7750b5780 in QTimerInfoList::activateTimers() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#83 0x00007fa7750b606c in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#84 0x00007fa76d09217d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007fa76d092400 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007fa76d0924a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#87 0x00007fa7750b6435 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#88 0x00007fa77505d3ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#89 0x00007fa775065116 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#90 0x000055d42b239024 in main(int, char**) (argc=1, argv=0x55d42c7d5730) at /home/jafar/dev/paraview/build/Clients/ParaView/paraview_main.cxx:151
Step to reproduce:
- Open can.ex2
- Enable Raytracing
- set
Temporal Cache Size
to 10 - play the beginning of the animation
- set
Temporal Cache Size
to 0 - paraview crash with the error linked above.
Other informations:
- raytracing with OSPRay (I have this issue with both OSPRay path tracer and raycaster)
- I test it on can.ex2
- my OS is Ubuntu 20.04
Edited by Lucas Givord