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

debug assert "num <= kMaxNumberOfDecks" in PlayerManager::slotChangeNumDecks on changing nanoKontrol2 mapping from custom to built-in #12317

Closed
mxmilkiib opened this issue Nov 19, 2023 · 5 comments
Labels

Comments

@mxmilkiib
Copy link
Contributor

Bug Description

coredump; https://nxtcld.thingsandstuff.org/s/CdiMwZE3AprJWjG

I had both plugged in when I started Mixxx.

I go into the nanoKontrol2 controller config page, change from my "kn" preset to the official one in the drop-down, hit apply, there is several seconds pause then a crash.

Version

r8934-1

OS

Arch

@mxmilkiib mxmilkiib added the bug label Nov 19, 2023
@mxmilkiib
Copy link
Contributor Author

mxmilkiib commented Nov 19, 2023

Happens also if it's the only controller.

DEBUG ASSERT: "num <= kMaxNumberOfDecks" in function void PlayerManager::slotChangeNumDecks(double) at /home/milk/pkgs/mixxx-git-debug/src/mixxx-git/src/mixer/playermanager.cpp:307

Edit: also happens when I try to set my Reloop controller to use the nanoKontrol2 preset.

@ronso0 ronso0 changed the title segfault: on changing second controller preset from custom to Mixxx supplied debug assert "num <= kMaxNumberOfDecks" in PlayerManager::slotChangeNumDecks on changing nanoKontrol2 mapping from custom to built-in Nov 19, 2023
@ronso0
Copy link
Member

ronso0 commented Nov 19, 2023

What happens if you select None, restart and select the official mapping?

@mxmilkiib
Copy link
Contributor Author

Lol, I get a #11678 segfault on closing mixxx.

On trying to switch from none to the official mapping, I get the same playermanager.cpp:307 crash.

@ronso0
Copy link
Member

ronso0 commented Nov 19, 2023

For some reason the official mapping tries to enable 8 decks by setting [App],num_decks. Max is 4.

NK2.init = function init() { // called when the device is opened & set up
if (NK2.debug>2){print("##function: "+NK2.getFunctionName())};
engine.setValue("[App]", "num_decks", NK2.numDecks);

In release builds this is ignored, and you hit this debug assert because you built Mixxx with cmake build option DEBUG_ASSERTIONS_FATAL = ON

For now, just set NK2.numDecks in the script header to 4 (or disable DEBUG_ASSERTIONS_FATAL if you don't need it).
Someone just needs to fix the (undocumented) nanoKontrol2 mapping.

@ronso0
Copy link
Member

ronso0 commented Nov 21, 2023

@mxmilkiib #12322 has been merged into 2.4, the built-in mapping should not thrown an error anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants