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

Switching to a broken skin can crash Mixxx #11360

Closed
ronso0 opened this issue Mar 12, 2023 · 8 comments
Closed

Switching to a broken skin can crash Mixxx #11360

ronso0 opened this issue Mar 12, 2023 · 8 comments

Comments

@ronso0
Copy link
Member

ronso0 commented Mar 12, 2023

Bug Description

I just tried to debug the VU meter issue with Traktmixxx skin reported here

This makes Mixxx crash:

  • copy Traktmixxx to ressource dir (here /usr/share/mixxx/skins/), actually not recommended
  • start Mixxx with a new config dir
  • boots with LateNight
  • open preferences, select Traktmixxx
  • skin seems to load, but crashes immediatley after

This way, however, I can start with Traktmixxx and it seems to work (at least not crash after some basic testing, track load, play etc):

  • copy Traktmixxx to ressource dir (here /usr/share/mixxx/skins/), actually not recommended
  • start Mixxx with a new config dir
  • boots with LateNight
  • switch skin or color theme so that ResizableSkin [skin] is written to mixxx.cfg
  • close
  • open mixxx.cfg, set ResizableSkin Traktmixxx
  • start Mixxx
  • works

BUT

  • start with Traktmixxx as described
  • switch to LateNight
  • switch back to Traktmixxx
  • CRASH

Backtrace:
backtrace-LateNight-to-Traktmixxx.txt
btw, since when are gdb backtraces this huge? 13869 lines???

Version

2.3.4

OS

Ubuntu Studio 20.04 / X11 / xfce 4.14 / Qt 5.12.8

@ronso0
Copy link
Member Author

ronso0 commented Mar 12, 2023

maybe the cause is the same that led to this segfault?
#10893 (comment)

@ronso0
Copy link
Member Author

ronso0 commented Mar 24, 2023

starting with --disableVuMeterGL doesn't avoid the crash btw.

@ronso0 ronso0 changed the title Switching to a broken skin can crash Mixxx Switching to a broken skin can crash Mixxx during first run (no mixxx.cfg yet) Mar 28, 2023
@ronso0 ronso0 changed the title Switching to a broken skin can crash Mixxx during first run (no mixxx.cfg yet) Switching to a broken skin can crash Mixxx Mar 28, 2023
@ronso0
Copy link
Member Author

ronso0 commented Mar 28, 2023

I updated the description:
starting with Traktmixxx by writing it to mixxx.cfg manually works, but any following switch (to another skin and) back to Traktmixxx crashes Mixxx.

@m0dB Do you have any idea? Can you read anything from that backtrace?

@daschuer
Copy link
Member

I can see the same segfault, original reported here:
#10893 (comment)
And analyzed here:
#10893 (comment)
and workaround here:
m0dB@c9af1e0

#0  0x0000000000000000 in  ()
#1  0x00007fffeb04f7e2 in QXcbWindow::handleNativeEvent(xcb_generic_event_t*) (this=<optimized out>, event=0x7fffe40e43c0) at qxcbwindow.cpp:1696
#2  0x00007fffeb03d404 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x5555563ce3c0, event=event@entry=0x7fffe40e43c0) at qxcbconnection.cpp:562
#3  0x00007fffeb03d78a in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555563ce3c0, flags=flags@entry=...) at qxcbconnection.cpp:1027
#4  0x00007fffeb068327 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:103
#5  0x00007ffff28dd17d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff28dd400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff28dd4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff3ceb435 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555556480b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#9  0x00007ffff3c923ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdce0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#10 0x00007ffff3c9a116 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#11 0x000055555570ac42 in (anonymous namespace)::runMixxx (args=..., app=0x7fffffffdd70) at ../../src/main.cpp:37
#12 main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ../../src/main.cpp:112

@ronso0
Copy link
Member Author

ronso0 commented Apr 22, 2023

I removed all VU meters and all spinnies from Traktmixxx and still Mixxx crashes when switching to it.
Maybe worth noting: there are 6 Waveform widgets created per deck.

The end of the backtrace looks exactly like @daschuer's above.
Full backtrace
bt Traktmixxx without vumeters and spinnies.txt

@daschuer
Copy link
Member

Unfortunately I can no longer reproduce the issue.
Is this really a critical bug for the 2.3.5 milestone or can we proceed without a fix?

@ronso0
Copy link
Member Author

ronso0 commented Apr 23, 2023

I labeled it critical because user data must not crash Mixxx, but it's not clear if this is a 2.3.4 regression, and a fix is not in sight. So let's proceed!

@daschuer daschuer removed this from the 2.3.5 milestone Apr 24, 2023
@ronso0
Copy link
Member Author

ronso0 commented Dec 21, 2023

Update: Traktmixxx doesn't crash Mixxx 2.4

I'll close this for now.

@ronso0 ronso0 closed this as completed Dec 21, 2023
@ronso0 ronso0 added this to the 2.4.0 milestone Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants