Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
mixxxbot opened this issue Aug 23, 2022 · 12 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: randombyte-developer
Date: 2022-01-29T15:59:03Z
Status: Fix Released
Importance: Critical
Launchpad Issue: lp1959489
Attachments: mixxx-gdb.zip, _usr_bin_mixxx.999.crash.zip


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).

@mixxxbot
Copy link
Collaborator Author

Commented by: randombyte-developer
Date: 2022-01-29T15:59:03Z
Attachments: mixxx-gdb.zip

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2022-01-29T17:44:00Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2022-01-29T18:29:44Z


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

@mixxxbot
Copy link
Collaborator Author

Commented by: randombyte-developer
Date: 2022-01-31T15:35:27Z


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".

@mixxxbot
Copy link
Collaborator Author

Commented by: randombyte-developer
Date: 2022-02-03T15:01:55Z
Attachments: _usr_bin_mixxx.999.crash.zip


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: randombyte-developer
Date: 2022-02-04T20:29:54Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2022-06-05T14:36:15Z


https://bugs.launchpad.net/mixxx/+bug/1977662/comments/4

@mixxxbot
Copy link
Collaborator Author

Commented by: uklotzde
Date: 2022-06-07T10:23:19Z


Hopefully also fixed by #4789

@mixxxbot
Copy link
Collaborator Author

Commented by: ronso0
Date: 2022-06-07T20:42:32Z


@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

@mixxxbot
Copy link
Collaborator Author

Commented by: randombyte-developer
Date: 2022-06-08T04:27:05Z


I'll test it today or later this week.

@mixxxbot
Copy link
Collaborator Author

Commented by: randombyte-developer
Date: 2022-06-08T19:39:08Z


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.

@mixxxbot
Copy link
Collaborator Author

Issue closed with status Fix Released.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@mixxxbot mixxxbot added this to the 2.3.3 milestone Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant