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

crash when ctrl clicking hotcue number three times on macOS #10847

Closed
foss- opened this issue Aug 30, 2022 · 12 comments
Closed

crash when ctrl clicking hotcue number three times on macOS #10847

foss- opened this issue Aug 30, 2022 · 12 comments

Comments

@foss-
Copy link
Contributor

foss- commented Aug 30, 2022

macOS 12.5.1 (Intel mac)
2.4-alpha-1282-gc9d95818b6 (main)

Reproduce

  • Load track with hotcues or create a hotcue
  • ctrl+click on hotcue three times

Currently
On first click Hotcue details open
On second click Hotcue details close
On third click Mixxx crashes
Crash (1 year): https://bin.disroot.org/?bfa39408ab0c180f#B9JDTUQyp1ZFp642sXJnnyU5zEJRe2U2LyaHrLEge8Zj

Expected
No crash

@daschuer mentioned the trace looks familiar to #9687 (fixed in 2.3.0)

Wondering if this is yet another variety of #10839 behavior?

@ronso0
Copy link
Member

ronso0 commented Aug 30, 2022

This is not a crash but a hit debug assert:

bool MixxxApplication::notify(QObject* target, QEvent* event) {
// All touch events are translated into two simultaneous events: one for
// the target QWidgetWindow and one for the target QWidget.
// A second touch becomes a mouse move without additional press and release
// events.
switch (event->type()) {
case QEvent::MouseButtonPress: {
QMouseEventEditable* mouseEvent = static_cast<QMouseEventEditable*>(event);
if (mouseEvent->source() == Qt::MouseEventSynthesizedByQt &&
mouseEvent->button() == Qt::LeftButton &&
touchIsRightButton()) {
// Assert the assumption that QT synthesizes only one click at a time
// = two events (see above)
VERIFY_OR_DEBUG_ASSERT(m_rightPressedButtons < 2) {
break;
}

As noticed in #10839 the reason is very likely the same: no button release is emitted when using Ctrl + left-click on macOS.
I guess no one would close a popup with another right-click, besides debug assertions are not fatal in releases.
Thus: low prio : )

@foss-
Copy link
Contributor Author

foss- commented Aug 30, 2022

no longer reproducible testing build from #10839

@ronso0
Copy link
Member

ronso0 commented Aug 30, 2022

Huuh? #10839 only touches the knob/slider event handlers.
Is DEBUG_ASSERTIONS_FATAL turned off for some strange reason?

@foss-
Copy link
Contributor Author

foss- commented Aug 30, 2022

Unsure how to tell. But I am no longer able to trigger the crash debug assert which I previously was able to reliable reproduce.

@ronso0
Copy link
Member

ronso0 commented Aug 30, 2022

You didn't Ctrl+click anything else in Mixxx after launch, only 3 x on the hotcue button?

@foss-
Copy link
Contributor Author

foss- commented Aug 30, 2022

RIght and the hotcue details open and close in alternating order.

@foss-
Copy link
Contributor Author

foss- commented Aug 30, 2022

2.3.3 Qt: 5.12.3
2.4.0 Qt: 5.12.4
So maybe that is the difference and issue is limited to 5.12.4 😵‍💫

@ronso0
Copy link
Member

ronso0 commented Aug 30, 2022

...that, or there are some more debug assertions in 2.4 (didn't look at the backtrace, yet)

@ronso0
Copy link
Member

ronso0 commented Aug 31, 2022

Wait, this is about the hotcue button, not about hotcue markers on waveforms, right?

@foss-
Copy link
Contributor Author

foss- commented Aug 31, 2022

Wait, this is about the hotcue button, not about hotcue markers on waveforms, right?

ack

@ronso0
Copy link
Member

ronso0 commented Sep 22, 2022

Is fixed after #10869 was merged to 2.3.4?

@foss-
Copy link
Contributor Author

foss- commented Sep 22, 2022

macOS 12.6
Mixxx 2.3.3-50-g5e551aaaa1 (HEAD) from https://github.com/mixxxdj/mixxx/actions/runs/3103325423#artifacts

No longer crashes. Closing.
Probably not the only oddity fixed by the change.

@foss- foss- closed this as completed Sep 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants