segfault in ~GLSLWaveformWidget when changing skins

Bug #1856888 reported by Foss-4
14
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
Unassigned

Bug Description

2.3.0-alpha-pre (build master r7034)
macOS 10.14.6

crash when switching themes.
reproducible: always.

Currently using Tango theme. Switching to any other theme will result in crash (see attached txt).

Revision history for this message
Foss-4 (foss-4) wrote :
Foss-4 (foss-4)
summary: - crash when switching theme
+ seg fault crash when switching theme
Changed in mixxx:
milestone: none → 2.3.0
Revision history for this message
ronso0 (ronso0) wrote : Re: seg fault crash when switching theme

In the report it's a waveform-related thread that's crashing.

could you try another waveform renderer?

Also, can you try to set another skin manually in mixxx.cfg?

Revision history for this message
Foss-4 (foss-4) wrote :

Was using RGB (GLSL)

switched to RGB and then changing the interface skin indeed works fine.

Revision history for this message
ronso0 (ronso0) wrote :

okay.
can you verify thatit's skin-independent?

If so please change the bug title accordingly (alos IIRC there's already a relatedd bug)

Revision history for this message
Foss-4 (foss-4) wrote :

Skin independent indeed. Doesn't matter which skin is currently selected or to which skin user is switching to. Always reproducible when RGB (GLSL) as waveform renderer is selected.

Changed in mixxx:
status: New → Invalid
Foss-4 (foss-4)
Changed in mixxx:
status: Invalid → New
summary: - seg fault crash when switching theme
+ seg fault crash when switching theme with RGB (GLSL) waveform renderer
+ selected
Foss-4 (foss-4)
summary: seg fault crash when switching theme with RGB (GLSL) waveform renderer
- selected
+ selected, also crashing when switching to RGB (GL)
Foss-4 (foss-4)
Changed in mixxx:
status: New → Confirmed
importance: Undecided → Critical
Revision history for this message
Foss-4 (foss-4) wrote : Re: seg fault crash when switching theme with RGB (GLSL) waveform renderer selected, also crashing when switching to RGB (GL)

Findings from duplicate report:

Jean-Michaël:
I've tried changing skin on current master (mac mini 2018, 10.14, Qt 5.15 from homebrew) but I don't seem to hit the issue.
I however seem to hit the same backtracewhen quitting Mixxx so that may be related ?
It seems to be due to

GLSLWaveformWidget::~GLSLWaveformWidget() {
    makeCurrent();
}

^ I don't really know Mixxx's architecture, but that seems quite dangerous if the SharedGLContext::getWidget()'s context gets destroyed before the waveform widget - maybe some place in the code should introduce an explicit ordering of child widget deletion in a destructor that guarantees that the waveforms are deleted first, before the main window is closed, instead of relying on Qt's parent-child automatic destruction for this case.

Uwe:
The invocation of makeCurrent() also triggers a crash on Linux when closing Mixxx with Alt+F4:
https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/shutdown.20crash

https://github.com/mixxxdj/mixxx/pull/2933

Be (be.ing)
Changed in mixxx:
status: Confirmed → Fix Committed
Revision history for this message
Foss-4 (foss-4) wrote :
Revision history for this message
Be (be.ing) wrote :

Oh, Bug #1877487 is actually a separate bug from this. This bug was fixed, Bug #1877487 was not.

Changed in mixxx:
status: Fix Committed → Confirmed
status: Confirmed → Fix Committed
Revision history for this message
Be (be.ing) wrote :

> Peristing with 2.3.0-beta (build 2.3 r7489)
https://bin.disroot.org/?780c7ff969ce2d12#HA1FUDWQN4tGQPXsK7ivDoy6A2vQV5dftyYQfg2UzRkj

That backtrace is the same as Bug #1877487.

Revision history for this message
Be (be.ing) wrote :
summary: - seg fault crash when switching theme with RGB (GLSL) waveform renderer
- selected, also crashing when switching to RGB (GL)
+ segfault in ~GLSLWaveformWidget when changing skins
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/9844

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.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.