https://bugs.kde.org/show_bug.cgi?id=387408

            Bug ID: 387408
           Summary: Kgpg crashing on getting properties of empty (NULL)
                    keys
           Product: kgpg
           Version: unspecified
          Platform: Compiled Sources
                OS: OS X
            Status: UNCONFIRMED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: k...@opensource.sf-tec.de
          Reporter: rjvber...@gmail.com
  Target Milestone: ---

Application: kgpg (17.08.3)
 (Compiled from sources)
Qt Version: 5.8.0
Frameworks Version: 5.38.0
Operating System: Darwin 13.4.0 x86_64
Distribution (Platform): MacPorts Packages

-- Information about the crash:
- What I was doing when the application crashed:

I tried to inspect the properties of a few strange keys I saw in the manager
window (see the screenshot I'll attach)

It turns out that those correspond to entries with a NULL KGpgKeyNode instance;
KgpgKeyInfo() and none of the methods it calls are prepared to receive a NULL
node.

The crash can be reproduced every time.

-- Backtrace:
Application: KGpg (kgpg), signal: Segmentation fault: 11
(lldb) process attach --pid 40238
Process 40238 stopped
Executable module set to
"/Applications/MacPorts/KF5/kgpg.app/Contents/MacOS/kgpg".
Architecture set to: x86_64-apple-macosx.
(lldb) set term-width 200
(lldb) thread info
thread #1: tid = 0xd1dc86, 0x00007fff8b8d3e20 libsystem_kernel.dylib`__wait4 +
8, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP

(lldb) bt all
* thread #1: tid = 0xd1dc86, 0x00007fff8b8d3e20 libsystem_kernel.dylib`__wait4
+ 8, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00007fff8b8d3e20 libsystem_kernel.dylib`__wait4 + 8
    frame #1: 0x00000001057e9cde libKF5Crash.5.dylib`KCrash::startProcess(int,
char const**, bool) [inlined] startProcessInternal(argc=<unavailable>,
directly=<unavailable>) + 125 at kcrash.cpp:651
    frame #2: 0x00000001057e9c61
libKF5Crash.5.dylib`KCrash::startProcess(argc=<unavailable>,
argv=<unavailable>, waitAndExit=<unavailable>) + 17 at kcrash.cpp:633
    frame #3: 0x00000001057e9aa5
libKF5Crash.5.dylib`KCrash::defaultCrashHandler(sig=11) + 1061 at
kcrash.cpp:530
    frame #4: 0x00007fff8e69b5aa libsystem_platform.dylib`_sigtramp + 26
    frame #5: 0x000000010543fa52
kgpg`KGpgChangeKey::KGpgChangeKey(this=0x00007fe48303a860,
node=0x0000000000000000, widget=0x00007fe4830645f0) + 50 at
kgpgchangekey.cpp:25
    frame #6: 0x000000010542ad2a
kgpg`KgpgKeyInfo::KgpgKeyInfo(this=0x00007fe4830645f0, node=0x0000000000000000,
model=0x00007fe480691630, parent=<unavailable>) + 90 at keyinfodialog.cpp:107
    frame #7: 0x00000001053df4aa
kgpg`KeysManager::keyproperties(this=0x00007fe480679f20) + 1114 at
keysmanager.cpp:1683
    frame #8: 0x0000000108054fab QtCore`QMetaObject::activate(QObject*, int,
int, void**) [inlined] QtPrivate::QSlotObjectBase::call(this=<unavailable>,
r=<unavailable>, a=<unavailable>) + 2011 at qobject_impl.h:101
    frame #9: 0x0000000108054f8f
QtCore`QMetaObject::activate(sender=0x00007fe4806c95d0,
signalOffset=<unavailable>, local_signal_index=<unavailable>,
argv=<unavailable>) + 1983 at qobject.cpp:3728
    frame #10: 0x0000000106ef9aae
QtWidgets`QAction::activate(QAction::ActionEvent) [inlined]
QAction::triggered(this=<unavailable>, _t1=false) + 302 at moc_qaction.cpp:371
    frame #11: 0x0000000106ef9a86
QtWidgets`QAction::activate(this=<unavailable>, event=<unavailable>) + 262 at
qaction.cpp:1159
    frame #12: 0x0000000106ff4858
QtWidgets`QAbstractButtonPrivate::click(this=0x00007fe4806d0980) + 88 at
qabstractbutton.cpp:393
    frame #13: 0x0000000106ff59ce
QtWidgets`QAbstractButton::mouseReleaseEvent(this=<unavailable>,
e=0x00007fff5a89b668) + 270 at qabstractbutton.cpp:1009
    frame #14: 0x00000001070cb26f
QtWidgets`QToolButton::mouseReleaseEvent(this=<unavailable>, e=<unavailable>) +
15 at qtoolbutton.cpp:616
    frame #15: 0x0000000106f441c7
QtWidgets`QWidget::event(this=0x00007fe4806de990, event=0x00007fff5a89b668) +
1607 at qwidget.cpp:8782
    frame #16: 0x0000000106ff5723
QtWidgets`QAbstractButton::event(this=0x00007fe4806de990, e=<unavailable>) +
179 at qabstractbutton.cpp:966
    frame #17: 0x00000001070cb844
QtWidgets`QToolButton::event(this=0x00007fe4806de990, event=0x00007fff5a89b668)
+ 324 at qtoolbutton.cpp:982
    frame #18: 0x0000000106f02a6d
QtWidgets`QApplicationPrivate::notify_helper(this=<unavailable>,
receiver=0x00007fe4806de990, e=0x00007fff5a89b668) + 269 at
qapplication.cpp:3745
    frame #19: 0x0000000106f06203
QtWidgets`QApplication::notify(this=<unavailable>, receiver=0x00007fe4806de990,
e=0x00007fff5a89b668) + 9363 at qapplication.cpp:3219
    frame #20: 0x0000000108024717
QtCore`QCoreApplication::notifyInternal2(receiver=0x00007fe4806de990,
event=0x00007fff5a89b668) + 167 at qcoreapplication.cpp:995
    frame #21: 0x0000000106f0344a
QtWidgets`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*,
QWidget*, QWidget**, QPointer<QWidget>&, bool) [inlined]
QCoreApplication::sendEvent(QObject*, QEvent*) + 17 at qcoreapplication.h:231
    frame #22: 0x0000000106f03439
QtWidgets`QApplicationPrivate::sendMouseEvent(receiver=0x00007fe4806de990,
event=0x00007fff5a89b668, alienWidget=<unavailable>,
nativeWidget=0x00007fe480679f20, buttonDown=<unavailable>,
lastMouseReceiver=0x00000001073ae3b0, spontaneous=<unavailable>) + 1001 at
qapplication.cpp:2715
    frame #23: 0x0000000106f64c7f
QtWidgets`QWidgetWindow::handleMouseEvent(this=0x00007fe480490870,
event=0x00007fff5a89bd28) + 1471 at qwidgetwindow.cpp:616
    frame #24: 0x0000000106f63bd9
QtWidgets`QWidgetWindow::event(this=0x00007fe480490870,
event=0x00007fff5a89bd28) + 185 at qwidgetwindow.cpp:239
    frame #25: 0x0000000106f02a6d
QtWidgets`QApplicationPrivate::notify_helper(this=<unavailable>,
receiver=0x00007fe480490870, e=0x00007fff5a89bd28) + 269 at
qapplication.cpp:3745
    frame #26: 0x0000000106f05de2
QtWidgets`QApplication::notify(this=<unavailable>, receiver=<unavailable>,
e=<unavailable>) + 8306 at qapplication.cpp:3708
    frame #27: 0x0000000108024717
QtCore`QCoreApplication::notifyInternal2(receiver=0x00007fe480490870,
event=0x00007fff5a89bd28) + 167 at qcoreapplication.cpp:995
    frame #28: 0x000000010772bce5
QtGui`QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
[inlined] QCoreApplication::sendSpontaneousEvent(receiver=0x00007fe480490870,
event=0x0000000107a7c840) + 2581 at qcoreapplication.h:234
    frame #29: 0x000000010772bccf
QtGui`QGuiApplicationPrivate::processMouseEvent(e=0x00007fe4804c0b20) + 2559 at
qguiapplication.cpp:1931
    frame #30: 0x000000010772ab5c
QtGui`QGuiApplicationPrivate::processWindowSystemEvent(e=0x00007fe4804c0b20) +
124 at qguiapplication.cpp:1715
    frame #31: 0x00000001077130bb
QtGui`QWindowSystemInterface::sendWindowSystemEvents(flags=<unavailable>) + 171
at qwindowsysteminterface.cpp:710
    frame #32: 0x000000010d15edb1
libqaltcocoa.dylib`QCocoaEventDispatcherPrivate::processPostedEvents(this=<unavailable>)
+ 321 at qcocoaeventdispatcher.mm:899
    frame #33: 0x000000010d15f7c3
libqaltcocoa.dylib`QCocoaEventDispatcherPrivate::postedEventsSourceCallback(info=0x00007fe48061f630)
+ 179 at qcocoaeventdispatcher.mm:935
    frame #34: 0x00007fff962955b1
CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #35: 0x00007fff96286c62 CoreFoundation`__CFRunLoopDoSources0 + 242
    frame #36: 0x00007fff962863ef CoreFoundation`__CFRunLoopRun + 831
    frame #37: 0x00007fff96285e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #38: 0x00007fff8e7c6a0d HIToolbox`RunCurrentEventLoopInMode + 226
    frame #39: 0x00007fff8e7c6685 HIToolbox`ReceiveNextEventCommon + 173
    frame #40: 0x00007fff8e7c65bc
HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
    frame #41: 0x00007fff8abee24e AppKit`_DPSNextEvent + 1434
    frame #42: 0x00007fff8abed89b AppKit`-[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
    frame #43: 0x00007fff8abe199c AppKit`-[NSApplication run] + 553
    frame #44: 0x000000010d15e4a6
libqaltcocoa.dylib`QCocoaEventDispatcher::processEvents(this=0x00007fe48061db80,
flags=<unavailable>) + 2918 at qcocoaeventdispatcher.mm:431
    frame #45: 0x000000010802090e
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QEventLoop::processEvents(this=<unavailable>, flags=<unavailable>) + 398 at
qeventloop.cpp:134
    frame #46: 0x00000001080208f4
QtCore`QEventLoop::exec(this=0x00007fff5a89d930, flags=<unavailable>) + 372 at
qeventloop.cpp:212
    frame #47: 0x0000000108024dfa QtCore`QCoreApplication::exec() + 346 at
qcoreapplication.cpp:1268
    frame #48: 0x0000000105411c81 kgpg`main(argc=1, argv=<unavailable>) + 4401
at main.cpp:83
    frame #49: 0x00007fff8c43d5fd libdyld.dylib`start + 1

  thread #2: tid = 0xd1dc87, 0x00007fff8b8d4662 libsystem_kernel.dylib`kevent64
+ 10, queue = 'com.apple.libdispatch-manager'
    frame #0: 0x00007fff8b8d4662 libsystem_kernel.dylib`kevent64 + 10
    frame #1: 0x00007fff8fc23421 libdispatch.dylib`_dispatch_mgr_invoke + 239
    frame #2: 0x00007fff8fc23136 libdispatch.dylib`_dispatch_mgr_thread + 52

  thread #3: tid = 0xd1dcb4, 0x00007fff8b8d494a libsystem_kernel.dylib`poll +
10, name = 'QDBusConnectionManager'
    frame #0: 0x00007fff8b8d494a libsystem_kernel.dylib`poll + 10
    frame #1: 0x0000000108076cd0 QtCore`qt_safe_poll(pollfd*, unsigned int,
timespec const*) [inlined] qt_ppoll(fds=0x00007fe4806bb7b8, nfds=3) + 528 at
qcore_unix.cpp:83
    frame #2: 0x0000000108076cbb QtCore`qt_safe_poll(fds=0x00007fe4806bb7b8,
nfds=3, timeout_ts=0x0000000000000000) + 507 at qcore_unix.cpp:102
    frame #3: 0x0000000108078359
QtCore`QEventDispatcherUNIX::processEvents(this=<unavailable>,
flags=<unavailable>) + 857 at qeventdispatcher_unix.cpp:500
    frame #4: 0x000000010802090e
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QEventLoop::processEvents(this=<unavailable>, flags=<unavailable>) + 398 at
qeventloop.cpp:134
    frame #5: 0x00000001080208f4
QtCore`QEventLoop::exec(this=0x00000001103f6e30, flags=<unavailable>) + 372 at
qeventloop.cpp:212
    frame #6: 0x0000000107e60e62 QtCore`QThread::exec(this=<unavailable>) + 114
at qthread.cpp:507
    frame #7: 0x0000000107d09783
QtDBus`QDBusConnectionManager::run(this=0x00007fe48055b470) + 19 at
qdbusconnection.cpp:170
    frame #8: 0x0000000107e64867
QtCore`QThreadPrivate::start(arg=0x00007fe48055b470) + 359 at
qthread_unix.cpp:368
    frame #9: 0x00007fff899d8899 libsystem_pthread.dylib`_pthread_body + 138
    frame #10: 0x00007fff899d872a libsystem_pthread.dylib`_pthread_start + 137
    frame #11: 0x00007fff899dcfc9 libsystem_pthread.dylib`thread_start + 13

  thread #4: tid = 0xd1dcdc, 0x00007fff8b8d39aa libsystem_kernel.dylib`__select
+ 10, name = 'com.apple.CFSocket.private'
    frame #0: 0x00007fff8b8d39aa libsystem_kernel.dylib`__select + 10
    frame #1: 0x00007fff962d2a03 CoreFoundation`__CFSocketManager + 867
    frame #2: 0x00007fff899d8899 libsystem_pthread.dylib`_pthread_body + 138
    frame #3: 0x00007fff899d872a libsystem_pthread.dylib`_pthread_start + 137
    frame #4: 0x00007fff899dcfc9 libsystem_pthread.dylib`thread_start + 13

  thread #5: tid = 0xd1dcf1, 0x00007fff8b8d494a libsystem_kernel.dylib`poll +
10, name = 'Qt bearer thread'
    frame #0: 0x00007fff8b8d494a libsystem_kernel.dylib`poll + 10
    frame #1: 0x0000000108076cd0 QtCore`qt_safe_poll(pollfd*, unsigned int,
timespec const*) [inlined] qt_ppoll(fds=0x00007fe4804c9648, nfds=1) + 528 at
qcore_unix.cpp:83
    frame #2: 0x0000000108076cbb QtCore`qt_safe_poll(fds=0x00007fe4804c9648,
nfds=1, timeout_ts=0x0000000000000000) + 507 at qcore_unix.cpp:102
    frame #3: 0x0000000108078359
