Bug 351796 - kinfocenter crashes on exit after processing command line switch
Summary: kinfocenter crashes on exit after processing command line switch
Status: RESOLVED WORKSFORME
Alias: None
Product: kinfocenter
Classification: Applications
Component: general (show other bugs)
Version: 5.4.0
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: David Hubner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-26 11:05 UTC by Martin Walch
Modified: 2018-11-03 15:00 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Walch 2015-08-26 11:05:57 UTC
Whenever running kinfocenter from command line with any of the four available switches (-v -h --author --license) or any unrecognized switch, kinfocenter successfully processes that switch, but segfaults on exit.

Interestingly, when gdb catches the SIGSEGV, there is a window for kinfocenter alive.

This may be related to bug #347344.

$ gdb /usr/bin/kinfocenter 
GNU gdb (Gentoo 7.7.1 p1) 7.7.1
[…]
This GDB was configured as "x86_64-pc-linux-gnu".
[…]
Reading symbols from /usr/bin/kinfocenter...done.
(gdb) run -v
Starting program: /usr/bin/kinfocenter -v
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe7a32700 (LWP 4305)]
QObject::connect: No such signal QAction::triggered(Qt::MouseButtons,Qt::KeyboardModifiers)
QObject::connect:  (sender name:   'search')
kinfocenter 

Program received signal SIGSEGV, Segmentation fault.
Breeze::StyleConfigData::self () at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/breezestyleconfigdata.cpp:25
25      /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/breezestyleconfigdata.cpp: No such file or directory.
(gdb) bt
#0  Breeze::StyleConfigData::self () at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/breezestyleconfigdata.cpp:25
#1  0x00007fffe56f02fc in Breeze::Style::Style (this=0x7b43f0) at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyle.cpp:163
#2  0x00007fffe56fb22b in Breeze::StylePlugin::create (this=0x86d980, key=...)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyleplugin.cpp:38
#3  0x00007ffff6343e1b in qLoadPlugin<QStyle, QStylePlugin> (loader=0x7ffff67c0830 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, key=...)
    at /usr/include/qt5/QtCore/5.5.0/QtCore/private/qfactoryloader_p.h:92
#4  0x00007ffff6343a55 in QStyleFactory::create (key=...) at styles/qstylefactory.cpp:163
#5  0x00007ffff6369e30 in QProxyStylePrivate::ensureBaseStyle (this=this@entry=0x6c8070) at styles/qproxystyle.cpp:93
#6  0x00007ffff636a9c2 in QProxyStyle::event (this=<optimized out>, e=0x7fffffffcd60) at styles/qproxystyle.cpp:380
#7  0x00007ffff62df689 in QApplicationPrivate::notify_helper (this=this@entry=0x623050, receiver=receiver@entry=0x833d70, e=e@entry=0x7fffffffcd60)
    at kernel/qapplication.cpp:3717
#8  0x00007ffff62e44fc in QApplication::notify (this=0x7fffffffd500, receiver=0x833d70, e=0x7fffffffcd60) at kernel/qapplication.cpp:3161
#9  0x00007ffff5ad279b in QCoreApplication::notifyInternal (this=0x7fffffffd500, receiver=0x833d70, event=event@entry=0x7fffffffcd60)
    at kernel/qcoreapplication.cpp:965
#10 0x00007ffff5b01ad9 in sendEvent (event=0x7fffffffcd60, receiver=<optimized out>) at kernel/qcoreapplication.h:224
#11 QObjectPrivate::setParent_helper (this=this@entry=0x8057c0, o=o@entry=0x0) at kernel/qobject.cpp:1977
#12 0x00007ffff5b022cc in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1038
#13 0x00007ffff6342151 in QStyle::~QStyle (this=<optimized out>, __in_chrg=<optimized out>) at styles/qstyle.cpp:413
#14 0x00007ffff63484d3 in QCommonStyle::~QCommonStyle (this=<optimized out>, __in_chrg=<optimized out>) at styles/qcommonstyle.cpp:123
#15 0x00007fffe54add8d in KStyle::~KStyle (this=0x805730, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-frameworks/frameworkintegration-5.13.0/work/frameworkintegration-5.13.0/src/kstyle/kstyle.cpp:191
#16 0x00007fffe56ee942 in Breeze::Style::~Style (this=0x805730, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyle.cpp:201
#17 0x00007fffe56ee959 in Breeze::Style::~Style (this=0x805730, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyle.cpp:206
#18 0x00007fffe56fb121 in operator() (__closure=<synthetic pointer>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyleplugin.cpp:43
#19 call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:495
#20 call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:552
#21 QtPrivate::QFunctorSlotObject<Breeze::StylePlugin::create(const QString&)::__lambda1, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>)
    at /usr/include/qt5/QtCore/qobject_impl.h:192
