Bug 363838

Summary: drkonqi crashed before bugzilla login page
Product: [Applications] drkonqi Reporter: Andrew <travneff>
Component: generalAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: galagann, net147, spearhead2k3, wbauer1
Priority: NOR    
Version: 5.6.4   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Andrew 2016-06-02 11:35:26 UTC
Have a crash while switching from backtrace page to bugzilla login:

(gdb) bt
#0  0x00007efc1ab0114d in nanosleep () from /lib64/libc.so.6
#1  0x00007efc1ab0109a in sleep () from /lib64/libc.so.6
#2  0x00007efc1e658b32 in KCrash::startProcess(int, char const**, bool) () from /lib64/libKF5Crash.so.5
#3  0x00007efc1e658fdf in KCrash::defaultCrashHandler(int) () from /lib64/libKF5Crash.so.5
#4  <signal handler called>
#5  0x00007efc1f1cb1b1 in QDBusAbstractInterface::asyncCallWithArgumentList(QString const&, QList<QVariant> const&) () from /lib64/libQt5DBus.so.5
#6  0x00007efc1dc83ff1 in KWallet::Wallet::isOpen(QString const&) () from /lib64/libKF5Wallet.so.5
#7  0x000056501afa223e in BugzillaLoginPage::openWallet() ()
#8  0x000056501afa4f78 in BugzillaLoginPage::walletLogin() ()
#9  0x00007efc1b961c96 in QSingleShotTimer::timerEvent(QTimerEvent*) () from /lib64/libQt5Core.so.5
#10 0x00007efc1b9563d3 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#11 0x00007efc1c26331f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#12 0x00007efc1c26855f in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#13 0x00007efc1b927b98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#14 0x00007efc1b97d59e in QTimerInfoList::activateTimers() () from /lib64/libQt5Core.so.5
#15 0x00007efc1b97dac1 in timerSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#16 0x00007efc18412703 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#17 0x00007efc18412ab0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#18 0x00007efc18412b5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#19 0x00007efc1b97e69b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#20 0x00007efc1b9258ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#21 0x00007efc1b92e28c in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#22 0x000056501af66e5f in main ()

(gdb) disas
Dump of assembler code for function nanosleep:
   0x00007efc1ab01120 <+0>:     cmpl   $0x0,0x2f95d9(%rip)        # 0x7efc1adfa700 <__libc_multiple_threads>
   0x00007efc1ab01127 <+7>:     jne    0x7efc1ab01139 <nanosleep+25>
   0x00007efc1ab01129 <+0>:     mov    $0x23,%eax
   0x00007efc1ab0112e <+5>:     syscall 
   0x00007efc1ab01130 <+7>:     cmp    $0xfffffffffffff001,%rax
   0x00007efc1ab01136 <+13>:    jae    0x7efc1ab01169 <nanosleep+73>
   0x00007efc1ab01138 <+15>:    retq   
   0x00007efc1ab01139 <+25>:    sub    $0x8,%rsp
   0x00007efc1ab0113d <+29>:    callq  0x7efc1ab495c0 <__libc_enable_asynccancel>
   0x00007efc1ab01142 <+34>:    mov    %rax,(%rsp)
   0x00007efc1ab01146 <+38>:    mov    $0x23,%eax
   0x00007efc1ab0114b <+43>:    syscall 
=> 0x00007efc1ab0114d <+45>:    mov    (%rsp),%rdi
   0x00007efc1ab01151 <+49>:    mov    %rax,%rdx
   0x00007efc1ab01154 <+52>:    callq  0x7efc1ab49620 <__libc_disable_asynccancel>
   0x00007efc1ab01159 <+57>:    mov    %rdx,%rax
   0x00007efc1ab0115c <+60>:    add    $0x8,%rsp
   0x00007efc1ab01160 <+64>:    cmp    $0xfffffffffffff001,%rax
   0x00007efc1ab01166 <+70>:    jae    0x7efc1ab01169 <nanosleep+73>
   0x00007efc1ab01168 <+72>:    retq   
   0x00007efc1ab01169 <+73>:    mov    0x2f3cf8(%rip),%rcx        # 0x7efc1adf4e68
   0x00007efc1ab01170 <+80>:    neg    %eax
   0x00007efc1ab01172 <+82>:    mov    %eax,%fs:(%rcx)
   0x00007efc1ab01175 <+85>:    or     $0xffffffffffffffff,%rax
   0x00007efc1ab01179 <+89>:    retq   
