Bug 410103 - KDevelop 5.3.3 abort due to "Failed to open repository" (Persistent Declaration Table)
Summary: KDevelop 5.3.3 abort due to "Failed to open repository" (Persistent Declarati...
Status: RESOLVED NOT A BUG
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2019-07-22 13:23 UTC by RJVB
Modified: 2019-07-23 14:00 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
workaround for the abort (1.58 KB, text/plain)
2019-07-22 15:05 UTC, RJVB
Details
no abort and more informative version_XXX file (2.68 KB, text/plain)
2019-07-23 14:00 UTC, RJVB
Details

Note You need to log in before you can comment on or make changes to this bug.
Description RJVB 2019-07-22 13:23:05 UTC
Application: kdevelop (5.3.3-1-g125259eab4)
 (Compiled from sources)
Qt Version: 5.9.8
Frameworks Version: 5.60.0
Operating System: Linux 4.14.23-ck1-mainline-core2-rjvb x86_64
Distribution: Ubuntu 14.04.6 LTS

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

In this case I had just quit KDevelop after it seemed to have started up correctly, to see if this time it wouldn't abort at some seemingly random moment.

This abort has started occurring in a session that I've been using for years, without any clear reason why, sometimes during startup, sometimes at a random time when working, and now on exit.
I upgraded my frameworks to 5.52.0 last week (but I don't think any KF5 FW. code is being used here) and upgraded to KDevelop 5.3.3 a day or two ago (but downgrading to the 5.3.2 version from just before the new release doesn't help).

Setting a breakpoint just before the abort shows that the directory at m_path exists, and even the file that hosts the repository so I don't know (yet) what causes the failure. The directory contents just before it got deleted and the abort was raised (note the presence of TWO version files - is that normal?)

```
ll ~/.cache/kdevduchain/kdevelop-\{c241ebeb-91a8-4054-a7f4-ef33efe8fd99}/                           total 1616
347010   9 drwxrwxr-x  2 bertin bertin      40 Jul 22 15:03 ./
 22642  33 drwxr-xr-x 33 bertin bertin      33 Jul 22 15:00 ../
347039   1 -rw-rw-r--  1 bertin bertin      48 Jul 22 15:03 available_top_context_indices
347043  49 -rw-rw-r--  1 bertin bertin 2090754 Jul 22 15:03 Code Model
347044   5 -rw-rw-r--  1 bertin bertin     328 Jul 22 15:03 Code Model_dynamic
346888  65 -rw-rw-r--  1 bertin bertin 2083988 Jul 22 15:03 Comment Repository
346889   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:03 Comment Repository_dynamic
347037   1 -rw-rw-r--  1 bertin bertin      46 Jul 22 15:03 Counters
347041   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:02 crash_counter
347026  69 -rw-rw-r--  1 bertin bertin 2090754 Jul 22 15:03 Definition Map
347027   1 -rw-rw-r--  1 bertin bertin       8 Jul 22 15:03 Definition Map_dynamic
347032  45 -rw-rw-r--  1 bertin bertin 2173657 Jul 22 15:03 Environment Information
347033   1 -rw-rw-r--  1 bertin bertin       8 Jul 22 15:03 Environment Information_dynamic
347030  49 -rw-rw-r--  1 bertin bertin 2096224 Jul 22 15:03 Environment Lists
347031   1 -rw-rw-r--  1 bertin bertin       8 Jul 22 15:03 Environment Lists_dynamic
347013  69 -rw-rw-r--  1 bertin bertin 2097180 Jul 22 15:03 file modification repository
347014   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:03 file modification repository_dynamic
347045  69 -rw-rw-r--  1 bertin bertin 2097180 Jul 22 15:03 file modification sets
347046   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:03 file modification sets_dynamic
347015 149 -rw-rw-r--  1 bertin bertin 2179115 Jul 22 15:03 Identifier Repository
347016   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:03 Identifier Repository_dynamic
347022  57 -rw-rw-r--  1 bertin bertin 2090754 Jul 22 15:03 Importer Map
347023   1 -rw-rw-r--  1 bertin bertin       8 Jul 22 15:03 Importer Map_dynamic
347019  45 -rw-rw-r--  1 bertin bertin 2179029 Jul 22 15:02 Instantiation Information Repository
347020   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:02 Instantiation Information Repository_dynamic
347038   1 -rw-rw-r--  1 bertin bertin      20 Jul 22 15:03 parsing_environment_data
346588  61 -rw-rw-r--  1 bertin bertin 2090754 Jul 22 15:03 Persistent Declaration Table
346589   1 -rw-rw-r--  1 bertin bertin      32 Jul 22 15:03 Persistent Declaration Table_dynamic
347017 185 -rw-rw-r--  1 bertin bertin 2179115 Jul 22 15:03 Qualified Identifier Repository
347018   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:03 Qualified Identifier Repository_dynamic
347011  69 -rw-rw-r--  1 bertin bertin 2097180 Jul 22 15:03 Recursive Imports
347012   1 -rw-rw-r--  1 bertin bertin       8 Jul 22 15:03 Recursive Imports_dynamic
347024 437 -rw-rw-r--  1 bertin bertin 3027827 Jul 22 15:03 String Index
347025   1 -rw-rw-r--  1 bertin bertin       8 Jul 22 15:03 String Index_dynamic
347021  81 -rw-rw-r--  1 bertin bertin 2097180 Jul 22 15:03 Type Repository
346890   1 -rw-rw-r--  1 bertin bertin       4 Jul 22 15:03 Type Repository_dynamic
347028  69 -rw-rw-r--  1 bertin bertin 2090754 Jul 22 15:03 Use Map
347029   1 -rw-rw-r--  1 bertin bertin       8 Jul 22 15:03 Use Map_dynamic
347047   1 -rw-rw-r--  1 bertin bertin       0 Jul 22 15:03 version_84083201
347036   1 -rw-rw-r--  1 bertin bertin       0 Jul 22 15:02 version_84083457
```

Other sessions do not appear to be affected (yet). And FWIW: this session only sees Tcl and diff (patch) files.

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fec4b816c80 (LWP 10044))]

Thread 7 (Thread 0x7fec15562700 (LWP 10061)):
#0  0x00007fec4218dc9d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fec38a39761 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at gmain.c:4209
#2  g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3903
#3  0x00007fec38a39a21 in g_main_context_iteration (context=0x7fec04000990, may_block=1) at gmain.c:3969
#4  0x00007fec42f940db in QEventDispatcherGlib::processEvents (this=0x7fec040008c0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fec42f3ebaf in QEventLoop::processEvents (this=0x7fec15561978, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:134
#6  QEventLoop::exec (this=0x7fec15561978, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:212
#7  0x00007fec42d81a27 in QThread::exec (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread.cpp:515
#8  0x00007fec42d855ba in QThreadPrivate::start (arg=0x1ba5180) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread_unix.cpp:368
#9  0x00007fec3f68b184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007fec4219b03d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 6 (Thread 0x7fec16656700 (LWP 10059)):
#0  0x00007fec4218c37d in read () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fec38a38a7f in g_wakeup_acknowledge (wakeup=0x7fec10002390) at gwakeup.c:210
#2  g_main_context_check (context=0x7fec0c000990, max_priority=2147483647, fds=0x7fec0c0013c0, n_fds=1) at gmain.c:3686
#3  0x00007fec38a397a6 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3905
#4  0x00007fec38a39a21 in g_main_context_iteration (context=0x7fec0c000990, may_block=1) at gmain.c:3969
#5  0x00007fec42f940db in QEventDispatcherGlib::processEvents (this=0x7fec0c0008c0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#6  0x00007fec42f3ebaf in QEventLoop::processEvents (this=0x7fec16655978, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:134
#7  QEventLoop::exec (this=0x7fec16655978, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:212
#8  0x00007fec42d81a27 in QThread::exec (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread.cpp:515
#9  0x00007fec42d855ba in QThreadPrivate::start (arg=0x7fec49c5b7b8 <KDevelop::(anonymous namespace)::Q_QGS_s_parsingThread::innerFunction()::holder+8>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread_unix.cpp:368
#10 0x00007fec3f68b184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fec4219b03d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7fec1ca99700 (LWP 10053)):
#0  0x00007fec4218dc9d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fec38a39761 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at gmain.c:4209
#2  g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3903
#3  0x00007fec38a39a21 in g_main_context_iteration (context=0x7fec10000990, may_block=1) at gmain.c:3969
#4  0x00007fec42f940db in QEventDispatcherGlib::processEvents (this=0x7fec100008c0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fec42f3ebaf in QEventLoop::processEvents (this=0x7fec1ca988f8, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:134
#6  QEventLoop::exec (this=0x7fec1ca988f8, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:212
#7  0x00007fec42d81a27 in QThread::exec (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread.cpp:515
#8  0x00007fec4a15d86e in KDevelop::DUChainPrivate::CleanupThread::run (this=0x1ad0ec0) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/language/duchain/duchain.cpp:287
#9  0x00007fec42d855ba in QThreadPrivate::start (arg=0x1ad0ec0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread_unix.cpp:368
#10 0x00007fec3f68b184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fec4219b03d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7fec1ef3d700 (LWP 10051)):
#0  0x00007fec4218dc9d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fec38a39761 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at gmain.c:4209
#2  g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3903
#3  0x00007fec38a39a21 in g_main_context_iteration (context=0x7fec18000990, may_block=1) at gmain.c:3969
#4  0x00007fec42f940db in QEventDispatcherGlib::processEvents (this=0x7fec180008c0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fec42f3ebaf in QEventLoop::processEvents (this=0x7fec1ef3c948, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:134
#6  QEventLoop::exec (this=0x7fec1ef3c948, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:212
#7  0x00007fec42d81a27 in QThread::exec (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread.cpp:515
#8  0x00007fec4453b610 in QDBusConnectionManager::run (this=0x7fec4479c2e0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/dbus/qdbusconnection.cpp:178
#9  0x00007fec42d855ba in QThreadPrivate::start (arg=0x7fec4479c2e0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread_unix.cpp:368
#10 0x00007fec3f68b184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fec4219b03d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7fec26641700 (LWP 10048)):
#0  0x00007fec3f68f404 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fec275879cb in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../mesa-18.3.3/src/../include/c11/threads_posix.h:155
#2  util_queue_thread_func (input=<optimized out>) at ../mesa-18.3.3/src/util/u_queue.c:270
#3  0x00007fec275882e6 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.3.3/src/../include/c11/threads_posix.h:87
#4  0x00007fec3f68b184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fec4219b03d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7fec2d31f700 (LWP 10047)):
#0  0x00007fec4218dc9d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fec374b0ab2 in _xcb_conn_wait () from /opt/local/lib/libxcb.so.1
#2  0x00007fec374b2eba in xcb_wait_for_event () from /opt/local/lib/libxcb.so.1
#3  0x00007fec2f274185 in QXcbEventReader::run (this=0x9a3d60) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1330
#4  0x00007fec42d855ba in QThreadPrivate::start (arg=0x9a3d60) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread_unix.cpp:368
#5  0x00007fec3f68b184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007fec4219b03d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7fec4b816c80 (LWP 10044)):
[KCrash Handler]
#6  0x00007fec420d3c37 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x00007fec420d7028 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x00007fec49c69ccb in KDevelop::ItemRepositoryRegistry::registerRepository (this=0x1849570, repository=0x7748d20, manager=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/serialization/itemrepositoryregistry.cpp:208
#9  0x00007fec4a1f903d in KDevelop::PersistentSymbolTablePrivate::PersistentSymbolTablePrivate (this=0x7748d20) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/language/duchain/persistentsymboltable.cpp:135
#10 KDevelop::PersistentSymbolTable::PersistentSymbolTable (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/language/duchain/persistentsymboltable.cpp:157
#11 KDevelop::PersistentSymbolTable::self () at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/language/duchain/persistentsymboltable.cpp:418
#12 0x00007fec4a151b5f in KDevelop::DUChainPrivate::doMoreCleanup (this=0x7fec4a8f8948 <KDevelop::(anonymous namespace)::Q_QGS_sdDUChainPrivate::innerFunction()::holder>, retries=<optimized out>, lockFlag=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/language/duchain/duchain.cpp:753
#13 0x00007fec4a14c8a1 in KDevelop::DUChain::shutdown (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/language/duchain/duchain.cpp:1634
#14 0x00007fec4b3a63c5 in KDevelop::Core::cleanup (this=0x1192c20) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/shell/core.cpp:556
#15 0x00007fec4b3a5e1b in KDevelop::Core::shutdown (this=0x1192c20) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/shell/core.cpp:503
#16 0x00007fec4b388db6 in KDevelop::MainWindow::~MainWindow (this=0x1329720, vtt=0x7fec4b68d270 <VTT for KDevelop::MainWindow>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/shell/mainwindow.cpp:159
#17 0x00007fec4b388f56 in KDevelop::MainWindow::~MainWindow (this=0x1329720) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/shell/mainwindow.cpp:156
#18 KDevelop::MainWindow::~MainWindow (this=0x1329720) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/shell/mainwindow.cpp:156
#19 0x00007fec42f6b9eb in qDeleteInEventHandler (o=0x1329720) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qobject.cpp:4605
#20 QObject::event (this=0x1329720, e=0x273c) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qobject.cpp:1243
#21 0x00007fec44ba2a0c in QWidget::event (this=0x1329720, event=0x721eef0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qwidget.cpp:9346
#22 0x00007fec44cb047f in QMainWindow::event (this=0x1329720, event=0x721eef0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/widgets/qmainwindow.cpp:1563
#23 0x00007fec478df802 in KMainWindow::event (this=0x1329720, ev=0x721eef0) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-kxmlgui/work/kxmlgui-5.60.0/src/kmainwindow.cpp:877
#24 0x00007fec479188b3 in KXmlGuiWindow::event (this=0x1329720, ev=0x721eef0) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-kxmlgui/work/kxmlgui-5.60.0/src/kxmlguiwindow.cpp:125
#25 0x00007fec44b6b84d in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1329720, e=0x721eef0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qapplication.cpp:3722
#26 0x00007fec44b6cba9 in QApplication::notify (this=0x7ffed5914fd8, receiver=0x1329720, e=0x721eef0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qapplication.cpp:3093
#27 0x00007fec42f42f53 in QCoreApplication::notifyInternal2 (receiver=0x1329720, event=0x721eef0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qcoreapplication.cpp:1031
#28 0x00007fec42f43d9f in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at .moc/../../../../../qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qcoreapplication.h:233
#29 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x988340) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qcoreapplication.cpp:1706
#30 0x00007fec42f94623 in postEventSourceDispatch (s=0xafe110) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:276
#31 0x00007fec38a390e5 in g_main_dispatch (context=<optimized out>) at gmain.c:3170
#32 g_main_context_dispatch (context=<optimized out>) at gmain.c:3835
#33 0x00007fec38a397b5 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3908
#34 0x00007fec38a39a21 in g_main_context_iteration (context=0x7fec28003030, may_block=1) at gmain.c:3969
#35 0x00007fec42f940db in QEventDispatcherGlib::processEvents (this=0xb927d0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#36 0x00007fec42f3ebaf in QEventLoop::processEvents (this=0x7ffed5914da0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:134
#37 QEventLoop::exec (this=0x7ffed5914da0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:212
#38 0x00007fec42f435fa in QCoreApplication::exec () at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qcoreapplication.cpp:1304
#39 0x00000000004141ae in main (argc=<optimized out>, argv=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/app/main.cpp:1000

