Bug 239881 - Kdevelop crashes when trying to recover a file
Summary: Kdevelop crashes when trying to recover a file
Status: RESOLVED WORKSFORME
Alias: None
Product: kdevelop
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 4.0.1
Assignee: kdevelop-bugs-null
URL:
Keywords: investigated, triaged
Depends on:
Blocks:
 
Reported: 2010-05-28 17:20 UTC by António Oliveira
Modified: 2018-09-26 20:47 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description António Oliveira 2010-05-28 17:20:47 UTC
Application: kdevelop (4.0.0 (using KDevPlatform 1.0.0))
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-22-generic x86_64
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
While editting a header file, I entered a '.' which might have triggered autocompletion, then clicked (to open) the Documentation view.
This led to the first crash.

Now, everytime I try to start Kdevelop and answer yes to "recover" the unsaved header file, kdevelop crashes with a SEGFAULT.

cheers,

The crash can be reproduced every time.

 -- Backtrace:
Application: KDevelop (kdevelop.bin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fdcdf925760 (LWP 31767))]

Thread 9 (Thread 0x7fdccbb92710 (LWP 31768)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007fdcde0ca692 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x31256d0, time=200000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x31256d0, time=200000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fdcd9b5206e in KDevelop::DUChainPrivate::CleanupThread::run (this=0x31256b0) at ../../language/duchain/duchain.cpp:286
#4  0x00007fdcde0c9775 in QThreadPrivate::start (arg=0x31256b0) at thread/qthread_unix.cpp:248
#5  0x00007fdcdcb0c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fdcdce096cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fdcca692710 (LWP 31769)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007fdcca691aa0 in ?? ()
#2  0x00007fff447ff852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 7 (Thread 0x7fdcb9184710 (LWP 31771)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007fdcb9183aa0 in ?? ()
#2  0x00007fff447ff852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 6 (Thread 0x7fdcb6d4b710 (LWP 31792)):
#0  0x00007fdcd74ed28d in ?? () from /lib/libglib-2.0.so.0
#1  0x00007fdcd74ed8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#2  0x00007fdcde1e7566 in QEventDispatcherGlib::processEvents (this=0x42d51f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#3  0x00007fdcde1bc992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#4  0x00007fdcde1bcd6c in QEventLoop::exec (this=0x7fdcb6d4adf0, flags=) at kernel/qeventloop.cpp:201
#5  0x00007fdcde0c6d59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#6  0x00007fdcde0c9775 in QThreadPrivate::start (arg=0x402a170) at thread/qthread_unix.cpp:248
#7  0x00007fdcdcb0c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#8  0x00007fdcdce096cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fdcb754c710 (LWP 31793)):
#0  0x00007fdcdcdfcf53 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fdcd74ed4a9 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fdcd74ed8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fdcde1e7566 in QEventDispatcherGlib::processEvents (this=0x4201bc0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007fdcde1bc992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fdcde1bcd6c in QEventLoop::exec (this=0x7fdcb754bdf0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fdcde0c6d59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fdcde0c9775 in QThreadPrivate::start (arg=0x41cb2e0) at thread/qthread_unix.cpp:248
#8  0x00007fdcdcb0c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007fdcdce096cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fdcb5523710 (LWP 31794)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007fdcde0c90e5 in thread_sleep (ti=0x7fdcb5522db0) at thread/qthread_unix.cpp:398
#2  0x00007fdcde0c9250 in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:424
#3  0x00007fdcb5cebf41 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#4  0x00007fdcde0c9775 in QThreadPrivate::start (arg=0x7fdcc40deb60) at thread/qthread_unix.cpp:248
#5  0x00007fdcdcb0c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fdcdce096cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fdcb3e0d710 (LWP 31802)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fdcde0ca72b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x2df05a0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2df05a0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fdcd4f89026 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x304a6e0, th=0x4011700) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fdcd4f8b6ab in ThreadWeaver::WorkingHardState::applyForWork (this=0x3047b70, th=0x4011700) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fdcd4f8b6c4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x3047b70, th=0x4011700) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fdcd4f89bff in ThreadWeaver::ThreadRunHelper::run (this=0x7fdcb3e0ce00, parent=0x304a6e0, th=0x4011700) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007fdcd4f8a168 in ThreadWeaver::Thread::run (this=0x4011700) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007fdcde0c9775 in QThreadPrivate::start (arg=0x4011700) at thread/qthread_unix.cpp:248
#9  0x00007fdcdcb0c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fdcdce096cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fdcb360c710 (LWP 31803)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007fdcde0ca692 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x41be048, time=1000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x41be048, time=1000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fdcb5cf7fe5 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#4  0x00007fdcb5cf8266 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#5  0x00007fdcb5d05302 in ?? () from /usr/lib/kde4/kdevcpplanguagesupport.so
#6  0x00007fdcd4f8a8dd in ThreadWeaver::JobRunHelper::runTheJob (this=0x7fdcb360bd50, th=0x50d4200, job=0x42d19e0) at ../../../threadweaver/Weaver/Job.cpp:106
#7  0x00007fdcd4f8abde in ThreadWeaver::Job::execute (this=0x42d19e0, th=0x50d4200) at ../../../threadweaver/Weaver/Job.cpp:135
#8  0x00007fdcd4f8c003 in ThreadWeaver::JobCollectionJobRunner::execute (this=0x6385570, t=0x50d4200) at ../../../threadweaver/Weaver/JobCollection.cpp:82
#9  0x00007fdcd4f89bcf in ThreadWeaver::ThreadRunHelper::run (this=0x7fdcb360be00, parent=0x304a6e0, th=0x50d4200) at ../../../threadweaver/Weaver/Thread.cpp:95
#10 0x00007fdcd4f8a168 in ThreadWeaver::Thread::run (this=0x50d4200) at ../../../threadweaver/Weaver/Thread.cpp:142
#11 0x00007fdcde0c9775 in QThreadPrivate::start (arg=0x50d4200) at thread/qthread_unix.cpp:248
#12 0x00007fdcdcb0c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#13 0x00007fdcdce096cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fdcdf925760 (LWP 31767)):
[KCrash Handler]
#5  0x00007fdcdedf0ccc in KDevelop::DocumentController::openDocumentFromText (this=<value optimized out>, data=...) at ../../shell/documentcontroller.cpp:534
#6  0x00007fdcdee0c341 in KDevelop::SessionControllerPrivate::performRecovery() () from /usr/lib/libkdevplatformshell.so.1
#7  0x00007fdcdee07c2e in KDevelop::SessionControllerPrivate::qt_metacall (this=0x2df04a0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=<value optimized out>) at ./sessioncontroller.moc:75
#8  0x00007fdcde1cdd49 in QObject::event (this=0x2df04a0, e=0x42ad710) at kernel/qobject.cpp:1248
#9  0x00007fdcdd57722c in QApplicationPrivate::notify_helper (this=0x24bd690, receiver=0x2df04a0, e=0x42ad710) at kernel/qapplication.cpp:4300
#10 0x00007fdcdd57d6fb in QApplication::notify (this=0x7fff447f5020, receiver=0x2df04a0, e=0x42ad710) at kernel/qapplication.cpp:4183
#11 0x00007fdcde705526 in KApplication::notify (this=0x7fff447f5020, receiver=0x2df04a0, event=0x42ad710) at ../../kdeui/kernel/kapplication.cpp:302
#12 0x00007fdcde1be06c in QCoreApplication::notifyInternal (this=0x7fff447f5020, receiver=0x2df04a0, event=0x42ad710) at kernel/qcoreapplication.cpp:704
#13 0x00007fdcde1c07e7 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x2472420) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2472420) at kernel/qcoreapplication.cpp:1345
#15 0x00007fdcde1e79d3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#16 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#17 0x00007fdcd74e98c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#18 0x00007fdcd74ed748 in ?? () from /lib/libglib-2.0.so.0
#19 0x00007fdcd74ed8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#20 0x00007fdcde1e7513 in QEventDispatcherGlib::processEvents (this=0x2471b80, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#21 0x00007fdcdd62746e in QGuiEventDispatcherGlib::processEvents (this=0x3b107d0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#22 0x00007fdcde1bc992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#23 0x00007fdcde1bcd6c in QEventLoop::exec (this=0x7fff447f2c60, flags=) at kernel/qeventloop.cpp:201
#24 0x00007fdcdda4109e in QDialog::exec (this=0x5300630) at dialogs/qdialog.cpp:546
#25 0x00007fdcde6878a5 in KMessageBox::createKMessageBox (dialog=<value optimized out>, icon=<value optimized out>, text=<value optimized out>, strlist=<value optimized out>, 
    ask=<value optimized out>, checkboxReturn=<value optimized out>, options=) at ../../kdeui/dialogs/kmessagebox.cpp:333
