Blender crashes at start when calling wm.progress_update(value) from load_post #37249

Closed
opened 2013-10-29 17:29:56 +01:00 by Emanuele Gissi · 9 comments

%%%Calling this code from a load_post handler crashes Blender 2.69 RC3 and 2.68 at start on Xubuntu Linux 13.04:

wm = context.window_manager <-- this is ok
wm.progress_begin(0, 100) <-- this is ok
wm.progress_update(50) <-- this crashes Blender

I imagine that this is due to the window_manager still not completely up and working when starting Blender.
I cannot find any condition to test to prevent the crash.

I suggest you to protect wm.progress_update() from crashing whole Blender if the window is not ready.
This could be a rather easy fix.

Here is the backtrace:

Blender 2.69 (sub 0), Revision: 60882

backtrace

./blender() [0xf84687]
./blender() [0xf848c5]
/lib/x86_64-linux-gnu/libc.so.6(+0x370b0) [0x7f7d1555e0b0]
./blender(WM_cursor_time+0x8) [0xf8da48]
./blender(RNA_function_call+0x12) [0x13bd4e2]
./blender() [0x1807b79]
./blender(PyObject_Call+0x5a) [0x2b0f5da]
./blender(PyEval_EvalFrameEx+0x17a0) [0x2bb68c0]
./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e]
./blender(PyEval_EvalFrameEx+0x6198) [0x2bbb2b8]
./blender(PyEval_EvalFrameEx+0x6694) [0x2bbb7b4]
./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e]
./blender() [0x2b3503f]
./blender(PyObject_Call+0x5a) [0x2b0f5da]
./blender() [0x18087e4]
./blender() [0x14aa943]
./blender() [0xf9ed1a]
./blender(WM_operator_call_py+0x6e) [0xf9f5de]
./blender() [0x1817250]
./blender(PyEval_EvalFrameEx+0x6727) [0x2bbb847]
./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e]
./blender() [0x2b3503f]
./blender(PyObject_Call+0x5a) [0x2b0f5da]
./blender() [0x2b2691d]
./blender(PyObject_Call+0x5a) [0x2b0f5da]
./blender() [0x2b6bba1]
./blender(PyObject_Call+0x5a) [0x2b0f5da]
./blender(PyEval_EvalFrameEx+0x17a0) [0x2bb68c0]
./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e]
./blender() [0x2b3503f]
./blender(PyObject_Call+0x5a) [0x2b0f5da]
./blender(bpy_app_generic_callback+0x8c) [0x18166dc]
./blender(BLI_callback_exec+0x2d) [0x1869bdd]
./blender(main+0x18d) [0xf86a99]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f7d15548ea5]
./blender() [0xec38d5]

Thank you in advance,
Emanuele%%%

%%%Calling this code from a load_post handler crashes Blender 2.69 RC3 and 2.68 at start on Xubuntu Linux 13.04: wm = context.window_manager <-- this is ok wm.progress_begin(0, 100) <-- this is ok wm.progress_update(50) <-- this crashes Blender I imagine that this is due to the window_manager still not completely up and working when starting Blender. I cannot find any condition to test to prevent the crash. I suggest you to protect wm.progress_update() from crashing whole Blender if the window is not ready. This could be a rather easy fix. Here is the backtrace: # Blender 2.69 (sub 0), Revision: 60882 # backtrace ./blender() [0xf84687] ./blender() [0xf848c5] /lib/x86_64-linux-gnu/libc.so.6(+0x370b0) [0x7f7d1555e0b0] ./blender(WM_cursor_time+0x8) [0xf8da48] ./blender(RNA_function_call+0x12) [0x13bd4e2] ./blender() [0x1807b79] ./blender(PyObject_Call+0x5a) [0x2b0f5da] ./blender(PyEval_EvalFrameEx+0x17a0) [0x2bb68c0] ./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e] ./blender(PyEval_EvalFrameEx+0x6198) [0x2bbb2b8] ./blender(PyEval_EvalFrameEx+0x6694) [0x2bbb7b4] ./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e] ./blender() [0x2b3503f] ./blender(PyObject_Call+0x5a) [0x2b0f5da] ./blender() [0x18087e4] ./blender() [0x14aa943] ./blender() [0xf9ed1a] ./blender(WM_operator_call_py+0x6e) [0xf9f5de] ./blender() [0x1817250] ./blender(PyEval_EvalFrameEx+0x6727) [0x2bbb847] ./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e] ./blender() [0x2b3503f] ./blender(PyObject_Call+0x5a) [0x2b0f5da] ./blender() [0x2b2691d] ./blender(PyObject_Call+0x5a) [0x2b0f5da] ./blender() [0x2b6bba1] ./blender(PyObject_Call+0x5a) [0x2b0f5da] ./blender(PyEval_EvalFrameEx+0x17a0) [0x2bb68c0] ./blender(PyEval_EvalCodeEx+0x81e) [0x2bb506e] ./blender() [0x2b3503f] ./blender(PyObject_Call+0x5a) [0x2b0f5da] ./blender(bpy_app_generic_callback+0x8c) [0x18166dc] ./blender(BLI_callback_exec+0x2d) [0x1869bdd] ./blender(main+0x18d) [0xf86a99] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f7d15548ea5] ./blender() [0xec38d5] Thank you in advance, Emanuele%%%
Author

Changed status to: 'Open'

Changed status to: 'Open'

%%%Campbell, can you please look into the issue? Thanks!%%%

%%%Campbell, can you please look into the issue? Thanks!%%%

Please always submit a test file, I tested but this isn't crashing here.

Please always submit a test file, I tested but this isn't crashing here.

This issue was referenced by blender/blender-addons-contrib@2123386c70

This issue was referenced by blender/blender-addons-contrib@2123386c70a740bc8177fb16011c0cf65dd8a2f3

This issue was referenced by blender/blender@2123386c70

This issue was referenced by blender/blender@2123386c70a740bc8177fb16011c0cf65dd8a2f3

Manged to redo the bug. The script needed to run as a module with 'Register' enabled.

Manged to redo the bug. The script needed to run as a module with 'Register' enabled.

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Closed by commit blender/blender@2123386c70.

Closed by commit blender/blender@2123386c70.
Author

Campbell, thank you very much indeed!

Campbell, thank you very much indeed!
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#37249
No description provided.