The reporter indicates this bug may be a duplicate of or related to bug 406168.

Possible duplicates by query: bug 406168, bug 370461, bug 338873, bug 337854, bug 314522.

Reported using DrKonqi
Comment 1 RJVB 2019-07-22 14:16:35 UTC
I'm beginning to think that what happens here is that the registry/itemrepository somehow tries to write 2 different version formats to file, which leads to an open failure if there's a runtime version mismatch.

The reason I think that is that I see the timestamps change on both version files (and curiously this session is the only one where that happens).

```
> CD ~/.cache/kdevduchain/ ls -l -htr kdevelop-*/{version_*,"Persistent Declaration Table"}
[...]
-rw-rw-r-- 1 bertin bertin    0 Jul 22 15:43 kdevelop-{c241ebeb-91a8-4054-a7f4-ef33efe8fd99}/version_84083201
-rw-rw-r-- 1 bertin bertin 2.3M Jul 22 15:46 kdevelop-{c241ebeb-91a8-4054-a7f4-ef33efe8fd99}/Persistent Declaration Table
-rw-rw-r-- 1 bertin bertin    0 Jul 22 15:46 kdevelop-{c241ebeb-91a8-4054-a7f4-ef33efe8fd99}/version_84083457
```

It would seem that the older tag file came from the kdev-python plugin which I had NOT updated to 5.3.3 . It never occurred to me that this might be necessary, and I think users (even) less involved with KDevelop development than I will think of it even less.

