Bug 371761

Summary: KDevelop crash while idle
Product: [Applications] kdevelop Reporter: Christopher Heiny <christopherheiny>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED INTENTIONAL    
Severity: crash CC: mail
Priority: NOR Keywords: drkonqi
Version First Reported In: 5.0.1   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Christopher Heiny 2016-10-27 19:21:54 UTC
Application: kdevelop (5.0.1)

Qt Version: 5.6.1
Frameworks Version: 5.26.0
Operating System: Linux 4.7.9-200.fc24.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed: Well, nothing, actually.  I'd just logged in for the day, ssh'ed to my laptop, and was reading mail in evolution.  Last night's KDevelop session was open in another screen.  A few minutes after log in, KDevelop barfed.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f22bd740940 (LWP 11480))]

Thread 5 (Thread 0x7f229a541700 (LWP 11888)):
#0  0x00007f22d610f3ed in poll () at /lib64/libc.so.6
#1  0x00007f22cca88a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f22cca88b1c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f22d6f1524b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f22d6ec45ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f22d6d23343 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f22dbfee8f5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f22d6d2799a in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f22cf36b5ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f22d611af6d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f22a9d84700 (LWP 11676)):
[KCrash Handler]
#6  0x00007f22d604c6f5 in raise () at /lib64/libc.so.6
#7  0x00007f22d604e2fa in abort () at /lib64/libc.so.6
#8  0x00007f22d6d13471 in  () at /lib64/libQt5Core.so.5
#9  0x00007f22d4279812 in KDevelop::ItemRepository<KDevelop::DefinitionsItem, KDevelop::DefinitionsRequestItem, true, true, 0u, 1048576u>::store() () at /lib64/libKDevPlatformLanguage.so.10
#10 0x00007f22d2ad6db2 in KDevelop::ItemRepositoryRegistry::store() () at /lib64/libKDevPlatformSerialization.so.10
#11 0x00007f22d4208687 in KDevelop::DUChainPrivate::doMoreCleanup(int, KDevelop::DUChainPrivate::LockFlag) () at /lib64/libKDevPlatformLanguage.so.10
#12 0x00007f22d4208de1 in KDevelop::DUChainPrivate::CleanupThread::run() () at /lib64/libKDevPlatformLanguage.so.10
#13 0x00007f22d6d2799a in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#14 0x00007f22cf36b5ca in start_thread () at /lib64/libpthread.so.0
#15 0x00007f22d611af6d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f22b21ed700 (LWP 11496)):
#0  0x00007f22d610f3ed in poll () at /lib64/libc.so.6
#1  0x00007f22cca88a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f22cca88b1c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f22d6f1524b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f22d6ec45ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f22d6d23343 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f22dcc8a559 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007f22d6d2799a in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f22cf36b5ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f22d611af6d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f22b397f700 (LWP 11490)):
#0  0x00007f22d610f3ed in poll () at /lib64/libc.so.6
#1  0x00007f22c8870f80 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f22c8872b79 in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f22b6ccdda9 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f22d6d2799a in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f22cf36b5ca in start_thread () at /lib64/libpthread.so.0
#6  0x00007f22d611af6d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f22bd740940 (LWP 11480)):
#0  0x00007f22d610f3ed in poll () at /lib64/libc.so.6
#1  0x00007f22cca88a06 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f22cca88b1c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f22d6f1522f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f22d6ec45ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f22d6ecc17c in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#6  0x0000564105e999cc in main ()

Reported using DrKonqi
Comment 1 Sven Brauch 2016-10-28 14:49:39 UTC
The crash is in the cleanup thread which cleans up the code database and stores items to disk periodically. Did you do something to the file system containing ~/.cache (unmount it, ...?)

Other than that, it's possible that the database is corrupted from an earlier crash. Clearing it might help if the problem is reproducible; just delete ~/.cache/kdevduchain while kdevelop is not running.

Or it might be an actual bug in the cleanup code, but without a way to reproduce it and/or debug symbols in the trace I don't think we'll find it.
Comment 2 Christopher Heiny 2016-10-28 16:41:12 UTC
Hi Sven,

Sorry for the delay in replying.  Your suggestion in the first paragraph is accurate - an errant system administration script deleted /home out from under everyone (note to sysadmins: it's test *first*, deploy *second*).  /home has been restored as of this morning - you got to the bug before I could follow up.

It's OK with me if you close this, or leave it open as a "we should handle this gracefully" request.

Thanks!
Chris
Comment 3 Sven Brauch 2016-10-28 16:48:01 UTC
I think we can close this, if you delete our persistent database we crash -- I guess that holds true for a lot of programs. Thanks for the update!