View Issue Details

IDProjectCategoryView StatusLast Update
0000507FSSCPuser interfacepublic2005-08-25 19:51
ReporterStratComm Assigned Totaylor  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Summary0000507: Game crashes loading a mission when mv_music.vp is used
DescriptionThe game hangs and dumps me with an error when loading "Return to Babel". Progress gets to somewhere between the 5th and 7th incriment on the loading bar (past model load, looking at a debug spew) and seems to happen while the game is loading ANIs. My first suspicion was pilot corruption, but it happens whether the mission is loaded as part of a campaign or a techroom mission, new or old pilot. Happens in all builds since (at least) 7-15-05.
Additional InformationLast Debug Spew:
ANI cursor.ani with size 24x24 (25.0% wasted)

errorlog entry:
fs2_open_G-20050722-dbg caused an Access Violation in module ntdll.dll at 001b:7c91888f.
Exception handler called in Freespace 2 Main Thread.
Error occurred at 8/13/2005 14:30:42.
C:\Games\FreeSpace2\fs2_open_G-20050722-dbg.exe, run by Clif.
1 processor(s), type 586.
1023 MBytes physical memory.
Read from location 153ca5f8 caused an access violation.

It also spit out this info once when the game had crashed.

---------------------------
Error
---------------------------
Marking limits invalid!
(0,372) to (0,372)
---------------------------
OK
---------------------------

1GB RAM
Raedon x800xt, 256MB VRAM
TagsNo tags attached.

Activities

taylor

2005-08-13 19:44

administrator   ~0002987

A pilot related problem should never crash during mission load. Usually if a pilot crashes it will be from the pilot select screen or in the briefing somewhere. Do note though that pilot corruption would affect a mission regardless of whether it's in played in campaign mode or from the techroom.

A debug build should give you some progress during load by printing it at the top of the screen. What you are describing sounds like a bmpman page in problem. What VPs and cmdline are you using? D3D or OGL?

Try http://icculus.org/~taylor/fso/willrobinson/20050812-win32.rar and see if you have the same problem. (this build likely has D3D issues but nothing that should crash on you)

StratComm

2005-08-13 20:06

reporter   ~0002988

Last edited: 2005-08-13 20:14

I always use OGL, but I actually tested this in both it and D3D. I have previously had pilot (or rather, campaign, but linked to the pilot) issues with this sort of thing that didn't crash until mission load ("corruption around variable 'tmp'" was what tipped me off to that, and it crashed any campaign-related mission from the techroom), though it turned out to be a different problem that hasn't reappeared. And I should note that I was able to play this mission once, get dumped out on warp-out, and haven't been able to get in since. Including extracting it from a fresh root.vp, renaming it so it isn't covered by the campaign, and creating a new pilot. I'm not really running any command lines that should be affecting this, but I'll list them anyway: -spec -glow -jpgtga -nomotiondebris -2d_poof -ship_choice_3d -3dwarp -snd_preload -alpha_env -ambient_factor 85

I don't know if any of those would contribute to bmpman problems though since they work everywhere else.

However, I will try this without adveffects, as there are a lot of shivan (animated glowmap) classes in that particular mission.

edited on: 08-13-05 16:14

taylor

2005-08-13 20:26

administrator   ~0002989

I don't think this would be related to the cmdline, just wanted it listed for future reference.

This is eerily familiar to me, given bugs 0000496 and 0000495. Are those two looking similar to you? Neither of those appear to be pilot related, model related (though they happen with particular models), D3D/OGL relate, or IBX related. They did start happening about the same time as the builds you are using though. I have a feeling that this is going to end up being the same thing.

Try with the build I listed, if you haven't already, and see if there is any difference.

StratComm

2005-08-13 21:18

reporter   ~0002990

I'm not seeing much similarity with 495, since it's happening before ship-select, but maybe. Eerily similar to 496 though, in that the mission was played once, left (that one due to quitting, this one to a crash) and the mission became unaccessable. Even happens with no mv*.vp, command lines, and new pilots.

What's more eerie about it though is that I can copy basically the vp's and /data (including pilots) to a fresh install and run from there, only to have it work perfectly. It still happens reliably on my main install, but I can't reproduce it in my backup copy. Unless something in the stock VPs got corrupted with the crash, or something that I haven't tried moving yet (older SCP builds, mod directories, etc) is interfering somehow.

StratComm

2005-08-13 21:26

reporter   ~0002991

Last edited: 2005-08-13 21:28

Ok, so I got it figured out. How I haven't yet run in to this yet or elsewhere, I don't know. It's mv_music, which I could have sworn I uninstalled on at least one occasion already, but which somehow made it back in to the main directory and wasn't grouped with my vp files. I apologize. Please go ahead and close this, unless .ogg support is supposed to be working.

Doesn't really explain why it worked until it crashed once though, or why other missions involving those tracks don't fail.

edited on: 08-13-05 17:27

edited on: 08-13-05 17:28

taylor

2005-08-13 21:38

administrator   ~0002992

OGG is supposed to be working perfectly now.

StratComm

2005-08-13 21:46

reporter   ~0002993

Last edited: 2005-08-13 21:52

Let me see what happens if I install a fresh copy of mv_music.

Nope, still no good. Looks like .ogg is still a little bit off. Also, it turns out that I can play no missions involving the Joshua or Revelations tracks now. Go figure. At least now I know what's wrong and can get around it.

edited on: 08-13-05 17:52

taylor

2005-08-14 00:08

administrator   ~0002994

Hmm, did this just start being a problem with the 20050722 build or my earlier ones too? Every OGG fix went in before July except one. My 20050622 build should have all of the fixes except for that one which was added in on 0720. That one had mainly caused problems for the soundtracks you list but I thought I had fixed it.

