I've been looking at a bug in the latest trunk for the last couple of days now.

The error I'm encountering is:

Debug: Updating dirhash to mark as existing failed: QSqlError(5, "Unable to fetch row", "database is locked")

This doesnt appear to happen until after the reboot gui, and syntoms appear to be
affecting the library scanner primarily.

Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash exists 111800979 "/media/bigdisk/Music/Merengue/Urbano - Elvis Crespo - Full Album" Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Sharing existing GL context.
Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash exists 199477587 "/media/bigdisk/Music/Merengue/Projecto Uno - 20 Exitos Disc 2" Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#00ff00"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#0000ff"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: createWaveformViewer()
Debug: [Main]: WaveformViewerFactory :: Creating new visual waveform
Debug: [Main]: WaveformViewerFactory :: Sharing existing GL context.
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#00ff00"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: Didn't get mark Color, using parent's MarkerColor: "#ff0000"
Debug: [Main]: Didn't get mark TextColor, using parent's BgColor: "#ffffff"
Debug: [Main]: rebootgui DONE
Debug: [Main]: Displaying mixxx
Debug: [Main]: Running Mixxx
Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash exists 106187891 "/media/bigdisk/Music/Merengue/Grupo Mania - 15 AÃ<83>±os De Corazon" Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: Updating dirhash to mark as existing failed: QSqlError(5, "Unable to fetch row", "database is locked") Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash exists 121597555 "/media/bigdisk/Music/Merengue/Wow Flash! - Elvis Crespo - Full Album" Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: Updating dirhash to mark as existing failed: QSqlError(5, "Unable to fetch row", "database is locked") Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash exists 115999859 "/media/bigdisk/Music/Merengue/Johnny Ventura - 20th Anniversary" Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: Updating dirhash to mark as existing failed: QSqlError(5, "Unable to fetch row", "database is locked") Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: prev hash exists 0 "/media/bigdisk/Music/African"
Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: Updating dirhash to mark as existing failed: QSqlError(5, "Unable to fetch row", "database is locked") Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash exists 10425431 "/media/bigdisk/Music/African/Habib KoitÃ<83>© & Bamada - Africi" Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: Updating dirhash to mark as existing failed: QSqlError(5, "Unable to fetch row", "database is locked")

Later in the process, the problem mysteriously resolves itself:

Debug: [LibraryScanner 1]: prev hash exists 91738355 "/media/bigdisk/Music/salsa/d-f/Ecos de Siboney - Saludo Compay" Debug: [LibraryScanner 1]: LibraryHashDAO::markExisting LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: Updating dirhash to mark as existing failed: QSqlError(5, "Unable to fetch row", "database is locked") Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash does not exist "/media/bigdisk/Music/salsa/d-f/Domingo QuiÃ<83>±ones - Greatest Hits" Debug: [LibraryScanner 1]: LibraryHashDAO::saveDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: Creating new dirhash failed: QSqlError(5, "Unable to fetch row", "database is locked")
Debug: [LibraryScanner 1]: created new hash 202925587
Debug: [LibraryScanner 1]: TrackCollection::importDirectory( "/media/bigdisk/Music/salsa/d-f/Domingo QuiÃ<83>±ones - Greatest Hits" )
Debug: [LibraryScanner 1]: Track -1 set dirty
Debug: [LibraryScanner 1]: ParseHeader( "Greatest Hits - 01 - Si Te Hubiera Conocido Ayer.mp3" )
Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Saving cues took  0 ms
Debug: [LibraryScanner 1]: Deleting cues took  0 ms
Debug: [LibraryScanner 1]: Track 2376 set clean
Debug: [LibraryScanner 1]: Commit
Debug: [LibraryScanner 1]: addTrack took 5123 ms
Debug: [LibraryScanner 1]: Track -1 set dirty
Debug: [LibraryScanner 1]: ParseHeader( "Greatest Hits - 02 - EscalofrÃ<83>­o.mp3" )
Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Saving cues took  0 ms
Debug: [LibraryScanner 1]: Deleting cues took  0 ms
Debug: [LibraryScanner 1]: Track 2377 set clean
Debug: [LibraryScanner 1]: Commit
Debug: [LibraryScanner 1]: addTrack took 5034 ms
Debug: [LibraryScanner 1]: Track -1 set dirty
Debug: [LibraryScanner 1]: ParseHeader( "Greatest Hits - 03 - Dos Amigos.mp3" )
Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Saving cues took  0 ms
Debug: [LibraryScanner 1]: Deleting cues took  0 ms
Debug: [LibraryScanner 1]: Track 2378 set clean
Debug: [LibraryScanner 1]: Commit
Debug: [LibraryScanner 1]: addTrack took 5008 ms
Debug: [LibraryScanner 1]: Track -1 set dirty
Debug: [LibraryScanner 1]: ParseHeader( "Greatest Hits - 04 - EnseÃ<83>±ame.mp3" )
Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Saving cues took  0 ms
Debug: [LibraryScanner 1]: Deleting cues took  0 ms

....

Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Saving cues took  0 ms
Debug: [LibraryScanner 1]: Deleting cues took  0 ms
Debug: [LibraryScanner 1]: Track 2386 set clean
Debug: [LibraryScanner 1]: Commit
Debug: [LibraryScanner 1]: addTrack took 5010 ms
Debug: [LibraryScanner 1]: LibraryHashDAO::getDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER" Debug: [LibraryScanner 1]: prev hash does not exist "/media/bigdisk/Music/salsa/d-f/El Gran Combo" Debug: [LibraryScanner 1]: LibraryHashDAO::saveDirectoryHash LibraryScanner(0x8e8a8b0, name = "LibraryScanner 1") "LIBRARY_SCANNER"
Debug: [LibraryScanner 1]: created new hash 149319315
Debug: [LibraryScanner 1]: TrackCollection::importDirectory( "/media/bigdisk/Music/salsa/d-f/El Gran Combo" )
Debug: [LibraryScanner 1]: Track -1 set dirty
Debug: [LibraryScanner 1]: ParseHeader( "El Gran Combo - LosTenis - SALSA.mp3" )
Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Saving cues took  0 ms
Debug: [LibraryScanner 1]: Deleting cues took  0 ms
Debug: [LibraryScanner 1]: Track 2387 set clean
Debug: [LibraryScanner 1]: Commit
Debug: [LibraryScanner 1]: addTrack took 5134 ms
Debug: [LibraryScanner 1]: Track -1 set dirty
Debug: [LibraryScanner 1]: ParseHeader( "El Gran Combo - Me Libere (salsa).MP3" )
Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Saving cues took  0 ms
Debug: [LibraryScanner 1]: Deleting cues took  0 ms
Debug: [LibraryScanner 1]: Track 2388 set clean
Debug: [LibraryScanner 1]: Commit
Debug: [LibraryScanner 1]: addTrack took 5010 ms
Debug: [LibraryScanner 1]: Track -1 set dirty

If mixxx gets to this stage, it will exit cleanly. If not, it hangs.

Debug: [LibraryScanner 1]: Track 3065 set clean
Debug: [Main]: Cancelling library scan...
Debug: [LibraryScanner 1]: Commit
Debug: [LibraryScanner 1]: addTrack took 5009 ms
Debug: [LibraryScanner 1]: Recursive scan interrupted.
Debug: [LibraryScanner 1]: Transaction Started
Debug: [LibraryScanner 1]: Rollback
Debug: [LibraryScanner 1]: Scan cancelled
Debug: [LibraryScanner 1]: Scan took: 4654377 ms
Debug: [Main]: select()
Debug: [Main]: idColumn 0
Debug: [Main]: select()
Debug: [Main]: idColumn 0
Debug: [Main]: Destroying MixxxApp
Debug: [Main]: save config,  1
Debug: [Main]: close soundmanager 3
Debug: [Main]: soundmanager->close() done
Debug: [Main]: delete MidiDeviceManager
Debug: [Main]: Closing MIDI device "1. Midi Through Port-0"
Debug: [Main]: PortMIDI device "1. Midi Through Port-0" already closed
Debug: [Main]: delete soundmanager,  73
Debug: [Main]: delete master,  74
Debug: [Main]: in ~EngineMaster()
Debug: [Main]: delete channel1,  74
Debug: [Main]: delete channel2,  74
Debug: [Main]: delete buffer1,  75
Debug: [Main]: delete buffer2,  75
Debug: [Main]: delete view,  75
Debug: [Main]: ~WLibraryTableView
Debug: [Main]: ~WLibraryTableView
Debug: [Main]: ~WLibraryTableView
Debug: [Main]: ~WLibraryTableView
Debug: [Main]: delete library scanner 477
Debug: [Main]: Select directory_path FROM LibraryHashes WHERE directory_deleted=1
Debug: [Main]: LibraryScanner destroyed
Debug: [Main]: delete library 479
Debug: [Main]: Rollback
Debug: [Main]: TrackCollection destroyed
Debug: [Main]: delete config,  540
Debug: [Main]: Mixxx shutdown complete.

I'm going to keep looking, but if this info helps anyone else who might be looking into the problem, then they might find the answer before I do. You might notice I added a
few extra debug statements. The rest of the code is still as per the trunk.
------------------------------------------------------------------------------

_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to