#26 0x00007fdcde688b50 in KMessageBox::createKMessageBox (dialog=<value optimized out>, icon=QMessageBox::Information, text=<value optimized out>, strlist=<value optimized out>, ask=..., 
    checkboxReturn=0x7fff447f333f, options=..., details=...) at ../../kdeui/dialogs/kmessagebox.cpp:151
#27 0x00007fdcde68a294 in KMessageBox::informationListWId (parent_id=0, text=<value optimized out>, strlist=..., caption=..., dontShowAgainName=..., options=)
    at ../../kdeui/dialogs/kmessagebox.cpp:1000
#28 0x00007fdcde68a40f in KMessageBox::informationList (parent=<value optimized out>, text=..., strlist=..., caption=..., dontShowAgainName=..., options=<value optimized out>)
    at ../../kdeui/dialogs/kmessagebox.cpp:970
#29 0x00007fdcde68a460 in KMessageBox::information (parent=0x3b107d0, text=..., caption=<value optimized out>, dontShowAgainName=<value optimized out>, options=<value optimized out>)
    at ../../kdeui/dialogs/kmessagebox.cpp:957
#30 0x00007fdcb49a4020 in KateDocument::openFile (this=0x5327b10) at ../../kate/document/katedocument.cpp:2186
#31 0x00007fdcdba6a117 in KParts::ReadOnlyPart::openUrl (this=0x5327b10, url=<value optimized out>) at ../../kparts/part.cpp:557
#32 0x00007fdcdedecc2d in KDevelop::TextDocument::createViewWidget (this=0x3fb7f40, parent=0x4287190) at ../../shell/textdocument.cpp:261
#33 0x00007fdcdedec417 in KDevelop::TextView::createWidget (this=0x405d440, parent=0x4287190) at ../../shell/textdocument.cpp:531
#34 0x00007fdcd9874c06 in Sublime::View::widget(QWidget*) () from /usr/lib/libsublime.so.1
#35 0x00007fdcd986eda0 in ?? () from /usr/lib/libsublime.so.1
#36 0x00007fdcd98741b8 in Sublime::Area::WalkerMode Sublime::Area::walkViewsInternal<Sublime::MainWindowPrivate::ViewCreator>(Sublime::MainWindowPrivate::ViewCreator&, Sublime::AreaIndex*) ()
   from /usr/lib/libsublime.so.1
