Mixxx crashed with external USB Device

Bug #1760171 reported by Fabzgy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Expired
Critical
Unassigned
2.1
Expired
Critical
Unassigned

Bug Description

I have been DJ ing with an external USB audio device. All went fine for 3,5 hours but eventually Mixx froze and the external USB device was not usable. Even after reconnecting and restarting Mixxx I was not able to use the device again.

I am using Xubuntu 16.04 and "Mixxx" "2.1.0-beta1" "(git 2.1 r6544; built on: Mar 25 2018 @ 19:33:45; flags: asan=0 asmlib=0 battery=1 buildtime=1 bulk=1 color=0 coreaudio=0 faad=0 ffmpeg=0 hid=1 hss1394=0 ipod=0 localecompare=1 macappstore=0 mad=1 mediafoundation=0 modplug=0 opengles=0 optimize=portable opus=1 perftools=0 perftools_profiler=0 profiling=0 qdebug=1 qt_sqlite_plugin=0 qtkeychain=0 shoutcast=1 test=False tsan=0 ubsan=0 vamp=1 verbose=1 vinylcontrol=1 wv=0)" is starting...

Here are the logs from my installation:

Debug [Main]: SoundSourceProxy - SoundSourceProvider "MAD: MPEG Audio Decoder" created a SoundSource for file "file:///home/user/Documents/musik/musik/Gordurinha/Se chovesse no Nordeste - Gordurina - FID01158.mp3" of type "mp3"
Debug [Main]: BaseTrackCache(0x4434520) updateIndexWithQuery took 0 ms
Debug [Main]: WCoverArt::slotCoverFound WCoverArt(0xdc7d5f0) "CoverInfoRelative(NONE,GUESSED,,0x0)" QSize(0, 0)
Debug [CachingReaderWorker 1]: SoundSourceMP3 - Retry decoding MP3 frame @ 8244864
Debug [CachingReaderWorker 1]: SoundSourceMP3 - Recoverable MP3 frame decoding error: lost synchronization
Debug [Main]: DBus screensaver org.freedesktop.ScreenSaver uninhibited
Debug [Main]: Destroying MixxxMainWindow
Debug [Main]: 4 ms saving configuration
Debug [Main]: 5 ms deleting skin
Debug [Main]: ~DlgAutoDJ()
Debug [Main]: 710 ms deleting menubar
Debug [Main]: 711 ms deleting SoundManager
Debug [Main]: 731 ms deleting ControllerManager
Debug [Controller]: Controller polling stopped.
Debug [Controller]: Deleting PortMIDI devices...
Debug [Controller]: ControllerEngine shutting down...
Debug [Controller]: Deleting USB Bulk devices...
Debug [Controller]: Deleting HID devices...
Debug [Main]: 740 ms deleting VinylControlManager
Debug [Main]: ~CoverArtCache()
Debug [Main]: 743 ms deleting PlayerManager
Debug [AnalyzerQueue 1]: DbConnection - Closing database connection: "MIXXX-3" QSqlDatabase(driver=""QSQLITE"", database=""/home/user/.mixxx/mixxxdb.sqlite"", host=""localhost"", port=-1, user=""mixxx"", open=true)
Debug [AnalyzerQueue 1]: AnalyzerQueue - Exiting thread
Debug [Main]: AnalyzerWaveform - ~AnalyzerWaveform():
Debug [Main]: 749032135 ns deactivating GlobalTrackCache
Debug [Main]: TrackDAO: Saving track 6531 "/home/user/Documents/musik/musik/Gordurinha/Faroleiro - Gordurinha - FID01023.mp3"
Debug [Main]: TrackDAO: Updating track in database 6531 "/home/user/Documents/musik/musik/Gordurinha/Faroleiro - Gordurinha - FID01023.mp3"
Debug [Main]: SqlTransaction - Started new SQL database transaction on "MIXXX-1"
Debug [Main]: SqlTransaction - Committed SQL database transaction on "MIXXX-1"
Debug [Main]: BaseTrackCache(0x4434520) updateIndexWithQuery took 0 ms
Debug [Main]: TrackDAO: Saving track 3729 "/home/user/Documents/musik/musik/Gordurinha/Fornalha - Gordurinha - FID00865.mp3"
Debug [Main]: TrackDAO: Updating track in database 3729 "/home/user/Documents/musik/musik/Gordurinha/Fornalha - Gordurinha - FID00865.mp3"
Debug [Main]: SqlTransaction - Started new SQL database transaction on "MIXXX-1"
Debug [Main]: SqlTransaction - Committed SQL database transaction on "MIXXX-1"
Debug [Main]: BaseTrackCache(0x4434520) updateIndexWithQuery took 0 ms
Debug [Main]: 792 ms deleting Library
Debug [Main]: Wait to finish browser background thread
Debug [Main]: Browser background thread terminated!
Debug [Main]: Library - Disconnecting database
Debug [Main]: TrackDAO::finish()
Debug [Main]: Clearing played information for this session
Debug [Main]: Cleaning LibraryHashes/track_locations tables.
Debug [Main]: SqlTransaction - Started new SQL database transaction on "MIXXX-1"
Debug [Main]: SqlTransaction - Committed SQL database transaction on "MIXXX-1"
Debug [Main]: TrackCollection - ~TrackCollection()
Debug [Main]: ~TrackDAO()
Debug [LibraryScanner 1]: LibraryScanner - Event loop stopped
Debug [LibraryScanner 1]: DbConnection - Closing database connection: "MIXXX-2" QSqlDatabase(driver=""QSQLITE"", database=""/home/user/.mixxx/mixxxdb.sqlite"", host=""localhost"", port=-1, user=""mixxx"", open=true)
Warning [LibraryScanner 1]: QSqlDatabasePrivate::removeDatabase: connection 'MIXXX-2' is still in use, all queries will cease to work.
Debug [LibraryScanner 1]: LibraryScanner - Exiting thread
Debug [Main]: ~TrackDAO()
Debug [Main]: 862 ms closing database connection(s)
Debug [Main]: DbConnection - Closing database connection: "MIXXX-1" QSqlDatabase(driver=""QSQLITE"", database=""/home/user/.mixxx/mixxxdb.sqlite"", host=""localhost"", port=-1, user=""mixxx"", open=true)
Debug [Main]: 865 ms deleting RecordingManager
Debug [Main]: Delete RecordingManager
Debug [Main]: 865 ms deleting BroadcastManager
Debug [Main]: DlgPrefBroadcast - broadcastEnabledChanged() 0
Debug [Main]: 867 ms deleting EngineMaster
Debug [Main]: in ~EngineMaster()
Debug [Main]: 1068 ms deleting DlgPreferences
Debug [Main]: 1085 ms deleting EffectsManager
Debug [Main]: WARNING: The following 60 controls were leaked:
Debug [Main]: "[Channel3]" "time_remaining" QObject(0x0)
Debug [Main]: "[Sampler6]" "waveform_zoom_set_default" ControlPushButton(0x7efff01f9220)
Debug [Main]: "[Channel4]" "time_remaining" QObject(0x0)
Debug [Main]: "[Shoutcast]" "enabled" QObject(0x0)
Debug [Main]: "[Sampler8]" "waveform_zoom_set_default" ControlPushButton(0x7efff20ee9e0)
Debug [Main]: "[Master]" "num_samplers" QObject(0x0)
Debug [Main]: "[Sampler7]" "waveform_zoom_set_default" ControlPushButton(0x7efff1543a00)
Debug [Main]: "[Sampler6]" "waveform_zoom_up" ControlPushButton(0x7efff01f8b20)
Debug [Main]: "[Sampler7]" "waveform_zoom_up" ControlPushButton(0x7efff1543120)
Debug [Main]: "[Sampler8]" "waveform_zoom_up" ControlPushButton(0x7efff20ee100)
Debug [Main]: "[Sampler6]" "pregain" QObject(0x0)
Debug [Main]: "[Sampler6]" "play" QObject(0x0)
Debug [Main]: "[Sampler7]" "play" QObject(0x0)
Debug [Main]: "[Sampler8]" "pregain" QObject(0x0)
Debug [Main]: "[Sampler8]" "play" QObject(0x0)
Debug [Main]: "[Sampler7]" "pregain" QObject(0x0)
Debug [Main]: "[Sampler8]" "waveform_zoom_down" ControlPushButton(0x7efff20ee540)
Debug [Main]: "[Sampler7]" "waveform_zoom_down" ControlPushButton(0x7efff1543560)
Debug [Main]: "[Sampler6]" "waveform_zoom_down" ControlPushButton(0x7efff01f8e70)
Debug [Main]: "[Sampler6]" "passthrough" QObject(0x0)
Debug [Main]: "[Sampler8]" "passthrough" QObject(0x0)
Debug [Main]: "[Sampler6]" "loop_end_position" QObject(0x0)
Debug [Main]: "[Sampler7]" "passthrough" QObject(0x0)
Debug [Main]: "[Sampler7]" "file_bpm" QObject(0x0)
Debug [Main]: "[Sampler8]" "file_bpm" QObject(0x0)
Debug [Main]: "[Sampler8]" "waveform_zoom" ControlObject(0x7efff20eddb0)
Debug [Main]: "[Sampler6]" "end_of_track" ControlObject(0x7efff01f95b0)
Debug [Main]: "[Sampler7]" "waveform_zoom" ControlObject(0x7efff1542dd0)
Debug [Main]: "[Sampler6]" "vinylcontrol_enabled" QObject(0x0)
Debug [Main]: "[Sampler7]" "file_key" QObject(0x0)
Debug [Main]: "[Sampler6]" "waveform_zoom" ControlObject(0x7efff01f8870)
Debug [Main]: "[Sampler8]" "loop_end_position" QObject(0x0)
Debug [Main]: "[Sampler8]" "file_key" QObject(0x0)
Debug [Main]: "[Sampler8]" "vinylcontrol_enabled" QObject(0x0)
Debug [Main]: "[Sampler7]" "loop_end_position" QObject(0x0)
Debug [Main]: "[Sampler6]" "file_bpm" QObject(0x0)
Debug [Main]: "[Sampler7]" "vinylcontrol_enabled" QObject(0x0)
Debug [Main]: "[Sampler6]" "file_key" QObject(0x0)
Debug [Main]: "[Sampler8]" "end_of_track" ControlObject(0x7efff20eee10)
Debug [Main]: "[Sampler7]" "end_of_track" ControlObject(0x7efff1543e30)
Debug [Main]: "[Sampler6]" "replaygain" QObject(0x0)
Debug [Main]: "[Sampler8]" "replaygain" QObject(0x0)
Debug [Main]: "[Sampler6]" "loop_start_position" QObject(0x0)
Debug [Main]: "[Master]" "booth_enabled" ControlObject(0x2411310)
Debug [Main]: "[Sampler7]" "replaygain" QObject(0x0)
Debug [Main]: "[Sampler8]" "loop_start_position" QObject(0x0)
Debug [Main]: "[Sampler7]" "loop_start_position" QObject(0x0)
Debug [Main]: "[Master]" "num_decks" QObject(0x0)
Debug [Main]: "[Sampler6]" "vinylcontrol_status" QObject(0x0)
Debug [Main]: "[Sampler7]" "vinylcontrol_status" QObject(0x0)
Debug [Main]: "[Master]" "num_preview_decks" QObject(0x0)
Debug [Main]: "[Sampler8]" "vinylcontrol_status" QObject(0x0)
Debug [Main]: "[Channel1]" "time_remaining" QObject(0x0)
Debug [Main]: "[Sampler6]" "duration" ControlObject(0x7efff01f8620)
Debug [Main]: "[Sampler8]" "input_configured" QObject(0x0)
Debug [Main]: "[Channel2]" "time_remaining" QObject(0x0)
Debug [Main]: "[Sampler7]" "input_configured" QObject(0x0)
Debug [Main]: "[Sampler8]" "duration" ControlObject(0x7efff20edac0)
Debug [Main]: "[Sampler6]" "input_configured" QObject(0x0)
Debug [Main]: "[Sampler7]" "duration" ControlObject(0x7efff1542ae0)
Debug [Main]: 1126 ms deleting SettingsManager
Debug [Main]: Mixxx shutdown complete with code 0

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

