Bug 318573

Summary: Editor suddenly hung after removing opening curly bracket in C code.
Product: [Applications] kdevelop Reporter: Aaron Williams <aaronw>
Component: All editorsAssignee: kdevelop-bugs-null
Status: RESOLVED WORKSFORME    
Severity: crash CC: aleixpol
Priority: NOR Keywords: triaged
Version First Reported In: 4.4.1   
Target Milestone: 4.3.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Aaron Williams 2013-04-19 02:25:25 UTC
I was editing a C file function and just deleted the opening curly brace and moved the cursor down when it hung. I use the Kate editor part.

        if (err) { <--- deleted opening bracket, cursor moved down to just in front of printf
                printf("%s: Failed to set RCA to %d\n", __func__, mmc->rca);
        }
}

Here's a stack trace from GDB:

#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007fa876dcdf2c in _L_lock_974 () from /lib64/libpthread.so.0
#2  0x00007fa876dcdd7b in __GI___pthread_mutex_lock (mutex=0x7fa87a284520 <(anonymous namespace)::internalMutex>)
    at pthread_mutex_lock.c:64
#3  0x00007fa87a06f2de in lock (this=0x7fa87a284520 <(anonymous namespace)::internalMutex>)
    at /usr/src/debug/kdevplatform-1.4.1/interfaces/foregroundlock.cpp:48
#4  (anonymous namespace)::lockForegroundMutexInternal ()
    at /usr/src/debug/kdevplatform-1.4.1/interfaces/foregroundlock.cpp:104
#5  0x00007fa87a06f4cd in KDevelop::TemporarilyReleaseForegroundLock::~TemporarilyReleaseForegroundLock (this=
    0x7fff7a0fff60, __in_chrg=<optimized out>)
    at /usr/src/debug/kdevplatform-1.4.1/interfaces/foregroundlock.cpp:244
#6  0x00007fa87a06f561 in KDevelop::ForegroundLock::ForegroundReleaser::doInternal (this=<optimized out>)
    at /usr/src/debug/kdevplatform-1.4.1/interfaces/foregroundlock.cpp:177
#7  0x00007fa87a06ff1b in KDevelop::DoInForeground::doInternalSlot (this=
    0x7fa87a2844e0 <KDevelop::ForegroundLock::relock()::releaser>)
    at /usr/src/debug/kdevplatform-1.4.1/interfaces/foregroundlock.cpp:282
#8  0x00007fa8784dc68e in QObject::event (this=0x7fa87a2844e0 <KDevelop::ForegroundLock::relock()::releaser>, 
    e=<optimized out>) at kernel/qobject.cpp:1203
#9  0x00007fa87787186c in QApplicationPrivate::notify_helper (this=this@entry=0x1535710, receiver=receiver@entry=
    0x7fa87a2844e0 <KDevelop::ForegroundLock::relock()::releaser>, e=e@entry=0x7fa7e199eb20)
    at kernel/qapplication.cpp:4562
#10 0x00007fa877875ceb in QApplication::notify (this=0x7fff7a102450, receiver=
    0x7fa87a2844e0 <KDevelop::ForegroundLock::relock()::releaser>, e=0x7fa7e199eb20)
    at kernel/qapplication.cpp:4423
#11 0x00007fa878ce0146 in KApplication::notify (this=0x7fff7a102450, receiver=
    0x7fa87a2844e0 <KDevelop::ForegroundLock::relock()::releaser>, event=0x7fa7e199eb20)
    at /usr/src/debug/kdelibs-4.10.2/kdeui/kernel/kapplication.cpp:311
#12 0x00007fa8784c7c9e in QCoreApplication::notifyInternal (this=0x7fff7a102450, receiver=receiver@entry=
    0x7fa87a2844e0 <KDevelop::ForegroundLock::relock()::releaser>, event=event@entry=0x7fa7e199eb20)
    at kernel/qcoreapplication.cpp:946
#13 0x00007fa8784cb601 in sendEvent (event=0x7fa7e199eb20, receiver=
    0x7fa87a2844e0 <KDevelop::ForegroundLock::relock()::releaser>) at kernel/qcoreapplication.h:231
#14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x14f4670)
    at kernel/qcoreapplication.cpp:1570
