Page MenuHome

Assert failure in brush projection code
Closed, ResolvedPublicBUG

Description

System Information

Linux Debian, 64bit, GTX1080

Blender Version

Broken: latest master rBecab7be, debug builds
Worked: no idea

Short description of error

Assert failure happens in in brush projection. Quite hard to reproduce, so .blend file saved from gdb is attached :)

Exact steps for others to reproduce the error

Assert failure happens with the following stacktarce

1#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
2#1 0x00007ffff009b231 in __GI_abort () at abort.c:79
3#2 0x00005555594a539d in project_brush_radius (vc=0x7fffffffce80, radius=0.159267679, location=0x7fffffffce40)
4 at /home/sergey/src/blender/blender/source/blender/editors/sculpt_paint/paint_cursor.c:540
5#3 0x00005555594a57b2 in sculpt_get_brush_geometry (C=0x60b000004458, vc=0x7fffffffce80, x=478, y=367, pixel_radius=0x7fffffffcdc0,
6 location=0x7fffffffce40, ups=0x61900003f028)
7 at /home/sergey/src/blender/blender/source/blender/editors/sculpt_paint/paint_cursor.c:572
8#4 0x00005555594ab781 in paint_draw_cursor (C=0x60b000004458, x=478, y=367, UNUSED_unused=0x0)
9 at /home/sergey/src/blender/blender/source/blender/editors/sculpt_paint/paint_cursor.c:1053
10#5 0x0000555558484b74 in wm_paintcursor_draw (C=0x60b000004458, ar=0x614000031e48)
11 at /home/sergey/src/blender/blender/source/blender/windowmanager/intern/wm_draw.c:107
12#6 0x00005555584880bc in wm_method_draw_triple (C=0x60b000004458, win=0x6120000de1c8)
13 at /home/sergey/src/blender/blender/source/blender/windowmanager/intern/wm_draw.c:636
14#7 0x000055555848a2e0 in wm_draw_update (C=0x60b000004458)
15 at /home/sergey/src/blender/blender/source/blender/windowmanager/intern/wm_draw.c:999
16#8 0x0000555558479718 in WM_main (C=0x60b000004458) at /home/sergey/src/blender/blender/source/blender/windowmanager/intern/wm.c:522
17#9 0x000055555846f0ca in main (argc=1, argv=0x7fffffffd338) at /home/sergey/src/blender/blender/source/creator/creator.c:527

Here is a demo file

. Just over the mouse in the viewport.

P.S. File is saved from gdb, and still has operator running. This might be another problem.

Event Timeline

Sergey Sharybin (sergey) lowered the priority of this task from 90 to 50.
Sergey Sharybin (sergey) created this task.

@Campbell Barton (campbellbarton), you have better idea of cases when assert is really needed.

In this file scene->toolsettings->unified_paint_settings.last_location is {-nan, 4.592e-41 # DEN, -nan}.
This cause ED_view3d_project_float_global to fail resulting in the assert.

If I'm not mistaken, the value of last_location is obtained when reading the file.

Pablo Dobarro (pablodp606) changed the subtype of this task from "Report" to "Bug".