The log shows a regular shutdown without any anomalies. Do you have an archived log file from the actual session?

Mixxx uses default file system functionality, either provided by Qt or through various 3rd party libraries. Did you try to access files on the external device with other any applications after the failure? I suppose a faulty device or low-level driver issues.

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

Is the title of the bug correct? Did Mixxx actually "crash" or were only unable to access any files on the external device after some time.

Since the files remained inaccessible even after a restart it is very unlikely that the issues were caused by Mixxx.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

What is the error message when you try to use the device again?
Please attach an mixxx.log from this try.

Is the device usable with other applications like Audacity

Revision history for this message
Fabzgy (fabzgy) wrote :

> Do you have an archived log file from the actual session?

I don t have any further logs from this session unfortunatelly.

> Did you try to access files on the external device with other any applications after the failure?

There was no external storage device connected. The USB device I mentioned is a USB Soundcard. All files played are on the internal SSD-drive.

I can t check right now if the device is usable right now. I am going to check when I get back home.

Revision history for this message
ronso0 (ronso0) wrote :

With the laptop of a friend of mine I experienced similar crashes.
We tried to debug this, and the only reasonable conclusion was that there was some faulty USB plug/socket which screws up the whole USB bus, kicks out the USB soundcard and therefore resulted in lp:364803

