n0samu / DirectorCastRipper

A tool that exports assets and information from Macromedia / Adobe Director movies and casts.
MIT License
37 stars 1 forks source link

bug: Random crashes in D12 build - access violation in TextXtra #4

Open n0samu opened 11 months ago

n0samu commented 11 months ago

The Director 12 build of Cast Ripper occasionally crashes due to an access violation error in TextXtra. When this happens, the program quits immediately without any warning; this is not something Lingo code can catch and handle. I've already tried a number of possible workarounds, but nothing has been able to address the problem.

Here is a movie that is known to occasionally trigger this crash (shared by @skiesofravens): splat.zip

Here is an example of how the crash is shown in Event Viewer:

Faulting application name: DirectorCastRipper.exe, version: 12.0.1.122, time stamp: 0x519a586f
Faulting module name: TextXtra.x32, version: 12.0.0.111, time stamp: 0x51012eeb
Exception code: 0xc0000005
Fault offset: 0x0007c877
Faulting process id: 0x2260
Faulting application start time: 0x01da1291229d5d24
Faulting application path: E:\Director\CastRipperC\DirectorCastRipper.exe
Faulting module path: E:\Director\CastRipperC\xtras\Xtras\FirstParty\TextXtra.x32

The fault offset seems to be consistent between runs.

Here is part of the call stack shown in WinDbg, which shows that the Font and Font Asset Xtras are also involved:

006fcd94 61e5a338     031e0c34 1250e6f8 00000000 TextXtra+0x22ab0
006fcdb4 63037012     032118d8 1250e6f8 00000000 TextXtra+0xa338
006fd234 63037ba7     82eb6210 1250e6d8 1250e75c Font_Xtra+0x27012
006fd524 640e4fa3     12463aa4 dd014281 1250e6d8 Font_Xtra+0x27ba7
006fd7d8 640e57b1     1250e6d8 05b43b24 00000000 Font_Asset+0x4fa3
006fd868 64493254     12515224 1250a544 02b380c0 Font_Asset+0x57b1

The movie has a font cast member, lending credence to the theory that this is a bug in Director's font handling.