Application: kdevelop (4.2.2) KDE Platform Version: 4.6.5 (4.6.5) Qt Version: 4.7.3 Operating System: Linux 3.0.0-1-686-pae i686 Distribution: Debian GNU/Linux testing (wheezy) -- Information about the crash: I was using the mouse wheel to scroll the page, It wasn't big, something like 100 lines of code. Some open tab too. -- Backtrace: Application: KDevelop (kdevelop), signal: Segmentation fault [Current thread is 1 (Thread 0xb1405720 (LWP 6740))] Thread 8 (Thread 0xb106eb70 (LWP 6742)): #0 0xb78dd424 in __kernel_vsyscall () #1 0xb60daf86 in poll () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 #2 0xb5355f5b in g_poll (fds=0x92ecb10, nfds=1, timeout=-1) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gpoll.c:132 #3 0xb534596f in g_main_context_poll (n_fds=1, fds=0x92ecb10, timeout=<optimized out>, context=0x92eb938, priority=<optimized out>) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3404 #4 g_main_context_iterate (context=0x92eb938, block=1, dispatch=1, self=<optimized out>) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3086 #5 0xb53460f3 in g_main_loop_run (loop=0x92eb928) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3299 #6 0xb11ab274 in gdbus_shared_thread_func (data=0x0) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./gio/gdbusprivate.c:276 #7 0xb536eb6f in g_thread_create_proxy (data=0x92eb9c8) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gthread.c:1897 #8 0xb3016ee8 in ?? () from /usr/lib/i386-linux-gnu/libGL.so.1 Backtrace stopped: Not enough registers or memory available to unwind further Thread 7 (Thread 0xac843b70 (LWP 6743)): #0 0xb78dd424 in __kernel_vsyscall () #1 0xb5e87703 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 #2 0xb60f5ab4 in pthread_cond_timedwait () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 #3 0xb6da016e in wait (time=1000, this=0x95d7a70) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=0x95e5f64, mutex=0x95e5f68, time=1000) at thread/qwaitcondition_unix.cpp:160 #5 0xb5833cea in KDevelop::DUChainPrivate::CleanupThread::run (this=0x95e5f58) at ../../language/duchain/duchain.cpp:286 #6 0xb6d9fcd3 in QThreadPrivate::start (arg=0x95e5f58) at thread/qthread_unix.cpp:320 #7 0xb3016ee8 in ?? () from /usr/lib/i386-linux-gnu/libGL.so.1 Backtrace stopped: Not enough registers or memory available to unwind further Thread 6 (Thread 0xab54fb70 (LWP 6745)): #0 0xb78dd424 in __kernel_vsyscall () #1 0xb5e8720a in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 #2 0xb60f5a5d in pthread_cond_wait () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 #3 0xb6da01e0 in wait (time=4294967295, this=0x966efe0) at thread/qwaitcondition_unix.cpp:88 #4 QWaitCondition::wait (this=0x96550f0, mutex=0x93beb68, time=4294967295) at thread/qwaitcondition_unix.cpp:160 #5 0xb4e93246 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x96550d8, th=0x94aee40) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #6 0xb4e95d3b in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x95a2098, th=0x94aee40) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80 #7 0xb4e92e7a in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x96550d8, th=0x94aee40) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356 #8 0xb4e95e3c in ThreadWeaver::WorkingHardState::applyForWork (this=0x95a2098, th=0x94aee40) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #9 0xb4e92dd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x96550d8, th=0x94aee40, previous=0x966dc08) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351 #10 0xb4e94974 in ThreadWeaver::ThreadRunHelper::run (this=0xab54f254, parent=0x96550d8, th=0x94aee40) at ../../../threadweaver/Weaver/Thread.cpp:87 #11 0xb4e94a2a in ThreadWeaver::Thread::run (this=0x94aee40) at ../../../threadweaver/Weaver/Thread.cpp:142 #12 0xb6d9fcd3 in QThreadPrivate::start (arg=0x94aee40) at thread/qthread_unix.cpp:320 #13 0xb3016ee8 in ?? () from /usr/lib/i386-linux-gnu/libGL.so.1 Backtrace stopped: Not enough registers or memory available to unwind further Thread 5 (Thread 0xaa6b1b70 (LWP 6748)): #0 0xb78dd424 in __kernel_vsyscall () #1 0xb60daf86 in poll () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 #2 0xb5355f5b in g_poll (fds=0xb071b4e0, nfds=1, timeout=-1) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gpoll.c:132 #3 0xb534596f in g_main_context_poll (n_fds=1, fds=0xb071b4e0, timeout=<optimized out>, context=0x971b488, priority=<optimized out>) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3404 #4 g_main_context_iterate (context=0x971b488, block=1, dispatch=1, self=<optimized out>) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3086 #5 0xb5345ce4 in g_main_context_iteration (context=0x971b488, may_block=1) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3154 #6 0xb6ec8d27 in QEventDispatcherGlib::processEvents (this=0x9718d58, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #7 0xb6e99abd in QEventLoop::processEvents (this=0xaa6b1210, flags=...) at kernel/qeventloop.cpp:149 #8 0xb6e99d01 in QEventLoop::exec (this=0xaa6b1210, flags=...) at kernel/qeventloop.cpp:201 #9 0xb6d9ce6b in QThread::exec (this=0x971bb10) at thread/qthread.cpp:492 #10 0xb5934c96 in KDevelop::CompletionWorkerThread::run (this=0x971bb10) at ../../language/codecompletion/codecompletionmodel.cpp:80 #11 0xb6d9fcd3 in QThreadPrivate::start (arg=0x971bb10) at thread/qthread_unix.cpp:320 #12 0xb3016ee8 in ?? () from /usr/lib/i386-linux-gnu/libGL.so.1 Backtrace stopped: Not enough registers or memory available to unwind further Thread 4 (Thread 0xa997eb70 (LWP 6749)): #0 0xb78dd424 in __kernel_vsyscall () #1 0xb5e8720a in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 #2 0xb60f5a5d in pthread_cond_wait () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 #3 0xae093979 in ?? () from /usr/lib/libQtScript.so.4 #4 0xae0939bf in ?? () from /usr/lib/libQtScript.so.4 #5 0xb3016ee8 in ?? () from /usr/lib/i386-linux-gnu/libGL.so.1 Backtrace stopped: Not enough registers or memory available to unwind further Thread 3 (Thread 0xa8b7bb70 (LWP 6750)): #0 0xb5dd8e11 in clock_gettime () from /lib/i386-linux-gnu/i686/cmov/librt.so.1 #1 0xb6df6d25 in do_gettime (frac=0xa8b7af30, sec=0xa8b7af28) at tools/qelapsedtimer_unix.cpp:123 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #3 0xb6ec9696 in QTimerInfoList::updateCurrentTime (this=0xb07052f4) at kernel/qeventdispatcher_unix.cpp:339 #4 0xb6ec99fa in QTimerInfoList::timerWait (this=0xb07052f4, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #5 0xb6ec8253 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xa8b7b04c) at kernel/qeventdispatcher_glib.cpp:136 #6 0xb6ec82ed in timerSourcePrepare (source=0xb07052c0, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #7 0xb534474e in g_main_context_prepare (context=<optimized out>, priority=0xa8b7b0bc) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:2761 #8 0xb5345613 in g_main_context_iterate (context=0x9efb830, block=1, dispatch=1, self=<optimized out>) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3071 #9 0xb5345ce4 in g_main_context_iteration (context=0x9efb830, may_block=1) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3154 #10 0xb6ec8d27 in QEventDispatcherGlib::processEvents (this=0x9efb0a8, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #11 0xb6e99abd in QEventLoop::processEvents (this=0xa8b7b1f0, flags=...) at kernel/qeventloop.cpp:149 #12 0xb6e99d01 in QEventLoop::exec (this=0xa8b7b1f0, flags=...) at kernel/qeventloop.cpp:201 #13 0xb6d9ce6b in QThread::exec (this=0x9db8988) at thread/qthread.cpp:492 #14 0xb6e7a5fd in QInotifyFileSystemWatcherEngine::run (this=0x9db8988) at io/qfilesystemwatcher_inotify.cpp:248 #15 0xb6d9fcd3 in QThreadPrivate::start (arg=0x9db8988) at thread/qthread_unix.cpp:320 #16 0xb3016ee8 in ?? () from /usr/lib/i386-linux-gnu/libGL.so.1 Backtrace stopped: Not enough registers or memory available to unwind further Thread 2 (Thread 0xa789eb70 (LWP 6766)): #0 0xb78dd424 in __kernel_vsyscall () #1 0xb5e8720a in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 #2 0xb60f5a5d in pthread_cond_wait () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 #3 0xb486151b in ?? () from /usr/lib/libQtWebKit.so.4 #4 0xb486163f in ?? () from /usr/lib/libQtWebKit.so.4 #5 0xb3016ee8 in ?? () from /usr/lib/i386-linux-gnu/libGL.so.1 Backtrace stopped: Not enough registers or memory available to unwind further Thread 1 (Thread 0xb1405720 (LWP 6740)): [KCrash Handler] #7 0xb58386c4 in KDevelop::DUChainPointerData::base (this=0x0) at ../../language/duchain/duchainpointer.cpp:32 #8 0xa9c8b393 in operator-> (this=0xbfe94f8c) at /usr/include/kdevplatform/language/duchain/navigation/../duchainpointer.h:144 #9 Php::findContext (topCtx=..., pos=..., type=KDevelop::DUContext::Other) at /build/buildd-kdevelop-php_1.2.2-1-i386-ISyOCL/kdevelop-php-1.2.2/duchain/navigation/magicconstantnavigationcontext.cpp:47 #10 0xa9c8ce76 in Php::MagicConstantNavigationContext::html (this=0x95833f8) at /build/buildd-kdevelop-php_1.2.2-1-i386-ISyOCL/kdevelop-php-1.2.2/duchain/navigation/magicconstantnavigationcontext.cpp:99 #11 0xb590da71 in KDevelop::AbstractNavigationWidget::update (this=0xa580dd0) at ../../language/duchain/navigation/abstractnavigationwidget.cpp:146 #12 0xb590e2dc in KDevelop::AbstractNavigationWidget::setContext (this=0xa580dd0, context=..., initBrows=400) at ../../language/duchain/navigation/abstractnavigationwidget.cpp:123 #13 0xa9c89135 in Php::NavigationWidget::NavigationWidget (this=0xa580dd0, topContext=..., position=..., constant=...) at /build/buildd-kdevelop-php_1.2.2-1-i386-ISyOCL/kdevelop-php-1.2.2/duchain/navigation/navigationwidget.cpp:62 #14 0xa9cf9584 in Php::LanguageSupport::specialLanguageObjectNavigationWidget (this=0x9732b48, url=..., position=...) at /build/buildd-kdevelop-php_1.2.2-1-i386-ISyOCL/kdevelop-php-1.2.2/phplanguagesupport.cpp:207 #15 0xa9afdb60 in ContextBrowserPlugin::showToolTip (this=0x97746f0, view=0x9a4d0c0, position=...) at ../../../plugins/contextbrowser/contextbrowser.cpp:396 #16 0xa9b00841 in ContextBrowserPlugin::textHintRequested (this=0x97746f0, cursor=...) at ../../../plugins/contextbrowser/contextbrowser.cpp:358 #17 0xa9b026c3 in ContextBrowserPlugin::qt_metacall (this=0x97746f0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfe95604) at ./contextbrowser.moc:144 #18 0xb6ea0e4d in metacall (argv=0xbfe95604, idx=25, cl=QMetaObject::InvokeMetaMethod, object=0x97746f0) at kernel/qmetaobject.cpp:237 #19 QMetaObject::metacall (object=0x97746f0, cl=QMetaObject::InvokeMetaMethod, idx=25, argv=0xbfe95604) at kernel/qmetaobject.cpp:232 #20 0xb6eafb90 in QMetaObject::activate (sender=0x9a4d0c0, m=0xae3f95dc, local_signal_index=3, argv=0xbfe95604) at kernel/qobject.cpp:3278 #21 0xae2e348d in KateView::needTextHint (this=0x9a4d0c0, _t1=..., _t2=...) at ./kateview.moc:490 #22 0xae2fde96 in KateViewInternal::textHintTimeout (this=0x98fd910) at ../../kate/view/kateviewinternal.cpp:3009 #23 0xae305485 in KateViewInternal::qt_metacall (this=0x98fd910, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfe957a4) at ./kateviewinternal.moc:138 #24 0xb6ea0e4d in metacall (argv=0xbfe957a4, idx=51, cl=QMetaObject::InvokeMetaMethod, object=0x98fd910) at kernel/qmetaobject.cpp:237 #25 QMetaObject::metacall (object=0x98fd910, cl=QMetaObject::InvokeMetaMethod, idx=51, argv=0xbfe957a4) at kernel/qmetaobject.cpp:232 #26 0xb6eafb90 in QMetaObject::activate (sender=0x98fda88, m=0xb6fd07b8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3278 #27 0xb6efec95 in QTimer::timeout (this=0x98fda88) at .moc/release-shared/moc_qtimer.cpp:134 #28 0xb6eb73e6 in QTimer::timerEvent (this=0x98fda88, e=0xbfe95cdc) at kernel/qtimer.cpp:271 #29 0xb6eb2af4 in QObject::event (this=0x98fda88, e=0xbfe95cdc) at kernel/qobject.cpp:1181 #30 0xb63c80a4 in notify_helper (e=0xbfe95cdc, receiver=0x98fda88, this=0x92bc370) at kernel/qapplication.cpp:4467 #31 QApplicationPrivate::notify_helper (this=0x92bc370, receiver=0x98fda88, e=0xbfe95cdc) at kernel/qapplication.cpp:4439 #32 0xb63cd432 in QApplication::notify (this=0xbfe95cdc, receiver=0x98fda88, e=0xbfe95cdc) at kernel/qapplication.cpp:4214 #33 0xb7255571 in KApplication::notify (this=0xbfe96160, receiver=0x98fda88, event=0xbfe95cdc) at ../../kdeui/kernel/kapplication.cpp:311 #34 0x08051c6d in KDevelopApplication::notify (this=0xbfe96160, receiver=0x98fda88, event=0xbfe95cdc) at ../../app/main.cpp:90 #35 0xb6e9aa9e in QCoreApplication::notifyInternal (this=0xbfe96160, receiver=0x98fda88, event=0xbfe95cdc) at kernel/qcoreapplication.cpp:731 #36 0xb6ecae48 in sendEvent (event=0xbfe95cdc, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #37 QTimerInfoList::activateTimers (this=0x92b309c) at kernel/qeventdispatcher_unix.cpp:604 #38 0xb6ec8322 in timerSourceDispatch (source=0x92b3068) at kernel/qeventdispatcher_glib.cpp:184 #39 0xb5345252 in g_main_dispatch (context=0x92bde70) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:2440 #40 g_main_context_dispatch (context=0x92bde70) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3013 #41 0xb5345a30 in g_main_context_iterate (context=0x92bde70, block=1, dispatch=1, self=<optimized out>) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3091 #42 0xb5345ce4 in g_main_context_iteration (context=0x92bde70, may_block=1) at /build/buildd-glib2.0_2.28.6-1-i386-A3fp41/glib2.0-2.28.6/./glib/gmain.c:3154 #43 0xb6ec8cc7 in QEventDispatcherGlib::processEvents (this=0x928ef38, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #44 0xb647d01a in QGuiEventDispatcherGlib::processEvents (this=0x928ef38, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #45 0xb6e99abd in QEventLoop::processEvents (this=0xbfe95f74, flags=...) at kernel/qeventloop.cpp:149 #46 0xb6e99d01 in QEventLoop::exec (this=0xbfe95f74, flags=...) at kernel/qeventloop.cpp:201 #47 0xb6e9e45a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008 #48 0xb63c5f24 in QApplication::exec () at kernel/qapplication.cpp:3741 #49 0x08051343 in main (argc=<optimized out>, argv=0x3) at ../../app/main.cpp:467 This bug may be a duplicate of or related to bug 282299. Possible duplicates by query: bug 282299. Reported using DrKonqi
I'm also experiencing this crash, on KDevelop 4.3, KDE 4.7 and Bitrix CMS sources :) I don't know the exact file which caused this problem, because this information isn't in the stack trace, but maybe someone could point out how to determine it?
Debugged it for a while and found a minimal reproducing test. This example crashes KDevelop! <?php $a = new A(); $a->x = 1; class A { var $x = 1; } I'm seeing KDevelop sources for the first time so I don't know how it works, but I'll try to patch it... What if I succeed? :D The key is to get class context from outside of that class...
Also, this bug is related to bug 241750 - the change from it causes the crash.
the two crashes are different, but the latter is easy to reproduce, thanks. I'll fix it ASAP. would be cool if you could create a separate bugreport for this. bye
Okay, filled bug 295866.
Created attachment 72650 [details] New crash information added by DrKonqi kdevelop (4.3.1) on KDE Platform 4.8.4 (4.8.4) "release 513" using Qt 4.8.2 I got this crash when I opened a new PHP file, in this case the add-to-any.php from http://wordpress.org/extend/plugins/add-to-any version 1.0.3. -- Backtrace (Reduced): #6 KDevelop::DUChainPointerData::base (this=0x0) at /usr/src/debug/kdevplatform-1.3.1/language/duchain/duchainpointer.cpp:32 #7 0x00007f9d1c9429ab in operator-> (this=0x7a96880) at /usr/include/kdevplatform/language/duchain/duchainpointer.h:144 #8 Php::MagicConstantNavigationContext::html (this=0x7a967e0) at /usr/src/debug/kdevelop-php-1.3.1/duchain/navigation/magicconstantnavigationcontext.cpp:69 #9 0x00007f9d3ed5bf6f in KDevelop::AbstractNavigationWidget::update (this=0x7a91810) at /usr/src/debug/kdevplatform-1.3.1/language/duchain/navigation/abstractnavigationwidget.cpp:149 #10 0x00007f9d3ed5c617 in KDevelop::AbstractNavigationWidget::setContext (this=0x7a91810, context=<optimized out>, initBrows=<optimized out>) at /usr/src/debug/kdevplatform-1.3.1/language/duchain/navigation/abstractnavigationwidget.cpp:125
*** Bug 282299 has been marked as a duplicate of this bug. ***
Git commit b8067b9226c5f40c1c9dbcd40bd8c5e009f5fc85 by Milian Wolff. Committed on 13/01/2013 at 19:45. Pushed by mwolff into branch '1.5'. Don't try to show magic constant widget if we couldn't find a context. This could happen when you hovered a magic constant in a file that was not yet parsed. M +5 -1 phplanguagesupport.cpp http://commits.kde.org/kdev-php/b8067b9226c5f40c1c9dbcd40bd8c5e009f5fc85