QtCore`QEventDispatcherUNIX::processEvents(this=<unavailable>,
flags=<unavailable>) + 857 at qeventdispatcher_unix.cpp:500
    frame #4: 0x000000010802090e
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QEventLoop::processEvents(this=<unavailable>, flags=<unavailable>) + 398 at
qeventloop.cpp:134
    frame #5: 0x00000001080208f4
QtCore`QEventLoop::exec(this=0x000000011121de60, flags=<unavailable>) + 372 at
qeventloop.cpp:212
    frame #6: 0x0000000107e60e62 QtCore`QThread::exec(this=<unavailable>) + 114
at qthread.cpp:507
    frame #7: 0x0000000107e64867
QtCore`QThreadPrivate::start(arg=0x00007fe4806530c0) + 359 at
qthread_unix.cpp:368
    frame #8: 0x00007fff899d8899 libsystem_pthread.dylib`_pthread_body + 138
    frame #9: 0x00007fff899d872a libsystem_pthread.dylib`_pthread_start + 137
    frame #10: 0x00007fff899dcfc9 libsystem_pthread.dylib`thread_start + 13

  thread #6: tid = 0xd1dd75, 0x00007fff8b8cfa1a
libsystem_kernel.dylib`mach_msg_trap + 10
    frame #0: 0x00007fff8b8cfa1a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff8b8ced18 libsystem_kernel.dylib`mach_msg + 64
    frame #2: 0x00007fff96286f15 CoreFoundation`__CFRunLoopServiceMachPort +
181
    frame #3: 0x00007fff96286539 CoreFoundation`__CFRunLoopRun + 1161
    frame #4: 0x00007fff96285e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #5: 0x00007fff8ad8e05e AppKit`_NSEventThread + 144
    frame #6: 0x00007fff899d8899 libsystem_pthread.dylib`_pthread_body + 138
    frame #7: 0x00007fff899d872a libsystem_pthread.dylib`_pthread_start + 137
    frame #8: 0x00007fff899dcfc9 libsystem_pthread.dylib`thread_start + 13

  thread #7: tid = 0xd20245, 0x00007fff8b8d3e6a
libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff8b8d3e6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff899d9f08 libsystem_pthread.dylib`_pthread_wqthread +
330
    frame #2: 0x00007fff899dcfb9 libsystem_pthread.dylib`start_wqthread + 13

  thread #8: tid = 0xd2047e, 0x00007fff8b8d3e6a
libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff8b8d3e6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff899d9f08 libsystem_pthread.dylib`_pthread_wqthread +
330
    frame #2: 0x00007fff899dcfb9 libsystem_pthread.dylib`start_wqthread + 13
(lldb) detach
Process 40238 detached

Possible duplicates by query: bug 387393, bug 387316, bug 387132, bug 387035,
bug 386980.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to