Bug 233990

Summary: KDevelop with PHP plugin crashes after refreshing the page
Product: [Applications] kdevelop Reporter: Jan Buchar <Teyras>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jan Buchar 2010-04-10 22:35:47 UTC
Application: kdevelop (3.10.0 (using KDevPlatform 0.10.0))
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-pae i686
Distribution (Platform): Archlinux Packages

-- Information about the crash:
Crash occurs after refreshing the web application in Konqueror. This doesn't seem to happen in other browsers (Opera, Firefox). 

The crash can be reproduced some of the time.

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

Thread 7 (Thread 0xb0e7eb70 (LWP 7673)):
#0  0xb7849424 in __kernel_vsyscall ()
#1  0xb6185262 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb626f4e4 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb6ea730f in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0xb52d9185 in KDevelop::DUChainPrivate::CleanupThread::run() () from /usr/lib/libkdevplatformlanguage.so.1
#5  0xb6ea644e in ?? () from /usr/lib/libQtCore.so.4
#6  0xb618094c in start_thread () from /lib/libpthread.so.0
#7  0xb6261eae in clone () from /lib/libc.so.6

Thread 6 (Thread 0xafd02b70 (LWP 7674)):
#0  0xb7849424 in __kernel_vsyscall ()
#1  0xb6184f35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb626f48d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb6ea7387 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0xb482c800 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb482f31c in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb482b20b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb482f412 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb482c463 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb482d4ae in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb482dbcb in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0xb6ea644e in ?? () from /usr/lib/libQtCore.so.4
#12 0xb618094c in start_thread () from /lib/libpthread.so.0
#13 0xb6261eae in clone () from /lib/libc.so.6

Thread 5 (Thread 0xaf501b70 (LWP 7676)):
#0  0xb7849424 in __kernel_vsyscall ()
#1  0xb6184f35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb626f48d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb6ea7387 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0xb482c800 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb482f31c in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb482b20b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb482f412 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb482c463 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb482d4ae in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb482dbcb in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0xb6ea644e in ?? () from /usr/lib/libQtCore.so.4
#12 0xb618094c in start_thread () from /lib/libpthread.so.0
#13 0xb6261eae in clone () from /lib/libc.so.6

Thread 4 (Thread 0xad32db70 (LWP 7681)):
#0  0xb4fa2de6 in clock_gettime () from /lib/librt.so.1
#1  0xb6fd08eb in ?? () from /usr/lib/libQtCore.so.4
#2  0xb6fd5ae5 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb6fd5b2a in ?? () from /usr/lib/libQtCore.so.4
#4  0xb6fd39f8 in ?? () from /usr/lib/libQtCore.so.4
#5  0xb6fd3a8d in ?? () from /usr/lib/libQtCore.so.4
#6  0xb4f14d6a in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#7  0xb4f15179 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#8  0xb4f15748 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#9  0xb6fd37ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0xb6fa64a9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0xb6fa68fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0xb6ea3728 in QThread::exec() () from /usr/lib/libQtCore.so.4
#13 0xb53cff00 in KDevelop::CompletionWorkerThread::run() () from /usr/lib/libkdevplatformlanguage.so.1
#14 0xb6ea644e in ?? () from /usr/lib/libQtCore.so.4
#15 0xb618094c in start_thread () from /lib/libpthread.so.0
#16 0xb6261eae in clone () from /lib/libc.so.6

