Application: kinfocenter (5.2.0) (Compiled from sources) Qt Version: 5.4.0 Operating System: Linux 3.18.3-grsec x86_64 -- Information about the crash: - What I was doing when the application crashed: Viewing PCI bus information, when libpci doesn't have permissions to use any of its access methods (i.e. if filesystem permissions prohibit both /proc/bus/pci and /sys/bus, or if the user is running a grsecurity kernel without the appropriate permissions group). This results in an abnormal exit because libpci's default error handling method is literally "exit(1)", although i'm not sure why the stack unwinding results in a segfault. A patch that demonstrates a hacky fix for GetInfo_PCIUtils() is available at https://github.com/wolfbox/packages/blob/master/kde/plasma/kinfocenter/fix-libpci-segfault.patch . The crash can be reproduced every time. -- Backtrace: Application: KDE Info Center (kinfocenter), signal: Segmentation fault [KCrash Handler] #5 0x000002ef19bf1883 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x000002ef19bf0aeb in QPropertyAnimation::updateState(QAbstractAnimation::State, QAbstractAnimation::State) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x000002ef19be8d09 in QAbstractAnimation::stop() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x000002ef19befc97 in QPropertyAnimation::~QPropertyAnimation() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #9 0x000002ef09cdc9f3 in () at /usr/lib/x86_64-linux-gnu/qt/plugins/styles/breeze.so #10 0x000002ef19e2756c in QObjectPrivate::deleteChildren() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #11 0x000002ef19e31953 in QObject::~QObject() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #12 0x000002ef09cdda63 in () at /usr/lib/x86_64-linux-gnu/qt/plugins/styles/breeze.so #13 0x000002ef19e2756c in QObjectPrivate::deleteChildren() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #14 0x000002ef19e31953 in QObject::~QObject() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x000002ef09cdeb1d in () at /usr/lib/x86_64-linux-gnu/qt/plugins/styles/breeze.so #16 0x000002ef19e2756c in QObjectPrivate::deleteChildren() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #17 0x000002ef19e31953 in QObject::~QObject() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #18 0x000002ef09cddd31 in () at /usr/lib/x86_64-linux-gnu/qt/plugins/styles/breeze.so #19 0x000002ef19e2756c in QObjectPrivate::deleteChildren() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #20 0x000002ef19e31953 in QObject::~QObject() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #21 0x000002ef09cb59fc in () at /usr/lib/x86_64-linux-gnu/qt/plugins/styles/breeze.so #22 0x000002ef19e286fa in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x000002ef19e2949f in QObject::destroyed(QObject*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x000002ef19e31beb in QObject::~QObject() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x000002ef09ccdab7 in () at /usr/lib/x86_64-linux-gnu/qt/plugins/styles/breeze.so #26 0x000002ef19dedd57 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #27 0x000002ef19de5f03 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x000002ef19de6129 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #29 0x000002ef19e3199b in QObject::~QObject() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #30 0x000002ef19de50e2 in QFactoryLoader::~QFactoryLoader() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #31 0x000002ef1a7474e9 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #32 0x000002ef194ad3c2 in () at /lib/x86_64-linux-gnu/libc.so.6 #33 0x000002ef194ad415 in () at /lib/x86_64-linux-gnu/libc.so.6 #34 0x000002ef022d1c0a in pci_generic_error (msg=0x2ef022d72c8 "Cannot find any working access method.") at init.c:102 #35 0x000002ef022d1ee1 in pci_init (a=0x181a920) at init.c:210 #36 0x000002ef0272dd0a in GetInfo_PCIUtils(QTreeWidget*) (tree=tree@entry=0x18c7370) at /home/andrew/packages/kde/plasma/kinfocenter/src/kinfocenter-5.2.0/Modules/pci/kpci.cpp:737 #37 0x000002ef02720ebd in GetInfo_PCI(QTreeWidget*) (tree=0x18c7370) at /home/andrew/packages/kde/plasma/kinfocenter/src/kinfocenter-5.2.0/Modules/base/info_linux.cpp:136 #38 0x000002ef0271dc2d in KCMPci::load() (this=0x1861110) at /home/andrew/packages/kde/plasma/kinfocenter/src/kinfocenter-5.2.0/Modules/pci/kcm_pci.cpp:74 #39 0x000002ef1b91e849 in () at /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5 #40 0x000002ef19e29eca in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #41 0x000002ef1a722447 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #42 0x000002ef1a6df1ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #43 0x000002ef1a6e47e0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #44 0x000002ef19df974b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #45 0x000002ef19dfb78b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #46 0x000002ef19e505d3 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #47 0x000002ef14ebb65d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #48 0x000002ef14ebb948 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #49 0x000002ef14ebb9fc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #50 0x000002ef19e509c7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #51 0x000002ef19df6fe2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #52 0x000002ef19dfea8c in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #53 0x0000000000414002 in main(int, char**) (argc=1, argv=0x3ffd1b256e8) at /home/andrew/packages/kde/plasma/kinfocenter/src/kinfocenter-5.2.0/main.cpp:72 Reported using DrKonqi
While the exit() certainly is not nice, the actual crash seems to be caused by breeze style keeping global objects which reference animations for widgets that may already be deleted.
Should I file another bug with debugging symbols for Qt and Breeze in the backtrace?
the crash is in pci_scan_bus(PCIAccess); line 741 of kpci.cpp the weird thing is that it tests for sysfs to be available, and returns non zero, then tries a scan_bus on it, and that explodes (is not even acrash, pciutils just quits the application)
fixed in master
still some problems, actually
*** This bug has been marked as a duplicate of bug 382979 ***