There is a systematic crash in python33_d.dll when exiting from a
MSVC2008 debug build. The crash occurs with the default scene as well as
with any scene. Here is the stack trace with the default scene:
 
> msvcr90d.dll!_write(int fh=0x00000002, const void * buf=0x0835ad00,
unsigned int cnt=0x0000000e)  Line 69 + 0x46 bytes C
  msvcr90d.dll!_flush(_iobuf * str=0x10311428)  Line 154 + 0x1d bytes C
  msvcr90d.dll!_fflush_nolock(_iobuf * str=0x10311428)  Line 106 + 0x9
bytes C
  msvcr90d.dll!fflush(_iobuf * stream=0x10311428)  Line 68 + 0x9 bytes C
  python33_d.dll!1e23c09d()  
  [Frames below may be incorrect and/or missing, no symbols loaded for
python33_d.dll] 
  python33_d.dll!1e237129()  
  blender.exe!BPY_python_end()  Line 348 + 0x8 bytes C
  blender.exe!WM_exit_ext(bContext * C=0x05ead4e8, const short
do_python=0x0001)  Line 453 C
  blender.exe!WM_exit(bContext * C=0x05ead4e8)  Line 497 + 0xb bytes C
  blender.exe!wm_exit_blender_op(bContext * C=0x05ead4e8, wmOperator *
op=0x09aa5238)  Line 2252 + 0x9 bytes C
  blender.exe!wm_operator_invoke(bContext * C=0x05ead4e8, wmOperatorType
* ot=0x066177b8, wmEvent * event=0x00000000, PointerRNA *
properties=0x0022f628, ReportList * reports=0x00000000, short
poll_only=0x0000)  Line 879 + 0x15 bytes C
  blender.exe!wm_operator_call_internal(bContext * C=0x05ead4e8,
wmOperatorType * ot=0x066177b8, PointerRNA * properties=0x0022f628,
ReportList * reports=0x00000000, short context=0x000a, short
poll_only=0x0000)  Line 1055 + 0x1e bytes C
  blender.exe!WM_operator_name_call(bContext * C=0x05ead4e8, const
unsigned char * opstring=0x042ef79c, short context=0x000a, PointerRNA *
properties=0x0022f628)  Line 1090 + 0x1a bytes C
  blender.exe!ui_apply_but_funcs_after(bContext * C=0x05ead4e8)  Line
426 + 0x25 bytes C
  blender.exe!ui_handler_region_menu(bContext * C=0x05ead4e8, wmEvent *
event=0x09a442a0, void * UNUSED_userdata=0x09aae928)  Line 6948 + 0x9
bytes C
  blender.exe!wm_handler_ui_call(bContext * C=0x05ead4e8, wmEventHandler
* handler=0x09a45c18, wmEvent * event=0x09a442a0, int
always_pass=0x00000000)  Line 363 + 0x19 bytes C
  blender.exe!wm_handlers_do_intern(bContext * C=0x05ead4e8, wmEvent *
event=0x09a442a0, ListBase * handlers=0x067e4b34)  Line 1737 + 0x15
bytes C
  blender.exe!wm_handlers_do(bContext * C=0x05ead4e8, wmEvent *
event=0x09a442a0, ListBase * handlers=0x067e4b34)  Line 1816 + 0x11
bytes C
  blender.exe!wm_event_do_handlers(bContext * C=0x05ead4e8)  Line 2063 +
0x16 bytes C
  blender.exe!WM_main(bContext * C=0x05ead4e8)  Line 366 + 0x9 bytes C
  blender.exe!main(int argc=0x00000001, const unsigned char * *
UNUSED_argv_c=0x05df4240)  Line 1398 + 0x9 bytes C
  blender.exe!__tmainCRTStartup()  Line 266 + 0x19 bytes C
  blender.exe!mainCRTStartup()  Line 182 C
  kernel32.dll!7c817077()  

I get a slightly different stack trace sometimes or after loading a
scene:
 
> blender.exe!BLI_findstring(const ListBase * listbase=0x09b33540, const
unsigned char * id=0x0022e4e4, const int offset=0x00000012)  Line 375 +
0x3 bytes C
  blender.exe!bpy_text_import_name(const unsigned char *
name=0x082e12e8, int * found=0x0022e654)  Line 186 + 0x15 bytes C
  blender.exe!blender_import(_object * UNUSED_self=0x00000000, _object *
args=0x083fa8f0, _object * kw=0x00000000)  Line 297 + 0xd bytes C
  python33_d.dll!1e139177()  
  .... rest of stack is same as above.
 
In this case, the error is that bpy_import_main static variable points
to invalid memory (probably freed).  The crash does not occur with a
release build but that doesn't mean much because release builds don't
have the checks and safeguards of debug builds to detect that freed
memory is being used. 

 
_______________________________________________
Bf-committers mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to