When changing from Shade to Tango skin some debug assertions are violated:
```
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel3]" , "end_of_track" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel3]" , "time_remaining" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
debug [Main] WaveformWidgetFactory::setWaveformWidget - waveform widget added in factory, index 2
debug [Main] Created QGLWidget. Context Valid: true Sharing: true
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel4]" , "end_of_track" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel4]" , "time_remaining" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
```
snip
```
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel3]" , "end_of_track" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel3]" , "time_remaining" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
debug [Main] Created QGLWidget. Context Valid: true Sharing: true
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel4]" , "end_of_track" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
warning [Main] ControlDoublePrivate::getControl returning NULL for ( "[Channel4]" , "time_remaining" )
critical [Main] DEBUG ASSERT: "flags.testFlag(ControlFlag::NoAssertIfMissing)" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at /home/daniel/workspace/2.3/src/control/control.cpp:186
critical [Main] DEBUG ASSERT: "flags & ControlFlag::AllowMissingOrInvalid" in function ControlProxy::ControlProxy(const ConfigKey&, QObject*, ControlFlags) at /home/daniel/workspace/2.3/src/control/controlproxy.cpp:16
```
I'm pretty sure it happens when switching to any 4-deck skin. /mixxx. zulipchat. com/#narrow/ stream/ 247620- development- help/topic/ qDebug. 20messages. 20with. 20DEBUG_ ASSERTIONS_ FATAL
See https:/
IF it happened, it did for various COs, all of Channel3