#22 0x00007ffff5afb5fa in call (a=<optimized out>, r=0x805730, this=0x878ef0) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#23 QMetaObject::activate (sender=sender@entry=0x659190, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, 
    argv=argv@entry=0x7fffffffd030) at kernel/qobject.cpp:3703
#24 0x00007ffff5afbb46 in QMetaObject::activate (sender=sender@entry=0x659190, m=m@entry=0x7ffff5cf6a00 <QObject::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd030) at kernel/qobject.cpp:3583
#25 0x00007ffff5afbbd5 in QObject::destroyed (this=this@entry=0x659190, _t1=_t1@entry=0x659190) at .moc/moc_qobject.cpp:211
#26 0x00007ffff5b01d47 in QObject::~QObject (this=0x659190, __in_chrg=<optimized out>) at kernel/qobject.cpp:904
#27 0x00007ffff634542d in QStylePlugin::~QStylePlugin (this=<optimized out>, __in_chrg=<optimized out>) at styles/qstyleplugin.cpp:97
#28 0x00007fffe56fb141 in Breeze::StylePlugin::~StylePlugin (this=<optimized out>, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyleplugin.cpp:52
#29 0x00007fffe56fb155 in Breeze::StylePlugin::~StylePlugin (this=0x659190, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyleplugin.cpp:54
#30 0x00007ffff5acb309 in QLibraryPrivate::unload (this=this@entry=0x65c150, flag=flag@entry=QLibraryPrivate::UnloadSys) at plugin/qlibrary.cpp:553
#31 0x00007ffff5ac55bb in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x659090, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:88
#32 0x00007ffff5ac56f3 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x659090, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:91
#33 0x00007ffff5b022df in cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:54
#34 ~QScopedPointer (this=0x7ffff67c0838 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder+8>, __in_chrg=<optimized out>)
    at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:101
#35 QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:883
#36 0x00007ffff5ac7cfc in QFactoryLoader::~QFactoryLoader (this=0x7ffff67c0830 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, 
    __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:226
#37 0x00007ffff6343dc5 in (anonymous namespace)::Q_QGS_loader::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>) at styles/qstylefactory.cpp:70
#38 0x00007ffff6343dc5 in operator() (this=<optimized out>) from /usr/lib64/libQt5Widgets.so.5
#39 (anonymous namespace)::Q_QGS_loader::innerFunction()::Holder::~Holder() () at styles/qstylefactory.cpp:163
#40 0x00007ffff522eb99 in ?? () from /lib64/libc.so.6
#41 0x00007ffff522ebe5 in exit () from /lib64/libc.so.6
#42 0x00007ffff5948698 in QCommandLineParser::showVersion (this=this@entry=0x7fffffffd4e0) at tools/qcommandlineparser.cpp:945
#43 0x00007ffff594c2e1 in QCommandLineParser::process (this=this@entry=0x7fffffffd4e0, arguments=...) at tools/qcommandlineparser.cpp:541
#44 0x00007ffff594c3f1 in QCommandLineParser::process (this=this@entry=0x7fffffffd4e0, app=...) at tools/qcommandlineparser.cpp:556
#45 0x0000000000415c34 in main (argc=2, argv=0x7fffffffd648) at /var/tmp/portage/kde-plasma/kinfocenter-5.4.0/work/kinfocenter-5.4.0/main.cpp:69


Reproducible: Always

Steps to Reproduce:
1. run from command line kinfocenter -v


Actual Results:  
crash, kinfocenter window opens

Expected Results:  
no crash, no window
Comment 1 Tony 2016-10-02 16:15:58 UTC
Still present on Neon, kinfocenter 5.80.90
Comment 2 Andrew Crouthamel 2018-11-01 13:45:02 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Martin Walch 2018-11-03 15:00:08 UTC
Fixed for me with kinfocenter 5.13.5 (in KDE Applications 18.04.3).