Game Development Community

DTS crash recovers in debugger, crashes if run normally (resolved)

by Kenneth Eves · in Torque 3D Beginner · 11/15/2012 (12:13 pm) · 2 replies

What do you make of this?

T3D 1.2 MIT loading DTS model. Release build.

If run from a normal shortcut, program crashes.

If run from inside a debugger (olly debug), passing exception to program recovers fine. Log indicates a heap issue, perhaps an overrun? I'm guessing C000 bytes allocated, but it overshot.

Could this be some sort of hardcoded limit for materials?

This gives me an idea. Textures are Windows .BMP format. I'll try PNG conversion to see if it's something BMP specific.

Here's the log from debugger:

Debug string:
          Debug string: --- Resetting D3D Device ---
          Debug string:
          Debug string: Time spent in toggleEditor() : 2.303 s
          Debug string:
          Debug string: Mapping string: SetEditorCameraPlayer to index: 3
          Debug string:
          Debug string: Mapping string: setDamageDirection to index: 18
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/BRICK-A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/CONCES_A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/CONCES_B
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/CONCES_E
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/CONCES_G
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/DOOR_A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/DOORDB_B
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/FACAD1_A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/FACAD1_B
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/FACAD1_C
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/FACAD1_D
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/FACAD2_E
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/FACAD2_F
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/PAVEGY_F
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/PAVEGY_E
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/PAVEGY_D
          Debug string:
          Debug string: HEAP[test.exe]:
          Debug string: Heap block at 09DD83F8 modified at 09DE4400 past requested size of c000
7D61002D  Call to DbgBreakPoint() - Shift+Run/Step to pass exception to the program
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/ROOF-A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/ROOF-B
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/ROOF-C
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/SHOPS1_A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/SHOPS1_B
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/SHOPS1_C
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/SHOPS2_D
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/SHOPS2_F
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/SHOPS3_E
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/TILES-A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/TILES-B
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/Windx4_A
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/Windx4_B
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/Windx4_C
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/Windx4_D
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/Windx4_E
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/Windx4_F
          Debug string:
          Debug string: [MaterialList::mapMaterials] Creating missing material for texture: art/shapes/CONVERSION/Windx4_H
          Debug string:
          Debug string: Mapping string: EditorOrbitCameraSelectChange to index: 4
          Debug string:
          Debug string: Window focus status changed: focus: 0
          Debug string:
          Debug string:   Using background sleep time: 200
          Debug string:
          Debug string: DirectInput deactivated.
          Debug string:
          Debug string: Activating DirectInput...
          Debug string:
          Debug string: Window focus status changed: focus: 1
          Debug string:
          Debug string: Mapping string: ToggleCamera to index: 5
          Debug string:
          Debug string: *** Control Object Changed
          Debug string:
          Debug string: Mapping string: SetEditorCameraStandard to index: 6
          Debug string:
          Debug string: Window focus status changed: focus: 0
          Debug string:
          Debug string:   Using background sleep time: 200
          Debug string:
          Debug string: DirectInput deactivated.
          Debug string:

#1
11/15/2012 (12:27 pm)
Converted to PNG and it loads up fine.

I'll take a look at the BMP texture. Maybe malformed, corrupted or has some feature that T3D doesn't like.

...

EDIT: Nothing unusual with the file that I can see.
#2
11/15/2012 (1:28 pm)
Try running it trough Purify (they got an evaluation version that can give you hints at where the heap corruption is happening). That's what I do when it's not obvious where the corruption happens.