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: "mappingFile.exists()" in LegacyControllerMapping::loadSettings() #13728

Open
mxmilkiib opened this issue Oct 7, 2024 · 6 comments · Fixed by #13738
Open

DEBUG ASSERT: "mappingFile.exists()" in LegacyControllerMapping::loadSettings() #13728

mxmilkiib opened this issue Oct 7, 2024 · 6 comments · Fixed by #13738

Comments

@mxmilkiib
Copy link
Contributor

mxmilkiib commented Oct 7, 2024

Bug Description

Removed unfinished script files, tried various ChatGPT generated files which didn't work, tried changing back to parts of older files in steps, couldn't even see in the preset menu, moved .mixxx/controller dir and made a new one, tried to use the Learning Wizard, crash.

https://gist.github.com/mxmilkiib/d7fa17e801ec6c986ba256c8f1b48164 down to afair 2136

DEBUG ASSERT: "mappingFile.exists()" in function void LegacyControllerMapping::loadSettings(UserSettingsPointer, const QString&) const at ./src/controllers/legacycontrollermapping.cpp:14

Version

2.6

OS

Linux

@mxmilkiib mxmilkiib added the bug label Oct 7, 2024
@acolombier
Copy link
Member

This is a debug assert - you may continue the execution upon assert (press c in GDB when getting a SIGINT). You may disable debug assert if you aren't developing the Mixxx core and don't want to be bother.
I can confirm that the loadSetting is not expected to be called in your scenario so this could use some improvement although looking at the code I don't think it should cause a crash.

@acolombier acolombier added this to the 2.6-beta milestone Oct 7, 2024
@ronso0 ronso0 changed the title DEBUG ASSERT: "mappingFile.exists()" in function void LegacyControllerMapping::loadSettings(UserSettingsPointer, const QString&) const at ./src/controllers/legacycontrollermapping.cpp:14 DEBUG ASSERT: "mappingFile.exists()" in LegacyControllerMapping::loadSettings() Oct 7, 2024
@mxmilkiib
Copy link
Contributor Author

Just rebuilt Mixxx with a clear cmake and it also coredumps.

@mxmilkiib
Copy link
Contributor Author

This happens for any controller when clicking the Learning Wizard.

@ronso0
Copy link
Member

ronso0 commented Oct 8, 2024

IIUC this stems from removing mapping files while they are still considered 'loaded', ie. the config still holds the mapping file path?
This can (but shouldn't) happen, so shall we turn the DEBUG_ASSERT into VERIFY_OR_DEBUG_ASSERT, or even just if (!mappingFile.exists())?

@acolombier Are you already working on this / plan to do so?
If no, I'd take a stab.

@acolombier
Copy link
Member

Sounds like the fix! Haven't looked at it yet, please go ahead @ronso0

@ronso0
Copy link
Member

ronso0 commented Oct 8, 2024

Yup, see #13738

Btw I can confirm we hit the assert when starting the Learning Wizard.

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

Successfully merging a pull request may close this issue.

3 participants