#15 0x00007fa8784f6043 in sendPostedEvents () at kernel/qcoreapplication.h:236
#16 postEventSourceDispatch (s=s@entry=0x1529bb0) at kernel/qeventdispatcher_glib.cpp:279
#17 0x00007fa8710b27d5 in g_main_dispatch (context=0x1532100) at gmain.c:2715
#18 g_main_context_dispatch (context=context@entry=0x1532100) at gmain.c:3219
#19 0x00007fa8710b2b08 in g_main_context_iterate (context=context@entry=0x1532100, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290
#20 0x00007fa8710b2bc4 in g_main_context_iteration (context=0x1532100, may_block=1) at gmain.c:3351
#21 0x00007fa8784f61d6 in QEventDispatcherGlib::processEvents (this=0x14f9ad0, flags=...)
    at kernel/qeventdispatcher_glib.cpp:424
#22 0x00007fa877911c1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...)
    at kernel/qguieventdispatcher_glib.cpp:204
#23 0x00007fa8784c69ef in QEventLoop::processEvents (this=this@entry=0x7fff7a100880, flags=...)
    at kernel/qeventloop.cpp:149
#24 0x00007fa8784c6c78 in QEventLoop::exec (this=0x7fff7a100880, flags=...) at kernel/qeventloop.cpp:204
#25 0x00007fa87a3b3c53 in KJob::exec (this=0x141b3ce0) at /usr/src/debug/kdelibs-4.10.2/kdecore/jobs/kjob.cpp:210
---Type <return> to continue, or q <return> to quit---
#26 0x00007fa84e8d2e0b in ManPageDocumentation::getManPageContent (this=this@entry=0x142f2e00)
    at /usr/src/debug/kdevelop-4.4.1/documentation/manpage/manpagedocumentation.cpp:57
#27 0x00007fa84e8d2f00 in ManPageDocumentation::ManPageDocumentation (this=0x142f2e00, page=...)
    at /usr/src/debug/kdevelop-4.4.1/documentation/manpage/manpagedocumentation.cpp:44
#28 0x00007fa84e8d4284 in ManPagePlugin::documentationForDeclaration (this=0x34f3770, dec=<optimized out>)
    at /usr/src/debug/kdevelop-4.4.1/documentation/manpage/manpageplugin.cpp:121
#29 0x00007fa879e0f828 in KDevelop::DocumentationController::documentationForDeclaration (this=<optimized out>, 
    decl=0x7c85540) at /usr/src/debug/kdevplatform-1.4.1/shell/documentationcontroller.cpp:148
#30 0x00007fa8745f0dad in KDevelop::AbstractDeclarationNavigationContext::html (this=0x11045340, shorten=false)
    at /usr/src/debug/kdevplatform-1.4.1/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp:83
#31 0x00007fa8745e5f0f in KDevelop::AbstractNavigationWidget::update (this=this@entry=0x104d3500)
    at /usr/src/debug/kdevplatform-1.4.1/language/duchain/navigation/abstractnavigationwidget.cpp:152
#32 0x00007fa8745e65bd in KDevelop::AbstractNavigationWidget::setContext (this=0x104d3500, context=..., 
    initBrows=<optimized out>)
    at /usr/src/debug/kdevplatform-1.4.1/language/duchain/navigation/abstractnavigationwidget.cpp:128
#33 0x00007fa8453c6bb1 in Cpp::NavigationWidget::NavigationWidget (this=0x104d3500, declaration=..., 
    topContext=..., htmlPrefix=..., htmlSuffix=...)
    at /usr/src/debug/kdevelop-4.4.1/languages/cpp/cppduchain/navigation/navigationwidget.cpp:36
#34 0x00007fa84538948d in Cpp::CppDUContext<KDevelop::TopDUContext>::createNavigationWidget (
    this=<optimized out>, decl=<optimized out>, topContext=<optimized out>, htmlPrefix=..., htmlSuffix=...)
    at /usr/src/debug/kdevelop-4.4.1/languages/cpp/cppduchain/cppducontext.cpp:50
#35 0x00007fa84db49ec2 in ContextBrowserView::createWidget (this=this@entry=0xd3cb8d0, decl=decl@entry=0x7c85540, 
    topContext=topContext@entry=0x5ee13b0)
    at /usr/src/debug/kdevplatform-1.4.1/plugins/contextbrowser/contextbrowserview.cpp:78
#36 0x00007fa84db4ab31 in ContextBrowserView::setDeclaration (this=0xd3cb8d0, decl=0x7c85540, topContext=
    0x5ee13b0, force=false) at /usr/src/debug/kdevplatform-1.4.1/plugins/contextbrowser/contextbrowserview.cpp:273
