[hotcues]When set hotcue position, mixxx crashed

Bug #706046 reported by Mobaladje
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Undecided
RJ Skerry-Ryan

Bug Description

Mixxx 1.9.0beta1
Windows XP SP3
Intel Core 2 Duo E5200
Audio DJ2
ATI Radeon HD4850

In a midi script :
engine.setValue(group, 'hotcue_1_activate', 1);
engine.setValue(group, 'hotcue_1_position',value); // value could be anything from 0 to track samples number

When the script is executed, mixxx craches (see screen capture) about once every 5 tries.

Log :
Debug: [Main]: Mixxx 1.9.0beta1 "(bzr r2618; built on: Dec 5 2010 @ 08:04:44; flags: hifieq hss1394 midiscript optimize qdebug shoutcast vinylcontrol) " is starting...
Debug: [Main]: Qt version is: 4.7.1
Debug: [Main]: Configuration file is at the current version 1.9.0beta1
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel1]" , "volume" )
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel2]" , "volume" )
Debug: [Main]: ("QSQLITE")
Debug: [Main]: src\library\trackcollection.cpp DB status: true
Debug: [Main]: QSqlError(-1, "", "")
Debug: [Main]: SchemaManager::upgradeToSchemaVersion already at version 8
Debug: [Main]: TrackDAO::initialize QThread(0x1dec9e0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: CrateDAO::initialize()
Debug: [Main]: CueDAO::initialize QThread(0x1dec9e0, name = "Main") "qt_sql_default_connection"
Debug: [Main]: Created MissingTracksModel!
Debug: [Main]: Promo dir: "C:/Program Files/Mixxx//promo/1.8.0/index.html"
Debug: [Main]: ITunesLibrary=[ "C:\Documents and Settings\Moba\Mes documents\Ma musique\iTunes\iTunes Music Library.xml" ]
Warning: [Main]: Object::connect: No such slot SamplerBank::loadSamplerBank(double) in src\samplerbank.cpp:16
Warning: [Main]: Object::connect: No such slot SamplerBank::saveSamplerBank(double) in src\samplerbank.cpp:18
Debug: [Main]: ControlObject::getControl returning NULL for ( "[ReplayGain]" , "InitialReplayGainBoost" )
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Mixer Profile]" , "LoEQFrequency" )
Debug: [Main]: Setting "[Channel1]" "filterLowKill" as toggle
Debug: [Main]: Setting "[Channel1]" "filterMidKill" as toggle
Debug: [Main]: Setting "[Channel1]" "filterHighKill" as toggle
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Flanger]" , "lfoDepth" )
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Flanger]" , "lfoDelay" )
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Flanger]" , "lfoPeriod" )
Debug: [Main]: Setting "[Channel1]" "flanger" as toggle
Debug: [Main]: Setting "[Channel1]" "play" as toggle
Debug: [Main]: Setting "[Channel1]" "repeat" as toggle
Debug: [Main]: CachingReader using 4980736 bytes.
Debug: [Main]: Setting "[Channel1]" "keylock" as toggle
Debug: [Main]: Setting "[Channel1]" "pfl" as toggle
Debug: [Main]: Setting "[Channel2]" "filterLowKill" as toggle
Debug: [Main]: Setting "[Channel2]" "filterMidKill" as toggle
Debug: [Main]: Setting "[Channel2]" "filterHighKill" as toggle
Debug: [Main]: Setting "[Channel2]" "flanger" as toggle
Debug: [Main]: Setting "[Channel2]" "play" as toggle
Debug: [Main]: Setting "[Channel2]" "repeat" as toggle
Debug: [Main]: CachingReader using 4980736 bytes.
Debug: [Main]: Setting "[Channel2]" "keylock" as toggle
Debug: [Main]: Setting "[Channel2]" "pfl" as toggle
Debug: [Main]: Constructed LibraryScanner
Debug: [Main]: iTunes Album Art path is: "C:/Documents and Settings/Moba/Mes documents/Ma musique/iTunes/Album Artwork"
Debug: [Main]: Could not read "C:/Documents and Settings/Moba/Local Settings/Application Data/Mixxx/midi/MixxxMIDIDevices"
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: Scanning PortMIDI devices:
Debug: [Main]: Found output device # 0 Mappeur MIDI Microsoft
Debug: [Main]: Found output device # 2 Périphérique audio USB
Debug: [Main]: Found output device # 3 Synthé. SW table de sons GS Mic
Debug: [Main]: Found input device # 1 Périphérique audio USB
Debug: [Main]: Linking to output device # 2 "Périphérique audio USB"
Debug: [Main]: Starting script engine with output device ""
Debug: [MidiScriptEngine 1]: MIDI Device in script engine is: ""
Debug: [Main]: Scanning HSS1394 devices:
Debug: [Main]: Nodes detected: 0
Debug: [Main]: MidiDeviceManager: Setting up devices
Debug: [Main]: PortMIDI device "1. Périphérique audio USB" already closed
Debug: [Main]: MidiMapping: Loading MIDI preset from "C:/Documents and Settings/Moba/Local Settings/Application Data/Mixxx/midi/Périphérique_audio_USB.midi.xml"
Debug: [Main]: MidiOutputMappingTableModel::removeRows()
Debug: [Main]: "Périphérique audio USB" settings found
Debug: [MidiScriptEngine 1]: MidiScriptEngine: Loading & evaluating all MIDI script code
Debug: [MidiScriptEngine 1]: MidiScriptEngine: Loading "C:/Program Files/Mixxx/midi/midi-mappings-scripts.js"
Debug: [MidiScriptEngine 1]: MidiScriptEngine: Loading "C:/Program Files/Mixxx/midi/Denon-DN-SC2000.midi.js"
Debug: [Main]: MidiMapping: Input parsed!
Debug: [Main]: MidiMapping: Output parsed!
Debug: [Main]: Opening Device: "1._Périphérique_audio_USB"
Debug: [Main]: MidiMapping::applyPreset()
Debug: [Main]: MidiMapping: Processing MIDI Output Bindings for "Périphérique audio USB"
Debug: [Main]: Promo dir: "C:/Program Files/Mixxx//promo/1.8.0/index.html"
Debug: [Main]: loadSettings: 1 0 "SlowFade"
Debug: [Main]: slotApply crossfader: 1 "SlowFade"
Debug: [Main]: BpmSchemes::readXML "C:/Documents and Settings/Moba/Local Settings/Application Data/Mixxx/mixxxbpmscheme.xml"
Debug: [Main]: BPM Scheme Parse error in "C:/Documents and Settings/Moba/Local Settings/Application Data/Mixxx/mixxxbpmscheme.xml"
Debug: [Main]: Doctype: ""
Debug: [Main]: "error occurred while parsing element" on line 1 , column 1
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: MidiDeviceManager::getDeviceList
Debug: [Main]: SoundManager::setupDevices()
Debug: [Main]: Building timecode lookup tables...
Debug: [Main]: Starting vinyl control xwax thread
Debug: [Main]: Building timecode lookup tables...
Debug: [Main]: Starting vinyl control xwax thread
Debug: [Main]: SoundDevicePortAudio::open() "9, Realtek HD Audio output"
Debug: [Main]: m_dSampleRate 48000
Debug: [Main]: framesPerBuffer: 2048
Debug: [Main]: latency in milliseconds: 42.6667
Debug: [Main]: output channels: 2 | input channels: 0
Debug: [Main]: Opening stream with id 9
Debug: [Main]: Opened PortAudio stream successfully... starting
Debug: [Main]: PortAudio: Started stream successfully
Debug: [Main]: iNumDevicesOpenedForOutput: 1
Debug: [Main]: iNumDevicesOpenedForInput: 0
Debug: [Main]: Legacy can parse: true
Debug: [Main]: PlaylistTableModel::setPlaylist 1
Debug: [Main]: WTrackTableView::loadTrackModel() PlaylistTableModel(0x583bee8)
Debug: [Main]: WTrackTableView::loadTrackModel() PrepareLibraryTableModel(0x589b340)
Debug: [Main]: MixxxLibraryFeature::activate()
Debug: [Main]: WTrackTableView::loadTrackModel() LibraryTableModel(0x319c4e8)
Debug: [Main]: WLibrary::switchToView "WTrackTableView"
Debug: [Main]: WSearchLineEdit::restoreSearch( "" )
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Making new GL context.
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Sharing existing GL context.
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel1]" , "hotcue_33_position" )
Debug: [Main]: ControlObject::getControl returning NULL for ( "[Channel2]" , "hotcue_33_position" )
Warning: [Main]: WPushButton for control "[Channel1],hotcue_1_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel1],hotcue_2_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel1],hotcue_3_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel1],hotcue_4_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel2],hotcue_1_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel2],hotcue_2_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel2],hotcue_3_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel2],hotcue_4_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel1],loop_enabled" is null, skipping.
Warning: [Main]: WPushButton for control "[Channel2],loop_enabled" is null, skipping.
Debug: [Main]: Displaying mixxx
Debug: [Main]: Running Mixxx
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Warning: [Main]: QGLShader::link: "Vertex shader(s) linked, fragment shader(s) linked.
"
Debug: [Main]: Track Played: "A Tribe Called Quest" - "Show Business"
Fatal: []: ASSERT: "position % 2 == 0" in file src\library\dao\cue.cpp, line 89
Warning: []: QObject::killTimer: timers cannot be stopped from another thread
Warning: []: QObject::killTimers: timers cannot be stopped from another thread

Revision history for this message
Mobaladje (emo-dav) wrote :
Revision history for this message
Mobaladje (emo-dav) wrote :

This is the midi script I use. The bug happens in the "DenonDNSC2000.hotcue" method.

Revision history for this message
Phillip Whelan (pwhelan) wrote :

Position must be an even number since we use stereo interleaved samples.

Revision history for this message
Mobaladje (emo-dav) wrote : Re: [Bug 706046] Re: [hotcues]When set hotcue position, mixxx crashed

Ok. Thanks for the information.
Is it the same for the start and end position of a loop ?

2011/1/26 Phillip Whelan <email address hidden>:
> Position must be an even number since we use stereo interleaved samples.
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/706046
>
> Title:
>  [hotcues]When set hotcue position, mixxx crashed
>

Revision history for this message
Phillip Whelan (pwhelan) wrote :

This is true for all positions described as a sample offset in mixxx, including the beginning and ending of loops.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

That said, I'm adding some safety checks to make sure we dont ASSERT due to a MIDI script setting an odd sample.

Changed in mixxx:
status: New → Fix Committed
assignee: nobody → RJ Ryan (rryan)
milestone: none → 1.9.1
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/5755

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.