Bug #1166
Crash when launching in QT Winamp Classic interface (qtpbfimageformat related)
100%
Description
Hey, John.
After a recent-ish upgrade to Fedora 34, Audacious 4.1-2.fc34.x86_64
now crashes when configured to use the Winamp Classic UI.
QFontDatabase: Must construct a QGuiApplication before accessing QFontDatabase Aborted (core dumped)
If I toggle off the Winamp Classic Interface
config setting in plugin-registry
, it loads fine. Then enabling the Classic skin at runtime works fine--the app is happy to run for days.
I don't know which library versions would be helpful.
[eric@kohlenstoff audacious]$ rpm -qa | grep qt | sort dbusmenu-qt-0.9.3-0.26.20160218.fc34.x86_64 dbusmenu-qt5-0.9.3-0.26.20160218.fc34.x86_64 gstreamer1-plugins-good-qt-1.19.1-2.1.18.4.fc34.x86_64 polkit-qt5-1-0.113.0-6.fc34.x86_64 poppler-qt5-21.01.0-7.fc34.x86_64 qpdfview-qt5-0.4.18-6.fc34.x86_64 qt-4.8.7-61.fc34.x86_64 qt5-qtbase-5.15.2-22.fc34.x86_64 qt5-qtbase-common-5.15.2-22.fc34.noarch qt5-qtbase-devel-5.15.2-22.fc34.x86_64 qt5-qtbase-gui-5.15.2-22.fc34.x86_64 qt5-qtdeclarative-5.15.2-7.fc34.x86_64 qt5-qtdeclarative-devel-5.15.2-7.fc34.x86_64 qt5-qtlocation-5.15.2-5.fc34.x86_64 qt5-qtmultimedia-5.15.2-3.fc34.x86_64 qt5-qtpbfimageformat-2.3-3.fc34.x86_64 qt5-qtscript-5.15.2-3.fc34.x86_64 qt5-qtsensors-5.15.2-4.fc34.x86_64 qt5-qtspeech-5.15.2-3.fc34.x86_64 qt5-qtspeech-speechd-5.15.2-3.fc34.x86_64 qt5-qtsvg-5.15.2-4.fc34.x86_64 qt5-qtwayland-5.15.2-14.fc34.x86_64 qt5-qtwebchannel-5.15.2-3.fc34.x86_64 qt5-qtwebkit-5.212.0-0.59.alpha4.fc34.x86_64 qt5-qtwebkit-devel-5.212.0-0.59.alpha4.fc34.x86_64 qt5-qtx11extras-5.15.2-3.fc34.x86_64 qt5-rpm-macros-5.15.2-2.fc34.noarch qt5-srpm-macros-5.15.2-2.fc34.noarch qt-common-4.8.7-61.fc34.noarch qt-settings-34.7-2.fc34.noarch qt-x11-4.8.7-61.fc34.x86_64 sni-qt-0.2.7-0.8.20170217.fc34.x86_64
Thanks again for all the work you put into this program--it's still the most intuitive and powerful media player for a long-time Winamp user across all platforms.
History
#1 Updated by John Lindgren over 2 years ago
Interesting. I grep'ped for QFontDatabase in our code, and we don't use it directly.
Can you provide a debugger backtrace of the crash? Also, what version of Qt are you using?
Edit: saw that you already provided Qt versions, thanks.
#2 Updated by John Lindgren over 2 years ago
Some others were having a similar issue in Fedora 33 apparently:
https://redmine.audacious-media-player.org/boards/1/topics/2748
Based on the workaround in that thread, can you try uninstalling qt5-qtpbfimageformat
(it's not required for Audacious) and see if that fixes the issue?
#3 Updated by Eric Lawler over 2 years ago
John Lindgren wrote:
Some others were having a similar issue in Fedora 33 apparently:
https://redmine.audacious-media-player.org/boards/1/topics/2748Based on the workaround in that thread, can you try uninstalling
qt5-qtpbfimageformat
(it's not required for Audacious) and see if that fixes the issue?
Ah! I did a quick DDG for that error message and didn't see anything salient; I didn't even know Audacious had forums. Nothing else on my system required qtpbfimageformat ("Qt image plugin for displaying Mapbox vector tiles"), so it was no problem to remove. That fixes the crash.
I've never worked with Mapbox directly, I have no idea what pulled in that library. Suspicious.
Thanks for the quick response, enjoy your weekend!
#4 Updated by John Lindgren over 2 years ago
Okay I was able to reproduce here on Arch Linux after installing qt5-pbfimageplugin
from AUR.
The backtrace here is:
#0 0x00007ffff772134c in __pthread_kill_implementation () at /usr/lib/libc.so.6 #1 0x00007ffff76d44b8 in raise () at /usr/lib/libc.so.6 #2 0x00007ffff76be534 in abort () at /usr/lib/libc.so.6 #3 0x00007ffff7208ee4 in qt_assert(char const*, char const*, int) () at /usr/lib/libQt5Core.so.5 #4 0x00007fffe1864884 in () at /usr/lib/libQt5Gui.so.5 #5 0x00007fffcc6d9767 in fonts() () at src/font.cpp:62 #6 0x00007fffcc6dc6ad in matchFamily (family=...) at src/font.cpp:101 #7 Font::fromJsonArray(QJsonArray const&) (json=...) at src/font.cpp:123 #8 0x00007fffcc6d3402 in Style::Layer::Layout::Layout(QJsonObject const&) (this=0x7fffffffd160, json=..., this=<optimized out>, json=<optimized out>) at src/style.cpp:369 #9 0x00007fffcc6d5823 in Style::Layer::Layer(QJsonObject const&) (this=0x7fffffffd560, json=..., this=<optimized out>, json=<optimized out>) at src/style.cpp:500 #10 0x00007fffcc6d67fc in Style::load(QString const&) (this=<optimized out>, fileName=<optimized out>) at src/style.cpp:598 #11 0x00007fffcc6d80e4 in PBFPlugin::PBFPlugin() (this=0x5555575a8810, this=<optimized out>) at src/pbfplugin.cpp:16 #12 0x00007fffcc6e7ff7 in qt_plugin_instance() () at /usr/src/debug/QtPBFImagePlugin-2.3/moc_pbfplugin.cpp:124 #13 0x00007ffff73f08e0 in () at /usr/lib/libQt5Core.so.5 #14 0x00007ffff73ea635 in QFactoryLoader::instance(int) const () at /usr/lib/libQt5Core.so.5 #15 0x00007fffe191776d in () at /usr/lib/libQt5Gui.so.5 #16 0x00007fffe1918f44 in () at /usr/lib/libQt5Gui.so.5 #17 0x00007fffe191a178 in QImageReader::read(QImage*) () at /usr/lib/libQt5Gui.so.5 #18 0x00007fffe191b30b in QImageReader::read() () at /usr/lib/libQt5Gui.so.5 #19 0x00007fffe18ff47e in QImage::load(QString const&, char const*) () at /usr/lib/libQt5Gui.so.5 #20 0x00007fffcca6b5c0 in skin_load_pixmap_id (path=0x5555555b1ce0 "/usr/share/audacious/Skins/Default", id=SKIN_MAIN) at skin.cc:108 #21 skin_load_pixmaps (path=0x5555555b1ce0 "/usr/share/audacious/Skins/Default") at skin.cc:212 #22 skin_load_data (path=0x5555555b1ce0 "/usr/share/audacious/Skins/Default") at skin.cc:244 #23 skin_load(char const*) (path=0x5555555b1ce0 "/usr/share/audacious/Skins/Default") at skin.cc:270 #24 0x00007fffcca68653 in load_initial_skin () at plugin.cc:120 #25 QtSkins::init() (this=<optimized out>) at plugin.cc:169 #26 0x00007ffff7f55625 in interface_load (plugin=0x5555555be4a0) at interface.cc:72 #27 iface_plugin_set_current(PluginHandle*) (plugin=0x5555555be4a0) at interface.cc:142 #28 0x00007ffff7f6767b in start_plugin(PluginType, PluginHandle*, bool) (type=type@entry=PluginType::Iface, p=p@entry=0x5555555be4a0, secondary=secondary@entry=false) at ../libaudcore/templates.h:224 #29 0x00007ffff7f67a36 in start_required (type=PluginType::Iface) at plugin-init.cc:136 #30 start_plugins(PluginType) (type=type@entry=PluginType::Iface) at plugin-init.cc:169 #31 0x00007ffff7f67c86 in start_plugins_two() () at plugin-init.cc:210 #32 0x00007ffff7f6d0b2 in aud_run() () at runtime.cc:342 #33 0x0000555555561c5d in main(int, char**) (argc=<optimized out>, argv=0x7fffffffe8e8) at main.cc:420
Working on a fix.
#5 Updated by John Lindgren over 2 years ago
- % Done changed from 0 to 100
- Target version set to 4.2
- Status changed from New to Closed
- Category set to plugins/skins-qt
- Subject changed from Crash when launching in QT Winamp Classic interface to Crash when launching in QT Winamp Classic interface (qtpbfimageformat related)
Simple enough fix:
https://github.com/audacious-media-player/audacious-plugins/commit/7f9f51b8c43e5ec844e034c8b9bec2d047f6a616
Thanks for the report, and enjoy your weekend as well!