Would it be an idea to let the plugin disable itself if it detects that the current DUChain version is not the same as the one it was built against?

Anyway, updating the plugin did NOT solve my crashing issue.
Comment 2 RJVB 2019-07-22 15:04:25 UTC
Edit: I meant "upgraded TO KF5 Frameworks 5.60.0", FROM 5.52.0 .

I observe the same issue in the 5.3.3 app image, including the double version tag file:

```
> ~/Desktop/Downloads/KDevelop-5.3.3-x86_64.AppImage
libEGL warning: DRI2: failed to open i965 (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open i965 (search paths /usr/lib64/dri)
libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
kdevelop.plugins.git: couldn't find the git root for QUrl("file:///opt/local/portia-site-ports")
kdevelop.plugins.git: couldn't find the git root for QUrl("file:///opt/local/portia-site-ports")
kdevelop.plugins.git: couldn't find the git root for QUrl("file:///opt/local/portia-site-ports")
failed to open a repository
/tmp/.mount_KDevelOgKjbS/AppRun: line 36: 28348 Aborted                 kdevelop $@
Exit 134


> ll -htr ~/.cache/kdevduchain/kdevelop-\{c241ebeb-91a8-4054-a7f4-ef33efe8fd99}/
total 4.6M
 22642  33K drwxr-xr-x 33 bertin bertin   33 Jul 22 16:55 ../
348217  512 -rw-rw-r--  1 bertin bertin    0 Jul 22 16:56 version_84083201
347974  512 drwxrwxr-x  2 bertin bertin    4 Jul 22 16:57 topcontexts/
348216  512 -rw-rw-r--  1 bertin bertin   32 Jul 22 16:57 Persistent Declaration Table_dynamic
348215 201K -rw-rw-r--  1 bertin bertin 2.4M Jul 22 16:57 Persistent Declaration Table
347971 4.5K -rw-rw-r--  1 bertin bertin  328 Jul 22 16:57 Code Model_dynamic
347970 613K -rw-rw-r--  1 bertin bertin 3.7M Jul 22 16:57 Code Model
348208  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 Use Map_dynamic
348207 8.5K -rw-rw-r--  1 bertin bertin 2.0M Jul 22 16:57 Use Map
347835  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 Php Completion Code Model_dynamic
347834  33K -rw-rw-r--  1 bertin bertin 2.1M Jul 22 16:57 Php Completion Code Model
347720  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 Definition Map_dynamic
347719 8.5K -rw-rw-r--  1 bertin bertin 2.0M Jul 22 16:57 Definition Map
347833  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 String Index_dynamic
347832 657K -rw-rw-r--  1 bertin bertin 3.5M Jul 22 16:57 String Index
348206  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 Importer Map_dynamic
348205 8.5K -rw-rw-r--  1 bertin bertin 2.0M Jul 22 16:57 Importer Map
348204  512 -rw-rw-r--  1 bertin bertin    4 Jul 22 16:57 Type Repository_dynamic
348203 121K -rw-rw-r--  1 bertin bertin 2.2M Jul 22 16:57 Type Repository
348200  512 -rw-rw-r--  1 bertin bertin    4 Jul 22 16:57 Qualified Identifier Repository_dynamic
348199 393K -rw-rw-r--  1 bertin bertin 2.6M Jul 22 16:57 Qualified Identifier Repository
348202  512 -rw-rw-r--  1 bertin bertin    4 Jul 22 16:57 Instantiation Information Repository_dynamic
348201  21K -rw-rw-r--  1 bertin bertin 2.1M Jul 22 16:57 Instantiation Information Repository
348198  512 -rw-rw-r--  1 bertin bertin    4 Jul 22 16:57 Identifier Repository_dynamic
348197 361K -rw-rw-r--  1 bertin bertin 2.5M Jul 22 16:57 Identifier Repository
348214  512 -rw-rw-r--  1 bertin bertin    4 Jul 22 16:57 file modification sets_dynamic
348213  21K -rw-rw-r--  1 bertin bertin 2.1M Jul 22 16:57 file modification sets
348196  512 -rw-rw-r--  1 bertin bertin    4 Jul 22 16:57 file modification repository_dynamic
348195  53K -rw-rw-r--  1 bertin bertin 2.1M Jul 22 16:57 file modification repository
347831  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 Recursive Imports_dynamic
347830  25K -rw-rw-r--  1 bertin bertin 2.1M Jul 22 16:57 Recursive Imports
348210  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 Environment Lists_dynamic
348209  37K -rw-rw-r--  1 bertin bertin 2.1M Jul 22 16:57 Environment Lists
348212  512 -rw-rw-r--  1 bertin bertin    8 Jul 22 16:57 Environment Information_dynamic
348211  45K -rw-rw-r--  1 bertin bertin 2.1M Jul 22 16:57 Environment Information
348219  512 -rw-rw-r--  1 bertin bertin    0 Jul 22 16:57 version_84083457
347839  512 -rw-rw-r--  1 bertin bertin   20 Jul 22 16:57 parsing_environment_data
347838  512 -rw-rw-r--  1 bertin bertin   46 Jul 22 16:57 Counters
348194  512 -rw-rw-r--  1 bertin bertin   12 Jul 22 16:57 Comment Repository_dynamic
348193 2.0M -rw-rw-r--  1 bertin bertin 8.8M Jul 22 16:57 Comment Repository
347840  512 -rw-rw-r--  1 bertin bertin    0 Jul 22 16:57 available_top_context_indices
348192 8.5K drwxrwxr-x  3 bertin bertin   42 Jul 22 16:57 ./
```
Comment 3 RJVB 2019-07-22 15:05:44 UTC
Created attachment 121676 [details]
workaround for the abort

It appears there is no hard need to abort but that instead you can keep running without side-effects.
Comment 4 RJVB 2019-07-23 07:19:01 UTC
Turns out this was a false alarm, it just took me way too long to get the idea to check who was using libKDevPlatformSerialisation.

Sure enough I had a not-so-zombie KDevelop 5.3.2 process running which I thought I had quit before logging off (the 1st time after upgrading to 5.60.0). My issues started after logging in.

Two things would probably have helped me think of this sooner:
- using the hex version number in the version file, so I'd have seen an unexpected version_5030201 file.
- storing the application PID in the file instead of keeping it empty.

It's been a (potentially) interesting "experiment" though that has shown that the session can survive unexpected "failed to open registry" errors, i.e. that an immediate abort isn't required.
Comment 5 RJVB 2019-07-23 14:00:35 UTC
Created attachment 121693 [details]
no abort and more informative version_XXX file

This implements the earlier workaround to prevent the abort(), and my idea to make the version_XXX file a bit more useful to understand the kind of issue I was confronted with. The number in the filename is stored in hex (so it becomes evident which KDevelop version created the file) and the file itself contains the application PIC.

Depending on feedback here I may clean this up where necessary and put it up for review on phab after the summer (and 5.4 release)