[Bf-committers] VS2012 + Win8 Game engine crash need help with debugging
Jürgen Herrmann
shadowrom at me.com
Mon May 6 20:10:08 CEST 2013
Hi there,
I love this debugger! I finally found the place in the code where this nasty exception happens.
But i am once again lost in Blenders internals…
This ist the stacktrace:
> blender.exe!game_engine_exec(bContext * C, wmOperator * op) Zeile 1439 C
blender.exe!wm_operator_invoke(bContext * C, wmOperatorType * ot, wmEvent * event, PointerRNA * properties, ReportList * reports, short poll_only) Zeile 948 C
blender.exe!wm_handler_operator_call(bContext * C, ListBase * handlers, wmEventHandler * handler, wmEvent * event, PointerRNA * properties) Zeile 1526 C
blender.exe!wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) Zeile 1794 C
blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Zeile 1908 C
blender.exe!wm_event_do_handlers(bContext * C) Zeile 2201 C
blender.exe!WM_main(bContext * C) Zeile 466 C
blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Zeile 1648 C
blender.exe!__tmainCRTStartup() Zeile 241 C
kernel32.dll!BaseThreadInitThunk‑() Unbekannt
ntdll.dll!RtlUserThreadStart‑() Unbekannt
This ist he debuggers memory dump for the desired scene data:
- ((*C).data).scene 0x0000000000000000 {id={next=??? prev=??? newid=??? ...} adt=??? camera=??? ...} Scene *
+ id {next=??? prev=??? newid=??? ...} ID
adt <Speicher kann nicht gelesen werden>
camera <Speicher kann nicht gelesen werden>
world <Speicher kann nicht gelesen werden>
set <Speicher kann nicht gelesen werden>
+ base {first=??? last=??? } ListBase
basact <Speicher kann nicht gelesen werden>
obedit <Speicher kann nicht gelesen werden>
+ cursor 0x00000000000000b8 {???, ???, ???} float[3]
+ twcent 0x00000000000000c4 {???, ???, ???} float[3]
+ twmin 0x00000000000000d0 {???, ???, ???} float[3]
+ twmax 0x00000000000000dc {???, ???, ???} float[3]
lay <Speicher kann nicht gelesen werden>
layact <Speicher kann nicht gelesen werden>
lay_updated <Speicher kann nicht gelesen werden>
flag <Speicher kann nicht gelesen werden>
use_nodes <Speicher kann nicht gelesen werden>
nodetree <Speicher kann nicht gelesen werden>
ed <Speicher kann nicht gelesen werden>
toolsettings <Speicher kann nicht gelesen werden>
stats <Speicher kann nicht gelesen werden>
+ r {im_format={imtype=??? depth=??? planes=??? ...} avicodecdata=??? qtcodecdata=??? ...} RenderData
+ audio {mixrate=??? main=??? speed_of_sound=??? ...} AudioData
+ markers {first=??? last=??? } ListBase
+ transform_spaces {first=??? last=??? } ListBase
sound_scene <Speicher kann nicht gelesen werden>
sound_scene_handle <Speicher kann nicht gelesen werden>
sound_scrub_handle <Speicher kann nicht gelesen werden>
speaker_handles <Speicher kann nicht gelesen werden>
fps_info <Speicher kann nicht gelesen werden>
theDag <Speicher kann nicht gelesen werden>
dagflags <Speicher kann nicht gelesen werden>
recalc <Speicher kann nicht gelesen werden>
active_keyingset <Speicher kann nicht gelesen werden>
+ keyingsets {first=??? last=??? } ListBase
+ framing {col=0x0000000000000b90 {???, ???, ???} type=??? pad1=??? ...} GameFraming
+ gm {framing={col=0x0000000000000ba0 {???, ???, ???} type=??? pad1=??? ...} playerflag=??? xplay=??? ...} GameData
+ unit {scale_length=??? system=??? system_rotation=??? ...} UnitSettings
gpd <Speicher kann nicht gelesen werden>
+ physics_settings {gravity=0x0000000000000c68 {???, ???, ???} flag=??? quick_cache_step=??? ...} PhysicsSettings
clip <Speicher kann nicht gelesen werden>
customdata_mask <Speicher kann nicht gelesen werden>
customdata_mask_modal <Speicher kann nicht gelesen werden>
+ view_settings {flag=??? pad=??? view_transform=0x0000000000000ca0 <Fehler beim Lesen der Zeichen der Zeichenfolge.> ...} ColorManagedViewSettings
+ display_settings {display_device=0x0000000000000cf8 <Fehler beim Lesen der Zeichen der Zeichenfolge.> } ColorManagedDisplaySettings
+ sequencer_colorspace_settings {name=0x0000000000000d38 <Fehler beim Lesen der Zeichen der Zeichenfolge.> } ColorManagedColorspaceSettings
rigidbody_world <Speicher kann nicht gelesen werden>
As you can see the C.data.scene seems tob e uninitialized.
I tried to track down the source of this and I must admit that this is a nasty one ;)
It seems that C isn’t properly initialized in context.c line 97:
bContext *CTX_create(void)
{
bContext *C;
C = MEM_callocN(sizeof(bContext), "bContext");
return C;
}
But as always I just might be wrong…
I need some help on this.
/Jürgen
More information about the Bf-committers
mailing list