Revision history for this message
ronso0 (ronso0) wrote :

It might also be the USB is momentarily unable to provide enough amperage or voltage (short peak caused by other USB devices?) and therefore resets the USB soundcard. An additional power supply for the soundcard should help then.

Revision history for this message
Fabzgy (fabzgy) wrote :

I am using the device right now on 2.1.0-beta1 (build 2.1 r6594) without any problems so far. But last time the error happened after 3,5 h o f DJing.
It s a pity that the logs do not show anything helpfull in this case.

The USB power peak theory is plausible. I am DJing with a Lenovo T430 and all USB ports are used. USB 3.0 (Mouse / Mobile Phone USB tethering), USB 2.0 (powered) USB Soundcard USB 2.0 unpowered Hercules Compact DJ Controller.

It was the second time I used this soundcard - so I can t tell if this problem might have occurred in Mixxx 2.0.0 as well.

Since the crash is not reproduceable and I don t have any further logs we might close this error.

Thanks for giving feedback!

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

Fabzgy -- has this recurred for you?

Changed in mixxx:
importance: Undecided → Critical
milestone: none → 2.1.5
Be (be.ing)
Changed in mixxx:
status: New → Incomplete
milestone: 2.1.5 → none
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

This affects 2.1.x, why'd you remove the milestone?

> I am using Xubuntu 16.04 and "Mixxx" "2.1.0-beta1" "(git 2.1 r6544; built on: Mar 25 2018 @ 19:33:45;

Revision history for this message
Be (be.ing) wrote :

How could we fix this for 2.1.5 if it isn't reproducible?

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

Well, now it's a floating bug with no series attached which isn't great.

We could either mark it as in the 2.1 series with no milestone associated, or not put it in a series but add it to the latest milestone. We were just discussing the workflow on Zulip the other day. I'm more for the latter, because I don't like messing around with the series unless I need to give the bug a different status in multiple series.

Status "Incomplete" conveys that it's not reproducible, which to me is independent of the series it affects.

Revision history for this message
Fabzgy (fabzgy) wrote :

I did not have the problem again. Now I am on Ubuntu 18.04 and Mixxx 2.1.4 (build 2.1 r6765).
No problems so far so I think this can be closed or at least I can t help any further in investigating this bug since I can t reproduce it.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Mixxx 2.1 because there has been no activity for 60 days.]

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Mixxx because there has been no activity for 60 days.]

Changed in mixxx:
status: Incomplete → Expired
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/9207

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.