Mixxx crashes when deleting FilterGroupState

Bug #1739924 reported by akkarin169
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
Be

Bug Description

Mixxx crashes when attempting to close the programm. The problem can be reproduced (occurs every time).

Steps before starting Mixxx:
* I have uninstalled mixxx-2.1.0-alpha-pre-master-git6416-release-x64.exe (problem not present in this one)
* I have installed mixxx-2.2.0-alpha-pre-master-git6450-release-x64.exe

Steps to reproduce problem:
* Start Mixxx
* Close Mixxx (File --> Exit)

Error: "Mixxx has stopped working"

Windows 10, 64 bit version
Intel Core i5 @ 1.60 Ghz, 8GB RAM, Intel HD Graphics 3000
Controller: Reloop Beatmix 2 Mk2

Information from debugger log files:

***********************
* EXCEPTION DETAILS *
***********************

DetailID = 1
 Count: 1
 Exception #: 0X80000003
 Stack:
  ntdll!RtlIsNonEmptyDirectoryReparsePointAllowed+0x6e
  ntdll!RtlpNtSetValueKey+0x42a
  ntdll!wcstok_s+0x34d2
  ntdll!memset+0xd1e4
  ucrtbase!free_base+0x1b
  mixxx!FilterGroupState::`scalar deleting destructor'+0x27
  mixxx!EffectProcessorImpl<FilterGroupState>::~EffectProcessorImpl<FilterGroupState>+0xa2 [c:\projects\mixxx\src\effects\effectprocessor.h @ 119]
  mixxx!FilterEffect::`scalar deleting destructor'+0x1e
  mixxx!EngineEffect::~EngineEffect+0x46 [c:\projects\mixxx\src\engine\effects\engineeffect.cpp @ 47]
  mixxx!EngineEffect::`scalar deleting destructor'+0x14
  mixxx!EffectsManager::writeRequest+0x31 [c:\projects\mixxx\src\effects\effectsmanager.cpp @ 388]
  mixxx!Effect::removeFromEngine+0xa9 [c:\projects\mixxx\src\effects\effect.cpp @ 91]
  mixxx!EffectChain::removeFromEngine+0xf0 [c:\projects\mixxx\src\effects\effectchain.cpp @ 67]
  mixxx!EffectRack::removeFromEngine+0xf0 [c:\projects\mixxx\src\effects\effectrack.cpp @ 63]
  mixxx!EffectRack::~EffectRack+0x2b [c:\projects\mixxx\src\effects\effectrack.cpp @ 28]
  mixxx!QuickEffectRack::`scalar deleting destructor'+0x54
  mixxx!QList<QSharedPointer<QuickEffectRack> >::node_destruct+0x77 [c:\mixxx-buildserver\2.1-j00023-x64-release-fastbuild-static-1b6c054-minimal\qt-4.8.7\src\corelib\tools\qlist.h @ 431]
  mixxx!EffectChainManager::~EffectChainManager+0x104 [c:\projects\mixxx\src\effects\effectchainmanager.cpp @ 19]
  mixxx!EffectChainManager::`scalar deleting destructor'+0x14
  mixxx!EffectsManager::~EffectsManager+0x51 [c:\projects\mixxx\src\effects\effectsmanager.cpp @ 43]
  mixxx!EffectsManager::`scalar deleting destructor'+0x14
  mixxx!MixxxMainWindow::finalize+0x1161 [c:\projects\mixxx\src\mixxx.cpp @ 623]
  mixxx!MixxxMainWindow::closeEvent+0x35 [c:\projects\mixxx\src\mixxx.cpp @ 1315]
  mixxx!QWidget::event+0x51d
  mixxx!QApplicationPrivate::notify_helper+0xd5
  mixxx!QApplication::notify+0x1645
  mixxx!MixxxApplication::notify+0x456 [c:\projects\mixxx\src\mixxxapplication.cpp @ 181]
  mixxx!QCoreApplication::notifyInternal+0x7c
  mixxx!QWidgetPrivate::close_helper+0xac
  mixxx!QWidget::qt_static_metacall+0x17f
  mixxx!QMetaObject::activate+0x524
  mixxx!QMetaObject::activate+0x524
  mixxx!QAction::activate+0xdd
  mixxx!QMenuPrivate::activateCausedStack+0x53
  mixxx!QMenuPrivate::activateAction+0x1ed
  mixxx!QWidget::event+0xcb
  mixxx!QMenu::event+0x282
  mixxx!QApplicationPrivate::notify_helper+0xd5
  mixxx!QApplication::notify+0x5c0
  mixxx!MixxxApplication::notify+0x469 [c:\projects\mixxx\src\mixxxapplication.cpp @ 158]
  mixxx!QCoreApplication::notifyInternal+0x7c
  mixxx!QApplicationPrivate::sendMouseEvent+0x1d7
  mixxx!QETWidget::translateMouseEvent+0x881
  mixxx!QtWndProc+0x24a1
  USER32!CallWindowProcW+0x4d0
  USER32!DispatchMessageW+0x1af
  mixxx!QEventDispatcherWin32::processEvents+0x3e3
  mixxx!QGuiEventDispatcherWin32::processEvents+0x14
  mixxx!QEventLoop::exec+0x247
  mixxx!QCoreApplication::exec+0xe0
  mixxx!`anonymous namespace'::runMixxx+0x166 [c:\projects\mixxx\src\main.cpp @ 53]
  mixxx!main+0x21b [c:\projects\mixxx\src\main.cpp @ 125]
  mixxx!__scrt_common_main_seh+0x11d [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 253]
  KERNEL32!BaseThreadInitThunk+0x14
  ntdll!RtlUserThreadStart+0x21

DetailID = 2
 Count: 1
 Exception #: 0XC0000374
 Stack:
  ntdll!RtlIsNonEmptyDirectoryReparsePointAllowed+0xaf
  ntdll!RtlpNtSetValueKey+0x42a
  ntdll!wcstok_s+0x34d2
  ntdll!memset+0xd1e4
  ucrtbase!free_base+0x1b
  mixxx!FilterGroupState::{dtor}+0x1d [c:\projects\mixxx\src\effects\native\filtereffect.cpp @ 88]
  mixxx!FilterGroupState::`scalar deleting destructor'+0x27
  mixxx!EffectProcessorImpl<FilterGroupState>::~EffectProcessorImpl<FilterGroupState>+0xa2 [c:\projects\mixxx\src\effects\effectprocessor.h @ 119]
  mixxx!FilterEffect::{dtor}+0x14 [c:\projects\mixxx\src\effects\native\filtereffect.cpp @ 103]
  mixxx!FilterEffect::`scalar deleting destructor'+0x1e
  mixxx!EngineEffect::~EngineEffect+0x46 [c:\projects\mixxx\src\engine\effects\engineeffect.cpp @ 47]
  mixxx!EngineEffect::`scalar deleting destructor'+0x14
  mixxx!EffectsManager::collectGarbage+0x1b [c:\projects\mixxx\src\effects\effectsmanager.cpp @ 445]
  mixxx!EffectsManager::writeRequest+0x31 [c:\projects\mixxx\src\effects\effectsmanager.cpp @ 388]
  mixxx!Effect::removeFromEngine+0xa9 [c:\projects\mixxx\src\effects\effect.cpp @ 91]
  mixxx!EffectChain::removeFromEngine+0xf0 [c:\projects\mixxx\src\effects\effectchain.cpp @ 67]
  mixxx!EffectRack::removeFromEngine+0xf0 [c:\projects\mixxx\src\effects\effectrack.cpp @ 63]
  mixxx!EffectRack::~EffectRack+0x2b [c:\projects\mixxx\src\effects\effectrack.cpp @ 28]
  mixxx!PerGroupRack::{dtor}+0x3b [c:\projects\mixxx\src\effects\effectrack.h @ 141]
  mixxx!QuickEffectRack::{dtor}+0x3b [c:\projects\mixxx\src\effects\effectrack.h @ 169]
  mixxx!QuickEffectRack::`scalar deleting destructor'+0x54
  mixxx!QtSharedPointer::ExternalRefCount<QuickEffectRack>::deref+0x32 [c:\mixxx-buildserver\2.1-j00023-x64-release-fastbuild-static-1b6c054-minimal\qt-4.8.7\src\corelib\tools\qsharedpointer_impl.h @ 342]
  mixxx!QtSharedPointer::ExternalRefCount<QuickEffectRack>::deref+0x39 [c:\mixxx-buildserver\2.1-j00023-x64-release-fastbuild-static-1b6c054-minimal\qt-4.8.7\src\corelib\tools\qsharedpointer_impl.h @ 336]
  mixxx!QtSharedPointer::ExternalRefCount<QuickEffectRack>::{dtor}+0x39 [c:\mixxx-buildserver\2.1-j00023-x64-release-fastbuild-static-1b6c054-minimal\qt-4.8.7\src\corelib\tools\qsharedpointer_impl.h @ 401]
  mixxx!QList<QSharedPointer<QuickEffectRack> >::node_destruct+0x77 [c:\mixxx-buildserver\2.1-j00023-x64-release-fastbuild-static-1b6c054-minimal\qt-4.8.7\src\corelib\tools\qlist.h @ 431]
  mixxx!QList<QSharedPointer<QuickEffectRack> >::free+0x1d [c:\mixxx-buildserver\2.1-j00023-x64-release-fastbuild-static-1b6c054-minimal\qt-4.8.7\src\corelib\tools\qlist.h @ 757]
  mixxx!QList<QSharedPointer<QuickEffectRack> >::{dtor}+0x2e [c:\mixxx-buildserver\2.1-j00023-x64-release-fastbuild-static-1b6c054-minimal\qt-4.8.7\src\corelib\tools\qlist.h @ 732]
  mixxx!EffectChainManager::~EffectChainManager+0x104 [c:\projects\mixxx\src\effects\effectchainmanager.cpp @ 19]
  mixxx!EffectChainManager::`scalar deleting destructor'+0x14
  mixxx!EffectsManager::~EffectsManager+0x51 [c:\projects\mixxx\src\effects\effectsmanager.cpp @ 43]
  mixxx!EffectsManager::`scalar deleting destructor'+0x14
  mixxx!MixxxMainWindow::finalize+0x1161 [c:\projects\mixxx\src\mixxx.cpp @ 623]
  mixxx!MixxxMainWindow::closeEvent+0x35 [c:\projects\mixxx\src\mixxx.cpp @ 1315]
  mixxx!QWidget::event+0x51d
  mixxx!QApplicationPrivate::notify_helper+0xd5
  mixxx!QApplication::notify+0x1645
  mixxx!MixxxApplication::notify+0x456 [c:\projects\mixxx\src\mixxxapplication.cpp @ 181]
  mixxx!QCoreApplication::notifyInternal+0x7c
  mixxx!QWidgetPrivate::close_helper+0xac
  mixxx!QWidget::qt_static_metacall+0x17f
  mixxx!QMetaObject::activate+0x524
  mixxx!QMetaObject::activate+0x524
  mixxx!QAction::activate+0xdd
  mixxx!QMenuPrivate::activateCausedStack+0x53
  mixxx!QMenuPrivate::activateAction+0x1ed
  mixxx!QWidget::event+0xcb
  mixxx!QMenu::event+0x282
  mixxx!QApplicationPrivate::notify_helper+0xd5
  mixxx!QApplication::notify+0x5c0
  mixxx!MixxxApplication::notify+0x469 [c:\projects\mixxx\src\mixxxapplication.cpp @ 158]
  mixxx!QCoreApplication::notifyInternal+0x7c
  mixxx!QApplicationPrivate::sendMouseEvent+0x1d7
  mixxx!QETWidget::translateMouseEvent+0x881
  mixxx!QtWndProc+0x24a1
  USER32!CallWindowProcW+0x4d0
  USER32!DispatchMessageW+0x1af
  mixxx!QEventDispatcherWin32::processEvents+0x3e3
  mixxx!QGuiEventDispatcherWin32::processEvents+0x14
  mixxx!QEventLoop::exec+0x247
  mixxx!QCoreApplication::exec+0xe0
  mixxx!`anonymous namespace'::runMixxx+0x166 [c:\projects\mixxx\src\main.cpp @ 53]
  mixxx!main+0x21b [c:\projects\mixxx\src\main.cpp @ 125]
  mixxx!invoke_main+0x22 [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 64]
  mixxx!__scrt_common_main_seh+0x11d [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 253]
  KERNEL32!BaseThreadInitThunk+0x14
  ntdll!RtlUserThreadStart+0x21

