Page MenuHome

Crash while trying to get Area Options menu
Closed, ArchivedPublic

Description

System Information
Operating system: Linux
Graphics card: RX580

Blender Version
Broken: Blender 2.80 (sub 35), Commit date: 2018-11-30 22:29, Hash 0f5b53ba4dc
from https://builder.blender.org/download//blender-2.80-0f5b53ba4dc-linux-glibc224-x86_64.tar.bz2

Short description of error
Crash by clicking the frame to obtain the Area Options menu (Split Area, etc).

Exact steps for others to reproduce the error
Launch "blender -W", ignore the splash altogether and move pointer to frame edge between 3D and new vertical tabs, start clicking RMB.
Sometimes it crashes in first click, sometimes second (the menu to add shortcuts, etc), sometimes it does after some clicks (menu of menu of menu, or move and get a new Area Options menu).
Also crashed in frames between 3D and new top bar, 3D and Timeline, Timeline and new bottom status bar.

Backtraces look like:
./blender(BLI_system_backtrace+0x1d) [0x1b830dd]
./blender() [0x114ecc9]
/lib/x86_64-linux-gnu/libc.so.6(+0x378e0) [0x7fbe67e928e0]
./blender(ED_screen_user_menu_find+0x19) [0x14563e9]
./blender(ui_popup_context_menu_for_button+0x57f) [0x135331f]
./blender() [0x13089d6]
./blender() [0x130bdd6]
./blender() [0x130c596]
./blender() [0x130d3b5]
./blender() [0x130eaf4]
./blender() [0x115720b]
./blender() [0x1157a8c]
./blender(wm_event_do_handlers+0x230) [0x11580f0]
./blender(WM_main+0x20) [0x114f6d0]
./blender(main+0x31e) [0x10b554e]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7fbe67e7f09b]
./blender(_start+0x2a) [0x114b7ca]

Details

Type
Bug

Event Timeline

Jacques Lucke (JacquesLucke) triaged this task as Needs Information from User priority.

Can't reproduce this right now. Could you make a short .gif that shows exactly what you do until it crashes?

Ended downloading source and giving it a try... culprit is BKE_blender_user_menu_find(&U.user_menus, sl->spacetype, context) with sl NULL, which was returned by CTX_wm_space_data.

#0  0x00005555575e501d in ED_screen_user_menu_find (C=0x55555dd95198) at source/blender/editors/screen/screen_user_menu.c:69
      sl = 0x0
      context = 0x55555bb9784b "objectmode"

Created a small patch http://www.infernal-iceberg.com/blender/0001-Fix-T58400-Check-SpaceLink-struct-before-trying-to-a.patch

Source tree has other places where return from CTX_wm_space_data is used without checks, maybe worth a review.
Alpha/beta/rc builds could come with more debug data.

gsr b3d (gsrb3d) closed this task as Archived.Dec 22 2018, 4:26 AM
gsr b3d (gsrb3d) claimed this task.

The function has changed with D4112 and the patch does not work anymore. There is a similar crash, but it must be handled by the new code.