End of assembler dump.

Fedora 24 x64
kde-runtime-drkonqi-16.04.1-1.fc24.x86_64
plasma-workspace-drkonqi-5.6.4-1.fc24.x86_64
kde-runtime-libs-16.04.1-1.fc24.x86_64
kdelibs-4.14.20-1.fc24.x86_64
qt5-qtbase-5.6.0-13.fc24.x86_64
qt5-qtbase-gui-5.6.0-13.fc24.x86_64
kf5-kcrash-5.22.0-1.fc24.x86_64

Reproducible: Sometimes
Comment 1 Jonathan Liu 2016-08-23 06:50:57 UTC
I got a similar crash on Arch Linux 64-bit with 5.7.3. Seems to be a null pointer dereference.

Application: drkonqi (drkonqi), signal: Segmentation fault                                                                                                                                                                       
Using host libthread_db library "/usr/lib/libthread_db.so.1".                                                                                                                                                                    
[Current thread is 1 (Thread 0x7fc34a2587c0 (LWP 17413))]                                                                                                                                                                        
                                                                                                                                                                                                                                 
Thread 3 (Thread 0x7fc32f280700 (LWP 17419)):                                                                                                                                                                                    
#0  0x00007fc3458c54ed in read () from /usr/lib/libc.so.6                                                                                                                                                                        
#1  0x00007fc341bb8c80 in ?? () from /usr/lib/libglib-2.0.so.0                                                                                                                                                                   
#2  0x00007fc341b75ab4 in g_main_context_check () from /usr/lib/libglib-2.0.so.0                                                                                                                                                 
#3  0x00007fc341b75f74 in ?? () from /usr/lib/libglib-2.0.so.0                                                                                                                                                                   
#4  0x00007fc341b760ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0                                                                                                                                             
#5  0x00007fc3461eb5ab in QEventDispatcherGlib::processEvents (this=0x7fc3280008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425                                                                                           
#6  0x00007fc3461950ea in QEventLoop::exec (this=this@entry=0x7fc32f27fdd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210                                                                                             
#7  0x00007fc345fb80f3 in QThread::exec (this=this@entry=0x7fc347805d20 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507                                                            
#8  0x00007fc347594645 in QDBusConnectionManager::run (this=0x7fc347805d20 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:196                                                        
#9  0x00007fc345fbcd78 in QThreadPrivate::start (arg=0x7fc347805d20 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:344                                                           
#10 0x00007fc343875454 in start_thread () from /usr/lib/libpthread.so.0                                                                                                                                                          
#11 0x00007fc3458d27df in clone () from /usr/lib/libc.so.6                                                                                                                                                                       
                                                                                                                                                                                                                                 