***********************
* EXCEPTION SUMMARY *
***********************

 |--------------------|
 | Count | Exception |
 |--------------------|
 | 1 | 0X80000003 |
 | 1 | 0XC0000374 |
 |--------------------|

Revision history for this message
akkarin169 (akkarin169) wrote :
Revision history for this message
akkarin169 (akkarin169) wrote :
Be (be.ing)
Changed in mixxx:
importance: Undecided → Critical
milestone: none → 2.1.0
Revision history for this message
Be (be.ing) wrote :

Thank you for reporting this. I am puzzled why this occurs on Windows but no one who has tested it on GNU/Linux has encountered this. I wonder if it happens on macOS?

Be (be.ing)
Changed in mixxx:
status: New → Confirmed
summary: - Mixxx crashes when closing program
+ Mixxx crashes when deleting FilterGroupState
Be (be.ing)
Changed in mixxx:
assignee: nobody → Be (be.ing)
status: Confirmed → In Progress
Revision history for this message
Be (be.ing) wrote :
Revision history for this message
Be (be.ing) wrote :
Revision history for this message
akkarin169 (akkarin169) wrote :

Mixxx is closing properly now. So I guess that worked.
Thanks for fixing it that quickly :)

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

Great, thanks for reporting this quickly with a debugging backtrace. Did you use the instructions on https://mixxx.org/wiki/doku.php/creating_backtraces ? Is everything on that page for Windows correct? Is there anything that should be corrected or clarified?

We really need automatic crash reporting soon! (Bug #1732973)

Revision history for this message
akkarin169 (akkarin169) wrote :

In general the workflow on that wiki page works. The tricky part was getting the debug symbols (.pdb file). The wiki page mentions that one should re-install mixxx with "PDB debug file" option, but the installation packages at /builds/master/release do actually not include that option. It is only available in the installation packages at /builds/appveyor.

Another point is that when reporting a bug, at first I didn't stumble upon the creating_backtraces wiki page. The general reporting_bugs wiki page describes a slightly different workflow using the Microsoft Debug Diagnostic Tool (which also can be set up to get a backtrace with the pdb file. I actually used that to get the above backtrace).
I am now noticing that there is a link to the creating_backtraces wiki page from the Linux & MacOSX section of the reporting_bugs page.

Yes, automatic crash reporting would make things a lot easier.

Be (be.ing)
Changed in mixxx:
status: In Progress → Fix Committed
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/9015

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.