Mixxx crashes with std::bad_alloc with scratch ramping enabled on Ubuntu Studio 21

Bug #1959489 reported by Sven Rahn
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
Unassigned

Bug Description

Related topic on Zulip: https://mixxx.zulipchat.com/#narrow/stream/109122-general/topic/UI.20hangs.2C.20then.20whole.20process.20crashes

I can reliably trigger a crash on Mixxx 2.3.1 and Ubuntu Studio 21:

1. Start Mixxx
2. Load and play two tracks
3. Touch and rotate both jogwheels at the same time. This is the first time the jogwheels are touched since Mixxx was started.

First the UI freezes, but audio continues. Then audio drops out after ~30 seconds. Then the whole system freezes for ~2 minutes until it recovers itself. Mixxx has to be restarted.

I can prevent this bug when not using ramping in scratchEnable() and scratchDisable() in my controller mapping. I did some debugging and found that isScratching() returns true even after scratchDisable(). This can be prevented with ramp = false, but I am not sure how this is related.

My mapping can be found here (ramp is set to false, to prevent crashes): https://github.com/randombyte-developer/reloop-beatmix/blob/4f6b894cffb91c9cc546402ea6efb523a620a399/src/deck.ts#L113-L133

I have multiple backtraces when this happened (some contain mapping debug logs).

Revision history for this message
Sven Rahn (randombyte-developer) wrote :
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

engine.isScratching()/scratchEnable()/scratchDisable() with ramping enabled is used in a similar way in the mapping for the MC6000MK2 and never caused any issues. I am not able to reproduce those crashes.

Without the ability to reproduce the issues on different hard- and software it will be unlikely that they ever get fixed.

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

If even your window managers crashes or freezes then this is a strong indicator that your system probably suffers a hardware or driver issue.

summary: - Mixxx freezes and window manager crashes
+ Mixxx crashes with std::bad_alloc on Ubuntu Studio 21
Changed in mixxx:
importance: Undecided → Critical
Revision history for this message
Sven Rahn (randombyte-developer) wrote : Re: Mixxx crashes with std::bad_alloc on Ubuntu Studio 21

I installed Mixxx on another PC (Linux Mint) and I can't reproduce the crash there. I will try out some things to get it to "work".

Revision history for this message
Sven Rahn (randombyte-developer) wrote :

I booted Ubuntu Studio from another PC (from a USB drive) and got Mixxx to crash like I did on my laptop with Ubuntu Studio. So the key seems to be Ubuntu Studio somehow. I like to use it because it is meant for DJing (among other things), right?

This time I got an actual crash report because the Window Manager didn't freeze. The whole system was usable except Mixxx. I guess this is because the PC I tested this is on has better hardware in general.

Revision history for this message
Sven Rahn (randombyte-developer) wrote :

I just had a longer test-run with Linux Mint on the same Laptop with ramping=true and it crashed when touching the jog wheel. I will disable ramping for now.

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote (last edit ):
Changed in mixxx:
assignee: nobody → Uwe Klotz (uklotzde)
milestone: none → 2.3.3
status: New → Confirmed
Revision history for this message
ronso0 (ronso0) wrote :

@Sven Rahn
The fix has been merged to the 2.3 branch so I set this to Fix Commited.
Could you please verify your scratch issue is indeed fixed, either by building 2.3 from source or installing the PR's artifact?
https://github.com/mixxxdj/mixxx/actions/runs/2457149767 > scroll down to Artifacts section

ronso0 (ronso0)
Changed in mixxx:
status: Confirmed → Fix Committed
summary: - Mixxx crashes with std::bad_alloc on Ubuntu Studio 21
+ Mixxx crashes with std::bad_alloc with scratch ramping enabled on Ubuntu
+ Studio 21
Revision history for this message
Sven Rahn (randombyte-developer) wrote :

I'll test it today or later this week.

Revision history for this message
Sven Rahn (randombyte-developer) wrote :

I can confirm that with the artifact of this run https://github.com/mixxxdj/mixxx/actions/runs/2457149767 the issue is fixed! Just before installing the fixed version, I reproduced the issue first try in Mixxx 2.3.2. After installing the new version, I couldn't reproduce it after trying five times.

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/10650

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.