Thread 2 (Thread 0x7fc337909700 (LWP 17414)):                                                                                                                                                                                    
#0  0x00007fc3458c948d in poll () from /usr/lib/libc.so.6                                                                                                                                                                        
#1  0x00007fc340bf58e0 in ?? () from /usr/lib/libxcb.so.1                                                                                                                                                                        
#2  0x00007fc340bf7679 in xcb_wait_for_event () from /usr/lib/libxcb.so.1                                                                                                                                                        
#3  0x00007fc33984a469 in QXcbEventReader::run (this=0x1fc6950) at qxcbconnection.cpp:1337
#4  0x00007fc345fbcd78 in QThreadPrivate::start (arg=0x1fc6950) at thread/qthread_unix.cpp:344
#5  0x00007fc343875454 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007fc3458d27df in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fc34a2587c0 (LWP 17413)):
[KCrash Handler]
#5  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:141
#6  qGetPtrHelper<QScopedPointer<QObjectData> > (p=...) at ../../include/QtCore/../../src/corelib/global/qglobal.h:980
#7  QDBusAbstractInterface::d_func (this=<optimized out>) at qdbusabstractinterface.h:158
#8  QDBusAbstractInterface::asyncCallWithArgumentList (this=0x0, method=..., args=...) at qdbusabstractinterface.cpp:519
#9  0x00007fc348ce1511 in KWallet::Wallet::isOpen(QString const&) () from /usr/lib/libKF5Wallet.so.5
#10 0x00000000004559fe in BugzillaLoginPage::openWallet (this=0x2629120) at /tmp/plasma-workspace/src/plasma-workspace-5.7.3/drkonqi/bugzillaintegration/reportassistantpages_bugzilla.cpp:177
#11 0x0000000000457e38 in BugzillaLoginPage::walletLogin (this=0x2629120) at /tmp/plasma-workspace/src/plasma-workspace-5.7.3/drkonqi/bugzillaintegration/reportassistantpages_bugzilla.cpp:187
#12 0x00007fc3461cf306 in QtPrivate::QSlotObjectBase::call (a=0x7ffe4e0737c0, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:130
#13 QSingleShotTimer::timerEvent (this=0x29d6010) at kernel/qtimer.cpp:317
#14 0x00007fc3461c3313 in QObject::event (this=0x29d6010, e=<optimized out>) at kernel/qobject.cpp:1285
#15 0x00007fc346e76e3c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x29d6010, e=0x7ffe4e073aa0) at kernel/qapplication.cpp:3799
#16 0x00007fc346e7e5b1 in QApplication::notify (this=0x7ffe4e073f50, receiver=0x29d6010, e=0x7ffe4e073aa0) at kernel/qapplication.cpp:3556
#17 0x00007fc346196c90 in QCoreApplication::notifyInternal2 (receiver=0x29d6010, event=event@entry=0x7ffe4e073aa0) at kernel/qcoreapplication.cpp:988
#18 0x00007fc3461ea52e in QCoreApplication::sendEvent (event=0x7ffe4e073aa0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#19 QTimerInfoList::activateTimers (this=0x1ff10b0) at kernel/qtimerinfo_unix.cpp:644
#20 0x00007fc3461eaa51 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#21 0x00007fc341b75dd7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#22 0x00007fc341b76040 in ?? () from /usr/lib/libglib-2.0.so.0
#23 0x00007fc341b760ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#24 0x00007fc3461eb5ab in QEventDispatcherGlib::processEvents (this=0x1ff92d0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#25 0x00007fc3461950ea in QEventLoop::exec (this=this@entry=0x7ffe4e073cf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#26 0x00007fc34619d5dc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#27 0x00007fc3466dc9bc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1639
#28 0x00007fc346e76d95 in QApplication::exec () at kernel/qapplication.cpp:2975
#29 0x000000000041d701 in main (argc=<optimized out>, argv=<optimized out>) at /tmp/plasma-workspace/src/plasma-workspace-5.7.3/drkonqi/main.cpp:170
Comment 2 Jonathan Liu 2016-08-23 06:58:13 UTC
Note that I have "Enable the KDE wallet subsystem" unchecked in the KDE Wallet System Settings Module.
Comment 3 Wolfgang Bauer 2016-08-23 20:32:25 UTC
(In reply to Jonathan Liu from comment #2)
> Note that I have "Enable the KDE wallet subsystem" unchecked in the KDE
> Wallet System Settings Module.

Try to enable it then.
Apparently it is crashing when trying to start kwalletd...

The crash has already been reported though.
Comment 4 Wolfgang Bauer 2016-08-23 20:33:54 UTC
*** Bug 365456 has been marked as a duplicate of this bug. ***
Comment 5 Wolfgang Bauer 2016-09-02 14:54:24 UTC
*** Bug 368152 has been marked as a duplicate of this bug. ***
Comment 6 Wolfgang Bauer 2016-09-04 18:20:28 UTC
I tried it myself now, and I can confirm that the crash indeed happens when kwallet is disabled.
If it is enabled, everything works as expected.
Comment 7 Wolfgang Bauer 2016-09-04 18:24:24 UTC
There already is an older bug report about this crash.
I'm marking this one as duplicate then.

*** This bug has been marked as a duplicate of bug 358260 ***