#37 0x00007fa84db4704f in ContextBrowserPlugin::updateForView (this=this@entry=0x35579e0, view=0x60ba8a0)
    at /usr/src/debug/kdevplatform-1.4.1/plugins/contextbrowser/contextbrowser.cpp:640
#38 0x00007fa84db47264 in ContextBrowserPlugin::updateViews (this=0x35579e0)
    at /usr/src/debug/kdevplatform-1.4.1/plugins/contextbrowser/contextbrowser.cpp:651
#39 0x00007fa84db4742a in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, 
    _c=<optimized out>) at /usr/src/debug/kdevplatform-1.4.1/build/plugins/contextbrowser/contextbrowser.moc:118
#40 ContextBrowserPlugin::qt_static_metacall (_o=0x35579e0, _c=128, _id=0, _a=0xffffffffffffffff)
    at /usr/src/debug/kdevplatform-1.4.1/build/plugins/contextbrowser/contextbrowser.moc:99
#41 0x00007fa8784dd1af in QMetaObject::activate (sender=0x3577db0, m=<optimized out>, 
    local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3548
#42 0x00007fa8784dc4bc in QObject::event (this=0x3577db0, e=<optimized out>) at kernel/qobject.cpp:1165
#43 0x00007fa87787186c in QApplicationPrivate::notify_helper (this=this@entry=0x1535710, receiver=receiver@entry=
    0x3577db0, e=e@entry=0x7fff7a101c90) at kernel/qapplication.cpp:4562
#44 0x00007fa877875ceb in QApplication::notify (this=0x7fff7a102450, receiver=0x3577db0, e=0x7fff7a101c90)
    at kernel/qapplication.cpp:4423
#45 0x00007fa878ce0146 in KApplication::notify (this=0x7fff7a102450, receiver=0x3577db0, event=0x7fff7a101c90)
    at /usr/src/debug/kdelibs-4.10.2/kdeui/kernel/kapplication.cpp:311
#46 0x00007fa8784c7c9e in QCoreApplication::notifyInternal (this=0x7fff7a102450, receiver=0x3577db0, event=
    0x7fff7a101c90) at kernel/qcoreapplication.cpp:946
#47 0x00007fa8784f8a71 in sendEvent (event=0x7fff7a101c90, receiver=<optimized out>)
    at kernel/qcoreapplication.h:231
#48 QTimerInfoList::activateTimers (this=0x153b8b0) at kernel/qeventdispatcher_unix.cpp:637
#49 0x00007fa8784f5b64 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:186
---Type <return> to continue, or q <return> to quit---
#50 timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:180
#51 0x00007fa8784f5b81 in idleTimerSourceDispatch (source=source@entry=0x1530ed0)
    at kernel/qeventdispatcher_glib.cpp:233
#52 0x00007fa8710b27d5 in g_main_dispatch (context=0x1532100) at gmain.c:2715
#53 g_main_context_dispatch (context=context@entry=0x1532100) at gmain.c:3219
#54 0x00007fa8710b2b08 in g_main_context_iterate (context=context@entry=0x1532100, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290
#55 0x00007fa8710b2bc4 in g_main_context_iteration (context=0x1532100, may_block=1) at gmain.c:3351
#56 0x00007fa8784f61d6 in QEventDispatcherGlib::processEvents (this=0x14f9ad0, flags=...)
    at kernel/qeventdispatcher_glib.cpp:424
#57 0x00007fa877911c1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...)
    at kernel/qguieventdispatcher_glib.cpp:204
#58 0x00007fa8784c69ef in QEventLoop::processEvents (this=this@entry=0x7fff7a101f10, flags=...)
    at kernel/qeventloop.cpp:149
#59 0x00007fa8784c6c78 in QEventLoop::exec (this=0x7fff7a101f10, flags=...) at kernel/qeventloop.cpp:204
#60 0x00007fa8784cb918 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#61 0x000000000040f0da in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kdevelop-4.4.1/app/main.cpp:519


Reproducible: Sometimes
Comment 1 Aleix Pol 2013-06-12 00:38:24 UTC
Can you please try with 4.5.1 and see if you can still experience these problems?
Comment 2 Andrew Crouthamel 2018-09-24 01:58:39 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 3 Andrew Crouthamel 2018-10-27 03:47:08 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now 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

Thank you for helping us make KDE software even better for everyone!