#37 0x00007fdcd98724c7 in ?? () from /usr/lib/libsublime.so.1
#38 0x00007fdcd98696a0 in Sublime::MainWindow::setArea(Sublime::Area*) () from /usr/lib/libsublime.so.1
#39 0x00007fdcdedbe533 in KDevelop::WorkingSet::loadToArea (this=<value optimized out>, area=0x2eb68d0, areaIndex=<value optimized out>, clear=<value optimized out>)
    at ../../shell/workingsetcontroller.cpp:346
#40 0x00007fdcdedbea10 in KDevelop::WorkingSet::changedWorkingSet (this=0x3c19090, area=0x2eb68d0, from=<value optimized out>, to=) at ../../shell/workingsetcontroller.cpp:648
#41 0x00007fdcdedbf39f in KDevelop::WorkingSet::qt_metacall (this=0x3c19090, _c=<value optimized out>, _id=<value optimized out>, _a=0x3c1e730) at ./workingsetcontroller.moc:90
#42 0x00007fdcde1cdd49 in QObject::event (this=0x3c19090, e=0x3c1e060) at kernel/qobject.cpp:1248
#43 0x00007fdcdd57722c in QApplicationPrivate::notify_helper (this=0x24bd690, receiver=0x3c19090, e=0x3c1e060) at kernel/qapplication.cpp:4300
#44 0x00007fdcdd57d6fb in QApplication::notify (this=0x7fff447f5020, receiver=0x3c19090, e=0x3c1e060) at kernel/qapplication.cpp:4183
#45 0x00007fdcde705526 in KApplication::notify (this=0x7fff447f5020, receiver=0x3c19090, event=0x3c1e060) at ../../kdeui/kernel/kapplication.cpp:302
#46 0x00007fdcde1be06c in QCoreApplication::notifyInternal (this=0x7fff447f5020, receiver=0x3c19090, event=0x3c1e060) at kernel/qcoreapplication.cpp:704
#47 0x00007fdcde1c07e7 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x2472420) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#48 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2472420) at kernel/qcoreapplication.cpp:1345
#49 0x00007fdcde1e79d3 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#50 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#51 0x00007fdcd74e98c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#52 0x00007fdcd74ed748 in ?? () from /lib/libglib-2.0.so.0
#53 0x00007fdcd74ed8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#54 0x00007fdcde1e7513 in QEventDispatcherGlib::processEvents (this=0x2471b80, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#55 0x00007fdcdd62746e in QGuiEventDispatcherGlib::processEvents (this=0x3b107d0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#56 0x00007fdcde1bc992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#57 0x00007fdcde1bcd6c in QEventLoop::exec (this=0x7fff447f4e50, flags=) at kernel/qeventloop.cpp:201
#58 0x00007fdcde1c0aab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#59 0x00000000004088cf in _start ()

Reported using DrKonqi
Comment 1 Andreas Pakulat 2010-05-28 18:13:46 UTC
please run kdevelop in valgrind:

KDEV_SESSION=blah valgrind --track-origins=yes kdevelop.bin

and reproduce the issue. Then post the valgrind log.
Comment 2 António Oliveira 2010-05-28 18:20:59 UTC
Humm,

unfortunately, in order do proceed the work I was doing, I canceled the file recovery on startup, which sent the problem away and now I'm unable to reproduce it :-(

If I come across this again I'll do as requested.

Is that 'blah' just a placeholder for some KDEV_SESSION value, or should it be input exactly as shown?

Thanks.
Comment 3 Andreas Pakulat 2010-05-29 02:10:49 UTC
To get the recovery dialog you'll have to use the session id of the session that was shutdown unclean (i.e. kdevelop crashed).
Comment 4 Andrew Crouthamel 2018-09-20 22:00:21 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 António Oliveira 2018-09-26 20:47:49 UTC
Hi,

Even though it feels like I'm speaking to a machine [ :P ], I'm just taking the time to express that this is either too old or already fixed to deserve any further attention.

I'm taking the liberty to set this as Resolver/Worksforme. Hopefully it won't steal any precious time from the kdevelop jedis.

--cheers,