Crash with multiple modifiers (wave+bulean;bulean+solidify+subsurf+remesh)
Open, ConfirmedPublic

Description

System Information
Distributor ID: LinuxMint
Description: Linux Mint 17.3 Rosa
Release: 17.3
Codename: rosa

Linux version 4.4.0-28-generic (buildd@lcy01-11) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #47~14.04.1-Ubuntu SMP Fri Jun 24 16:30:35 UTC 2016

Asus n750jv, NVIDIA GeForce GT 750M

Blender Version
Broken: 2.8 4bble22 (and three another versions)
Worked: not find

Short description of error
Crash and closing with multiple modifiers in stack (wave+bulean;bulean+solidify+subsurf+remesh)
When working and/or playing an animation.

Exact steps for others to reproduce the error
Run on a attached .blend file, press 'play'.

Details

Type
Bug
Bastien Montagne (mont29) triaged this task as "Confirmed" priority.Nov 18 2016, 6:19 PM

Tried it twice, got two very different crashes, both from remesh modifier though:

Crash I

Crash happens in dualcon lib, after over 240 recursive calls to addTriangle:

ASAN:DEADLYSIGNAL
=================================================================
==26852==ERROR: AddressSanitizer: stack-overflow on address 0x7fff6ef7eff0 (pc 0x7fb564ebd1db bp 0x7fb565e53bb0 sp 0x7fff6ef7eff0 T0)
    #0 0x7fb564ebd1da  (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xe31da)
    #1 0x7fb564e0b9ea in __tls_get_addr (/usr/lib/x86_64-linux-gnu/libasan.so.3+0x319ea)
    #2 0x7fb564ebdb53  (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xe3b53)
    #3 0x7fb564e0003b  (/usr/lib/x86_64-linux-gnu/libasan.so.3+0x2603b)
    #4 0x7fb564e9cbc8 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc2bc8)
    #5 0x55b0cd775a20 in Octree::addTriangle(InternalNode*, CubeTriangleIsect*, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:374
    #6 0x55b0cd775dc7 in Octree::addTriangle(InternalNode*, CubeTriangleIsect*, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:403
    #7 0x55b0cd775dc7 in Octree::addTriangle(InternalNode*, CubeTriangleIsect*, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:403
    #8 0x55b0cd775dc7 in Octree::addTriangle(InternalNode*, CubeTriangleIsect*, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:403
    #9 0x55b0cd775dc7 in Octree::addTriangle(InternalNode*, CubeTriangleIsect*, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:403

and 240 other same lines of octree.cpp:403

Crash II

=================================================================
==27003==ERROR: AddressSanitizer: SEGV on unknown address 0x000000004444 (pc 0x556ff11b5cde bp 0x7f566fe065f0 sp 0x7f566fe065d0 T20)
    #0 0x556ff11b5cdd in Octree::getEdgeParity(LeafNode const*, int) const /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.h:618
    #1 0x556ff11b01ad in Octree::processEdgeParity(LeafNode**, int*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2563
    #2 0x556ff11b05d9 in Octree::edgeProcParity(Node**, int*, int*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2584
    #3 0x556ff11b35ca in Octree::cellProcParity(Node*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2747
    #4 0x556ff11b2e52 in Octree::cellProcParity(Node*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2716
    #5 0x556ff11b2e52 in Octree::cellProcParity(Node*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2716
    #6 0x556ff11b2e52 in Octree::cellProcParity(Node*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2716
    #7 0x556ff11b2e52 in Octree::cellProcParity(Node*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2716
    #8 0x556ff11b2e52 in Octree::cellProcParity(Node*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2716
    #9 0x556ff11b2e52 in Octree::cellProcParity(Node*, int, int) /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:2716
    #10 0x556ff119c12e in Octree::resetMinimalEdges() /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:262
    #11 0x556ff119b3d7 in Octree::scanConvert() /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.cpp:122
    #12 0x556ff11996dd in dualcon /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/dualcon_c_api.cpp:185
    #13 0x556feeed2cfd in applyModifier /home/i74700deb64/blender/__work__/src/source/blender/modifiers/intern/MOD_remesh.c:176
    #14 0x556fefab950f in modwrap_applyModifier /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/modifier.c:744
    #15 0x556fef74a4f4 in mesh_calc_modifiers /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/DerivedMesh.c:2058
    #16 0x556fef74ef86 in mesh_build_data /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/DerivedMesh.c:2611
    #17 0x556fef74fa34 in makeDerivedMesh /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/DerivedMesh.c:2708
    #18 0x556fefb3e833 in BKE_object_handle_data_update /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/object_update.c:201
    #19 0x556fefb2438e in BKE_object_handle_update_ex /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/object.c:2702
    #20 0x556fefc2e743 in scene_update_object_func /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/scene.c:1499
    #21 0x556ff04a6fe4 in task_scheduler_thread_run /home/i74700deb64/blender/__work__/src/source/blender/blenlib/intern/task.c:328
    #22 0x7f56ad4e2463 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x7463)
    #23 0x7f56a3f9b9de in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xe89de)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/i74700deb64/blender/__work__/src/intern/dualcon/intern/octree.h:618 in Octree::getEdgeParity(LeafNode const*, int) const
Thread T20 created by T0 here:
    #0 0x7f56af514f59 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.3+0x30f59)
    #1 0x556ff04a7431 in BLI_task_scheduler_create /home/i74700deb64/blender/__work__/src/source/blender/blenlib/intern/task.c:379
    #2 0x556ff04aa58c in BLI_task_scheduler_get /home/i74700deb64/blender/__work__/src/source/blender/blenlib/intern/threads.c:174
    #3 0x556fefc2eeff in scene_update_objects /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/scene.c:1626
    #4 0x556fefc2f302 in scene_update_tagged_recursive /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/scene.c:1707
    #5 0x556fefc2fa7d in BKE_scene_update_tagged /home/i74700deb64/blender/__work__/src/source/blender/blenkernel/intern/scene.c:1810
    #6 0x556ff01743a5 in rna_Scene_update_tagged /home/i74700deb64/blender/__work__/src/source/blender/makesrna/intern/rna_scene_api.c:130
    #7 0x556ff01b195a in Scene_update_call /home/i74700deb64/blender/__work__/build_cmake_dbg/source/blender/makesrna/intern/rna_scene_gen.c:10934
    #8 0x556fefe5e07f in RNA_function_call /home/i74700deb64/blender/__work__/src/source/blender/makesrna/intern/rna_access.c:6217
    #9 0x556feeab2660 in pyrna_func_call /home/i74700deb64/blender/__work__/src/source/blender/python/intern/bpy_rna.c:5549
    #10 0x7f56ae92e446 in PyObject_Call (/usr/lib/x86_64-linux-gnu/libpython3.5m.so.1.0+0x1d2446)

==27003==ABORTING