If you want to know for sure just extract the contents of mv_music.vp, delete any .tbm file and see if it still crashes. If it doesn't crash then there is still something wrong with my earlier fix which should have solved the -mus.tbm problem.

StratComm

2005-08-15 21:36

reporter   ~0003002

Last edited: 2005-08-15 21:44

Well, I was able to play the mission ONCE with Goober's 7-15-05 build, which I assume had ogg fixes in. It still appears though in the build you linked here, so it spans that time. The trouble is, the mission causing the problem is also a nebula mission, so if I go back to the next oldest build I have (thanks to my super-slow summer internet connection) I'm in the range of the crash from being a nebula mission as well as the original ogg-not-working issue.

I don't think my mv_music is tabular. Nope, it's got the full music.tbl in there.

In order to check this out any further on my end, it's going to have to sit for a week or so. I'm moving back to school next Tuesday, where I will have access to a T1+ connection and can actually download the latest mv_music.vp in finite time.

edited on: 08-15-05 17:44

Kazan

2005-08-17 01:12

developer   ~0003007

does this still crash? I was expiriencing a crash related to memory allocation and fixed it..

taylor

2005-08-21 12:41

administrator   ~0003075

I have still not been able to reproduce any OGG problems in the Linux build. That would likely indicate that it's just a problem with the DirectSound streaming code. I gave it a look but didn't see anything in particular that was wrong.

Just as a test I'm going to post a link here (later today) to a OpenAL build of current CVS for you StratComm. Give that test and see if there is any difference. If it works then we'll know that the problem is specific that that peice of code and not something in eventmusic or elsewhere like the last OGG related VP problem was.

taylor

2005-08-23 09:21

administrator   ~0003101

Try this: http://icculus.org/~taylor/fso/willrobinson/20050823-win32r.rar

It's two release builds, one that uses DirectSound, one that uses OpenAL. Try both of them and see if it's still crashing when you use mv_music.vp.

StratComm

2005-08-25 16:51

reporter   ~0003168

Last edited: 2005-08-25 16:52

Sorry, I almost got to this on Tuesday. The OAL build works, the DS one does not. That build also crashes out without error as opposed to the normal windows error when loading a suspect mission. This is the error in the errorlog:
fs2_open_T-20050823-DS caused a No Memory in module ntdll.dll at 001b:7c93bc9d

edited on: 08-25-05 12:52

taylor

2005-08-25 17:19

administrator   ~0003172

Alright, that's all I needed to know. The bug is deffinitely in the DS code then. I'll go over it in more detail and try to figure out what's different. The OAL code doesn't have to jump through as many hoops as the DS code does so when I fixed the OAL side I must have missed doing something that the DS side needed.

taylor

2005-08-25 19:50

administrator   ~0003173

Got it. By looking over the code I saw one possible problem spot, dropped in an Assert() and it got hit. I had actually had this problem with the OAL code too (in theory, I figured it might happen and preempted it) but had assumed that the DS side already accounted for it. The code in question is reference stuff from Microsoft which Volition had used so the Linux user in me is incredibly happy that I can blame this on Microsoft coding. :D

The deal is this, m_cbBufSize is the amount of data that we wish for in a read and that data is stored in a malloc'd buffer called Wavedata_buffer of the size BIGBUF_SIZE. Because of the amount of data that an OGG can put out at any given time it's possible for m_cbBufSize to be larger than BIGBUF_SIZE. That's bad of course and I made sure to cap it in the OAL code. The DS code wasn't so lucky.

So, just took a one liner to fix it. I'll get it in CVS shortly and OGGs (and mv_music) should work once more, for the first time. :)

taylor

2005-08-25 19:51

administrator   ~0003174

Fixered.

Issue History

Date Modified Username Field Change
2005-08-13 18:15 StratComm New Issue
2005-08-13 19:44 taylor Note Added: 0002987
2005-08-13 20:06 StratComm Note Added: 0002988
2005-08-13 20:14 StratComm Note Edited: 0002988
2005-08-13 20:26 taylor Note Added: 0002989
2005-08-13 21:18 StratComm Note Added: 0002990
2005-08-13 21:26 StratComm Note Added: 0002991
2005-08-13 21:27 StratComm Note Edited: 0002991
2005-08-13 21:28 StratComm Note Edited: 0002991
2005-08-13 21:38 taylor Note Added: 0002992
2005-08-13 21:46 StratComm Note Added: 0002993
2005-08-13 21:51 StratComm Note Edited: 0002993
2005-08-13 21:52 StratComm Note Edited: 0002993
2005-08-14 00:08 taylor Note Added: 0002994
2005-08-15 06:05 taylor Summary Game crashes loading SM3-03 (Return to Babel) => Game crashes loading a mission when mv_music.vp is used
2005-08-15 06:05 taylor Status new => assigned
2005-08-15 06:05 taylor Assigned To => taylor
2005-08-15 21:36 StratComm Note Added: 0003002
2005-08-15 21:38 StratComm Note Edited: 0003002
2005-08-15 21:44 StratComm Note Edited: 0003002
2005-08-17 01:12 Kazan Note Added: 0003007
2005-08-21 12:41 taylor Note Added: 0003075
2005-08-23 09:21 taylor Note Added: 0003101
2005-08-25 16:51 StratComm Note Added: 0003168
2005-08-25 16:52 StratComm Note Edited: 0003168
2005-08-25 17:19 taylor Note Added: 0003172
2005-08-25 19:50 taylor Note Added: 0003173
2005-08-25 19:51 taylor Status assigned => resolved
2005-08-25 19:51 taylor Resolution open => fixed
2005-08-25 19:51 taylor Note Added: 0003174