MS Visual C++ Runtime Error at Timecode LUT Generation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
High
|
Albert Santoni | ||
1.7 |
Fix Released
|
High
|
Albert Santoni |
Bug Description
We've definitely seen this bug come up before. There's some sort of race condition or something that can cause Mixxx to bomb at the following point, but I've had this magically disappear on me before:
Paste from Monstamash on IRC:
Debug: [Main]: Setting up plugin paths...
Debug: [Main]: ...done.
Debug: [Main]: Mixxx 1.7.0-beta1 "(svn 2412; built on: May 12 2009 @ 08:22:57) " is starting...
Debug: [Main]: Creating new settings directory "C:/Users/
Debug: [Main]: No version number in configuration file. Setting to 1.7.0-beta1
Debug: [Main]: ControlObject:
Debug: [Main]: SampleRate 44100
Debug: [Main]: Latency 49
Debug: [Main]: createWaveformV
Debug: [Main]: WaveformViewerF
Debug: [Main]: WaveformViewerF
Debug: [Main]: WaveformRendere
Debug: [Main]: Got bgColor QColor(ARGB 1, 0.101961, 0.101961, 0.101961)
Debug: [Main]: Got signalColor QColor(ARGB 1, 0.819608, 0.819608, 0.819608)
Debug: [Main]: createWaveformV
Debug: [Main]: WaveformViewerF
Debug: [Main]: WaveformViewerF
Debug: [Main]: WaveformRendere
Debug: [Main]: Got bgColor QColor(ARGB 1, 0.101961, 0.101961, 0.101961)
Debug: [Main]: Got signalColor QColor(ARGB 1, 0.819608, 0.819608, 0.819608)
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "Compress" not found (required by preset "Compressor" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "delay_5s" not found (required by preset "Delay5s" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "djFlanger" not found (required by preset "DJFlanger" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "karaoke" not found (required by preset "Karaoke" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "Plate2x2" not found (required by preset "PlateReverb" )
Debug: [Main]: Setting up LADSPA EnableEffect "0"
Debug: [Main]: Key string: "EnableEffect0"
Debug: [Main]: Setting up LADSPA EnableEffect "1"
Debug: [Main]: Key string: "EnableEffect1"
Debug: [Main]: Setting up LADSPA EnableEffect "2"
Debug: [Main]: Key string: "EnableEffect2"
Debug: [Main]: Loading playlists and library tracks from XML...
Debug: [Main]: Track::readXML "C:/Users/
Debug: [Main]: playlist name "Default 2"
Debug: [Main]: playlist name "Default 1"
Debug: [Main]: Promo track directory does not exist: "C:/Users/
Debug: [Main]: Constructed LibraryScanner!!!
Debug: [Main]: FIXME: Need to tell the m_pPlaylistList
Debug: [Main]: Starting Library Scanner...
Debug: [Main]: Trying to add 1112 songs to the library playlist
Debug: [Main]: Adjusting column widths: tracktable width = 100 1% of that is: 1 FIXME: this should be done when initalizing the skin.
Debug: [Main]: Shrinking Title/Comment for small screen...
Debug: [Main]: FIXME: repaintEverything switches table model and shouldn't do that when viewing the playlist model in src\wtracktable
Debug: [Main]: selectedAPI is: "Windows DirectSound"
Debug: [Main]: loadSettings: 9 100 "FastCut"
Debug: [Main]: slotApply crossfader: 9 "FastCut"
Debug: [Main]: BPM Scheme File ConfigKey not set or file missing... setting to "C:/Users/
Debug: [Main]: BpmSchemes::readXML "C:/Users/
Debug: [Main]: getting midi device list, size 0 and: ""
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "Compress" not found (required by preset "Compressor" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "delay_5s" not found (required by preset "Delay5s" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "djFlanger" not found (required by preset "DJFlanger" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "karaoke" not found (required by preset "Karaoke" )
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: file "C:/Users/
Debug: [Main]: LADSPA: Plugin "Plate2x2" not found (required by preset "PlateReverb" )
Debug: [Main]: Setting up LADSPA EnableEffect "0"
Debug: [Main]: Key string: "EnableEffect0"
Debug: [Main]: Setting up LADSPA EnableEffect "1"
Debug: [Main]: Key string: "EnableEffect1"
Debug: [Main]: Setting up LADSPA EnableEffect "2"
Debug: [Main]: Key string: "EnableEffect2"
Debug: [Main]: SoundManager:
Debug: [Main]: Building timecode lookup tables...
Debug: [Main]: Building timecode lookup tables...
This is fairly important to try and fix, since this could be making up a fair number of our crash-on-startup and even crash-on-
Changed in mixxx: | |
status: | Confirmed → Fix Committed |
Changed in mixxx: | |
status: | Confirmed → Fix Committed |
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
So Adam cracked this one:
<adam_d> i just had a quick look at this build_lookup_tables thing
def = &timecode_def[0]
<adam_d> it accesses this static list of definitions
<adam_d> and then does a load of stuff
which modifies that pointer
like it mallocs the table
<adam_d> and sets def->lookup to be a pointer to something
and then modifies def->lookup[i]
if you run two of these at once, they're both going to be fighting over the same lookup table
Looking back, the problem's pretty clear now. It's going to be a decent amount of coding to fix it up though. I'll get on this before the next beta...