QT5: Tango skin is crashing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Mixxx |
Critical
|
Daniel Schürmann |
Bug Description
With recent master, switching to Tango skin crashes Mixxx.
This happens on Ubuntu Trusty 64 bit nd QT 5.2
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5800bd5 in QWidget::render (this=0x12b9c9f0,
painter=
renderFlags
4730 kernel/qwidget.cpp: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 0x00007ffff5800bd5 in QWidget::render (this=0x12b9c9f0,
painter=
renderFlags
#1 0x00000000009d183c in PreviewButtonDe
painter=
at src/library/
#2 0x0000000000a12e05 in TableItemDelega
painter=
at src/library/
#3 0x00007ffff5a21100 in QTableViewPriva
this=
option=..., index=...) at itemviews/
#4 0x00007ffff5a2aa5b in QTableView:
event=
#5 0x00007ffff5803302 in QWidget::event (this=this@
event=
#6 0x00007ffff58fec7e in QFrame::event (this=0x124aa2f0, e=0x7fffffffae00)
at widgets/
#7 0x00007ffff59ffd5b in QAbstractItemVi
event=
#8 0x00007ffff4982e53 in QCoreApplicatio
event=
---Type <return> to continue, or q <return> to quit---
#9 0x00007ffff57c7c6c in QApplicationPri
this=
e=e@
#10 0x00007ffff57cce56 in QApplication:
receiver=
#11 0x00007ffff4982c2d in QCoreApplicatio
0x7fffffffdd80, receiver=
event=
#12 0x00007ffff57fdbea in sendSpontaneous
receiver=
at ../../include/
#13 QWidgetPrivate:
0x170d6f0, rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#14 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
index@entry=47, rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#15 0x00007ffff57fe434 in QWidgetPrivate:
this=
---Type <return> to continue, or q <return> to quit---
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#16 0x00007ffff57fe434 in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#17 0x00007ffff57fe434 in QWidgetPrivate:
this=
siblings=
offset=..., flags=flags@
backingStor
#18 0x00007ffff57fd786 in QWidgetPrivate:
this=
offset=..., flags=flags@
backingStor
#19 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
---Type <return> to continue, or q <return> to quit---
sharedPaint
backingStor
#20 0x00007ffff57fd786 in QWidgetPrivate:
this=
offset=..., flags=flags@
backingStor
#21 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#22 0x00007ffff57fd786 in QWidgetPrivate:
this=
offset=..., flags=flags@
backingStor
#23 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
index@entry=0, rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#24 0x00007ffff57fe434 in QWidgetPrivate:
---Type <return> to continue, or q <return> to quit---
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#25 0x00007ffff57fe434 in QWidgetPrivate:
this=
siblings=
offset=..., flags=flags@
backingStor
#26 0x00007ffff57fd786 in QWidgetPrivate:
this=
offset=..., flags=flags@
backingStor
#27 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#28 0x00007ffff57fd786 in QWidgetPrivate:
this=
offset=..., flags=flags@
---Type <return> to continue, or q <return> to quit---
backingStor
#29 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#30 0x00007ffff57fd786 in QWidgetPrivate:
this=
offset=..., flags=flags@
backingStor
#31 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#32 0x00007ffff57fd786 in QWidgetPrivate:
this=
flags=
backingStor
#33 0x00007ffff57fe5bc in QWidgetPrivate:
this=
---Type <return> to continue, or q <return> to quit---
siblings=
index@entry=0, rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#34 0x00007ffff57fe434 in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#35 0x00007ffff57fe434 in QWidgetPrivate:
this=
siblings=
offset=..., flags=flags@
backingStor
#36 0x00007ffff57fd786 in QWidgetPrivate:
this=
flags=
backingStor
#37 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
---Type <return> to continue, or q <return> to quit---
sharedPaint
backingStor
#38 0x00007ffff57fd786 in QWidgetPrivate:
this=
flags=
backingStor
#39 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#40 0x00007ffff57fd786 in QWidgetPrivate:
this=
flags=
backingStor
#41 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#42 0x00007ffff57fd786 in QWidgetPrivate:
---Type <return> to continue, or q <return> to quit---
this=
offset=..., flags=flags@
backingStor
#43 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#44 0x00007ffff57fd786 in QWidgetPrivate:
this=
flags=
backingStor
#45 0x00007ffff57fe5bc in QWidgetPrivate:
this=
siblings=
rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
#46 0x00007ffff57fd786 in QWidgetPrivate:
pdev=0x170d6f0, rgn=..., offset=..., flags=flags@
sharedPaint
backingStor
---Type <return> to continue, or q <return> to quit---
#47 0x00007ffff57d4233 in QWidgetBackingS
at kernel/
#48 0x00007ffff57f3e2f in QWidgetPrivate:
this=
#49 0x00007ffff5803112 in QWidget::event (this=0x7ffffff
at kernel/
#50 0x00007ffff57c7c8c in QApplicationPri
this=
e=e@
#51 0x00007ffff57cce56 in QApplication:
receiver=
#52 0x00007ffff4982c2d in QCoreApplicatio
this=
at kernel/
#53 0x00007ffff4984e07 in sendEvent (event=0x16a2d00, receiver=<optimized out>)
at ../../include/
#54 QCoreApplicatio
event_
at kernel/
#55 0x00007ffff4985433 in QCoreApplicatio
receiver=
at kernel/
#56 0x00007ffff49cfcd3 in postEventSource
---Type <return> to continue, or q <return> to quit---
at kernel/
#57 0x00007ffff0f2ae04 in g_main_
from /lib/x86_
#58 0x00007ffff0f2b048 in ?? () from /lib/x86_
#59 0x00007ffff0f2b0ec in g_main_
from /lib/x86_
#60 0x00007ffff49cf98c in QEventDispatche
flags=...) at kernel/
#61 0x00007ffff498196b in QEventLoop::exec (this=this@
flags=..., flags@entry=...) at kernel/
#62 0x00007ffff49880e1 in QCoreApplicatio
at kernel/
#63 0x00007ffff511a11c in QGuiApplication
at kernel/
#64 0x00007ffff57c6605 in QApplication::exec () at kernel/
#65 0x0000000000475533 in runMixxx (args=..., app=0x7fffffffdd80)
at src/main.cpp:53
#66 main (argc=1, argv=<optimized out>) at src/main.cpp:132
Changed in mixxx: | |
milestone: | none → 2.2.0 |
importance: | Undecided → Critical |
Be (be.ing) wrote : | #1 |
ronso0 (ronso0) wrote : | #2 |
I'm on Trusty as well, and I compiled master & lib-redesign with qt5.2.
There are various crashers appearantly related to waveforms and other paint events.
Changed in mixxx: | |
status: | New → In Progress |
assignee: | nobody → Daniel Schürmann (daschuer) |
Daniel Schürmann (daschuer) wrote : | #3 |
It crashes when the library is sibling with spinnies. This leads to a size change during painting which invalidated the QPaintDevice and leads to the crash:
QPaintDevice: Cannot destroy paint device that is being painted"
The style is unrelated.
Not sure what is special with the spinnies in tango that it only crashes here.
Anyway, the bug can be fixed if we remove the temporary button, used for painting all preview buttons, from the QT Object tree. I have used a std::unique_ptr instead.
ronso0 (ronso0) wrote : | #5 |
> It crashes when the library is sibling with spinnies
What does that mean?
I suppose you want to link to https:/
Daniel Schürmann (daschuer) wrote : | #6 |
If I remove the library, no crash.
If I remove the spinnies, no ctash.
If I parent the render button to a the menu bar, no crash.
Since the button dies not inherit style from a parent, no parent is the cleanest solution.
ronso0 (ronso0) wrote : | #7 |
fine, if it's fixed.
I compiled 2.1 with qt5.2 and removed the spinny templates.
It crashed when I opened the Skin Settings.
Removed the library (main table, tree is there) as well, and it didn't crash.
Deere also crashed on various occasions until I removed the lib table.
ronso0 (ronso0) wrote : | #8 |
so it was the Library Preview button..
Changed in mixxx: | |
status: | In Progress → Fix Committed |
Changed in mixxx: | |
milestone: | 2.2.0 → 2.1.2 |
I have been using Tango fine with Qt 5.10. I am guessing this is related to the old version of Qt.