Page MenuHome

Hair particle system altering display percentage crashes Blender.
Open, Confirmed, LowPublic

Description

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GTX 760/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 431.36

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-11 13:50, hash: rB06312c6d2db8
Worked: (optional)

Short description of error
Changing the percentage value in the Viewport Display section causes Blender to instantly crash.

Exact steps for others to reproduce the error
Set the display percentage with the currently active particle system

Details

Type
Bug

Event Timeline

Tom Wilson (hedgehog90) renamed this task from Hair particle system display percentage crashes Blender. to Hair particle system altering display percentage crashes Blender..
Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.

Can confirm a crash here, checking...

all is good if there is no particle instance modifier on wheat_1

where ParticleCacheKey psys->childcache[p - totpart] is NULL

1  interpolate_pathcache                                particle.c             1230 0x1f1079a      
2  psys_get_particle_on_path                            particle.c             4353 0x1f1b643      
3  applyModifier                                        MOD_particleinstance.c 402  0x29f1da5      
4  modwrap_applyModifier                                modifier.c             962  0x1ec7eb1      
5  mesh_calc_modifiers                                  DerivedMesh.c          1434 0x201bb34      
6  mesh_build_data                                      DerivedMesh.c          2054 0x201e0d2      
7  makeDerivedMesh                                      DerivedMesh.c          2183 0x201e5b0      
8  BKE_object_handle_data_update                        object_update.c        186  0x1f054b7      
9  BKE_object_eval_uber_data                            object_update.c        354  0x1f05d7b
ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62800017fba0 at pc 0x000001f89d85 bp 0x7f722629e480 sp 0x7f722629e470
READ of size 8 at 0x62800017fba0 thread T19
    #0 0x1f89d84 in psys_get_particle_on_path /blender/source/blender/blenkernel/intern/particle.c:4353
    #1 0x39541ad in applyModifier /blender/source/blender/modifiers/intern/MOD_particleinstance.c:402
    #2 0x1eb2cb4 in modwrap_applyModifier /blender/source/blender/blenkernel/intern/modifier.c:962
    #3 0x2206506 in mesh_calc_modifiers /blender/source/blender/blenkernel/intern/DerivedMesh.c:1434
    #4 0x220be26 in mesh_build_data /blender/source/blender/blenkernel/intern/DerivedMesh.c:2054
    #5 0x220cc7d in makeDerivedMesh /blender/source/blender/blenkernel/intern/DerivedMesh.c:2183
    #6 0x1f4b899 in BKE_object_handle_data_update /blender/source/blender/blenkernel/intern/object_update.c:186
    #7 0x1f4cf11 in BKE_object_eval_uber_data /blender/source/blender/blenkernel/intern/object_update.c:354
    

0x62800017fba0 is located 0 bytes to the right of 15008-byte region [0x62800017c100,0x62800017fba0)
allocated by thread T0 here:
    #0 0x7f7267511ea6 in __interceptor_calloc (/lib64/libasan.so.5+0x10dea6)
    #1 0x25d2ba3 in MEM_lockfree_callocN /blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:267
    #2 0x1f60963 in psys_alloc_path_cache_buffers /blender/source/blender/blenkernel/intern/particle.c:174
    #3 0x1f778d7 in psys_cache_child_paths /blender/source/blender/blenkernel/intern/particle.c:2788
    #4 0x1fb8dcb in psys_update_path_cache /blender/source/blender/blenkernel/intern/particle_system.c:3245
    #5 0x1fbbd8b in hair_step /blender/source/blender/blenkernel/intern/particle_system.c:3541
    #6 0x1fc6876 in particle_system_update /blender/source/blender/blenkernel/intern/particle_system.c:4686
    #7 0x3956d9b in deformVerts /blender/source/blender/modifiers/intern/MOD_particlesystem.c:212
    #8 0x1eb2e88 in modwrap_deformVerts /blender/source/blender/blenkernel/intern/modifier.c:977
    #9 0x22052b4 in mesh_calc_modifiers /blender/source/blender/blenkernel/intern/DerivedMesh.c:1235
    #10 0x220be26 in mesh_build_data /blender/source/blender/blenkernel/intern/DerivedMesh.c:2054
    #11 0x220cc7d in makeDerivedMesh /blender/source/blender/blenkernel/intern/DerivedMesh.c:2183

@Sergey Sharybin (sergey): mind checking?

Sergey Sharybin (sergey) lowered the priority of this task from Confirmed, Medium to Confirmed, Low.

Doesn't seem to be a regression to me: copying the content of the file to 2.79 makes it possible to reproduce the issue there as well.

There are numerous issues in the particles code which acts weirdly when changing number of particles and children for display. But at this point it really makes more sense to invest time into a new particle system.