Thread 3 (Thread 0xacb2cb70 (LWP 7706)):
#0  0xb7849424 in __kernel_vsyscall ()
#1  0xb6184f35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb626f48d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb6ea7387 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0xb482c800 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb482f31c in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb482b20b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb482f412 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb482c463 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb482d4ae in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb482dbcb in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#11 0xb6ea644e in ?? () from /usr/lib/libQtCore.so.4
#12 0xb618094c in start_thread () from /lib/libpthread.so.0
#13 0xb6261eae in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa9681b70 (LWP 7707)):
#0  0xb7849424 in __kernel_vsyscall ()
#1  0xb6184f35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb626f48d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb6ea7387 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0xb482c800 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0xb482f31c in ?? () from /usr/lib/libthreadweaver.so.4
#6  0xb482b20b in ?? () from /usr/lib/libthreadweaver.so.4
#7  0xb482f412 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0xb482c463 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0xb482f431 in ?? () from /usr/lib/libthreadweaver.so.4
#10 0xb482c463 in ?? () from /usr/lib/libthreadweaver.so.4
#11 0xb482d4ae in ?? () from /usr/lib/libthreadweaver.so.4
#12 0xb482dbcb in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#13 0xb6ea644e in ?? () from /usr/lib/libQtCore.so.4
#14 0xb618094c in start_thread () from /lib/libpthread.so.0
#15 0xb6261eae in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb462f710 (LWP 7672)):
[KCrash Handler]
#6  0xb5477b2a in KDevelop::ProjectBaseItem::project() const () from /usr/lib/libkdevplatformproject.so.1
#7  0xb1964818 in GenericProjectManager::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/kde4/kdevgenericmanager.so
#8  0xb6fad06a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#9  0xb6fbb65f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#10 0xb1960d95 in GenericManagerListJob::entries(KDevelop::ProjectFolderItem*, QList<KIO::UDSEntry> const&, bool) () from /usr/lib/kde4/kdevgenericmanager.so
#11 0xb1960e3b in GenericManagerListJob::slotResult(KJob*) () from /usr/lib/kde4/kdevgenericmanager.so
#12 0xb196156f in GenericManagerListJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/kde4/kdevgenericmanager.so
#13 0xb6fad06a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#14 0xb6fbb65f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#15 0xb76a3a63 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5
#16 0xb76a3dc8 in KJob::emitResult() () from /usr/lib/libkdecore.so.5
#17 0xb5663dd0 in KIO::SimpleJob::slotFinished() () from /usr/lib/libkio.so.5
#18 0xb5663f3e in KIO::ListJob::slotFinished() () from /usr/lib/libkio.so.5
#19 0xb5667eee in KIO::ListJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#20 0xb6fad06a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#21 0xb6fbb65f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#22 0xb572daf7 in KIO::SlaveInterface::finished() () from /usr/lib/libkio.so.5
#23 0xb5730e1d in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/libkio.so.5
#24 0xb572dfb3 in KIO::SlaveInterface::dispatch() () from /usr/lib/libkio.so.5
#25 0xb5721498 in KIO::Slave::gotInput() () from /usr/lib/libkio.so.5
#26 0xb57216a3 in KIO::Slave::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#27 0xb6fad06a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#28 0xb6fbb65f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#29 0xb562cb07 in KIO::Connection::readyRead() () from /usr/lib/libkio.so.5
#30 0xb562eeae in ?? () from /usr/lib/libkio.so.5
#31 0xb562efde in KIO::Connection::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#32 0xb6fad06a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#33 0xb6fb7586 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4
#34 0xb6fb86be in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#35 0xb6506e4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#36 0xb650da5e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#37 0xb729a2ca in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#38 0xb6fa7e6b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#39 0xb6faa843 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#40 0xb6faa9ad in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#41 0xb6fd3cbf in ?? () from /usr/lib/libQtCore.so.4
#42 0xb4f11895 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#43 0xb4f15568 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#44 0xb4f15748 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#45 0xb6fd37b5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#46 0xb65c35c5 in ?? () from /usr/lib/libQtGui.so.4
#47 0xb6fa64a9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#48 0xb6fa68fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#49 0xb6faaa6f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#50 0xb6506ee7 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#51 0x0804f8bb in _start ()

Reported using DrKonqi
Comment 1 Milian Wolff 2010-04-14 18:18:39 UTC
Are you working on a remote project, or is the PHP application you are refreshing in the browser working locally and you have that open in KDevelop?

otherwise I would need some way to debug this issue, it's apparantly another case of invalidated model... Did you reload some files manually at the same time? Or are files/folders created and deleted afterwards in short timeframes while your app is running?
Comment 2 Jan Buchar 2010-04-14 18:33:36 UTC
The application is running locally. It's based on Nette Framework (http://nettephp.com), which recreates cached files (templates, autoloader's list of classes...) on every refresh when working in a development environment. 

I only finished coding and refreshed the page.
Comment 3 Milian Wolff 2010-04-14 19:08:02 UTC
is your application open source or closed source? if you could provide me with it, I could try to debug it (if it's not too hard to setup on a local apache).

otherwise I'll create some script that creates, deletes, touches files in a project file by random ;-) maybe that will work for now.
Comment 4 Jan Buchar 2010-04-14 20:33:38 UTC
(In reply to comment #3)
> is your application open source or closed source? if you could provide me with
> it, I could try to debug it (if it's not too hard to setup on a local apache).
> 
> otherwise I'll create some script that creates, deletes, touches files in a
> project file by random ;-) maybe that will work for now.

Open source, I mailed it to you...
Comment 5 Milian Wolff 2010-04-20 21:55:18 UTC
SVN commit 1116992 by mwolff:

add PHP script that goes berserk in a folder of your choice and renames files and folders in it, I hoped I could find some crashes that way, but couldn't so far...

CCBUG: 233990

 A             test (directory)  
 AM            test/stresstest.php  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1116992
Comment 6 Jan Buchar 2010-06-26 15:49:23 UTC
I'm almost sure this problem is related to refreshing the template cache - It occurs after changing the template file. It could be probably avoided by excluding the temp/ directory from the project...
Comment 7 Milian Wolff 2010-09-06 15:10:29 UTC
is this still an issue with KDevelop 4.0.2 or even KDevelop 4.1 Beta 1?
Comment 8 Jan Buchar 2010-09-06 18:32:41 UTC
It seems to be working right now, thanks. (4.1 beta 1)