Bug OrbiterSound 4 Misteriouslt Crashes to Desktop on External View

Lisias

Space Traveller Wanna-be
Joined
May 31, 2015
Messages
346
Reaction score
3
Points
18
Website
www.youtube.com
Hi.

For some reason I not yet detected, OrbiterSound 4 is going CTD *every* time I use the External View. While in the cockpit, everything goes fine.

Initially I was thinking that the problem was some new MP3 on the Sound/mp3 directory, but the bug hunting revealed that MP3 was not the problem.

I managed to discover that once the CTD manifests itself, Orbiter will consistently CTD until you rename (or move out) the Sound directory and then run Orbiter. Of course, it will run without sound. But it will run fine.

Exiting Orbiter and restoring the Sound directory will re-enable Orbiter sounds, but trying to go to external view will CTD again - and you will need to rename Sound directory as explained above to run Orbiter again.

Debugging the crash on Visual Studio, it appears the the problem is triggered while copying some cstring from or to an invalid memory pointer (Exception 0xc0000005 - Access Violation):

> msvcr80.dll!strncpy(unsigned char * dest=0x00000000, unsigned char * source=0x00000095, unsigned long count=76181685) Line 169 Asm
orbiter.exe!0049537b()
[Frames below may be incorrect and/or missing, no symbols loaded for orbiter.exe]
OrbiterSound.dll!048a70b5()
dsound.dll!PostDevIoctl() + 0x55 bytes
00010306()

Further trial and error pinpointed the problem being on the Sound/Vessel direstory. I confirmed this by moving out all files from this directory and leaving it empty.

This prevented the CTD for now.

Further investigations, however, revealed that the problem wasn`t the wave files! In fact, the CTD is being triggered by the presence of ANY KIND OF FILE on the Sound/Vessel directory! I managed to trigger the problem just by creating an empty text file.

I don't have the slightest clue about why this CTD started to happens yesterday. My initial guess, the new MP3, was due the problem started to happens (or at least, I started to perceive it) after copying that new MP3. However, by getting rid of Sound/Vessel files, all the MP3 played correctly on Orbiter - so I'm ruling they out of the problem.

Anyone has the slightest idea about how to continue to pursue this matter?

EDIT:
I just remember I have a recent copy of this Orbiter installment on another computer. Using KDIFF on them I managed to find some different files, and I'm merging them back to see what's happens.

By rolling back Sound/cfg, I got the same CTD but with a slightly different callstack:

> msvcr80.dll!strncpy(unsigned char * dest=0x00000000, unsigned char * source=0x00000095, unsigned long count=76181685) Line 169 Asm
orbiter.exe!0049537b()
[Frames below may be incorrect and/or missing, no symbols loaded for orbiter.exe]
OrbiterSound.dll!048a70b5()
OrbiterSound.dll!048ac5e5()
orbiter.exe!00494e6f()
orbiter.exe!004175c3()
orbiter.exe!00419671()
orbiter.exe!0041c330()
orbiter.exe!0041c5e6()
orbiter.exe!004d34ef()
kernel32.dll!_BaseProcessStart@4() + 0x23 bytes

I also found some folks with this same problem:

http://orbiter-forum.com/showthread.php?t=33419

http://orbiter-forum.com/showthread.php?t=4520
 
Last edited:
Top