[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-bugs
Subject:    [Bug 124662] New: KDevelop freezes when closing CPP project
From:       kdevelop-bugs-admin () barney ! cs ! uni-potsdam ! de
Date:       2006-03-31 16:38:16
Message-ID: 20060331183814.124662.timcharper () yahoo ! com
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=124662         
           Summary: KDevelop freezes when closing CPP project
           Product: kdevelop
           Version: 3.3.2
          Platform: Fedora RPMs
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: general
        AssignedTo: kdevelop-bugs kdevelop org
        ReportedBy: timcharper yahoo com


Version:           3.3.2 (using KDE KDE 3.5.1)
Installed from:    Fedora RPMs
Compiler:          gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)

 Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info \
--enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib \
--enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile \
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi \
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic \
                --host=i386-redhat-linux
OS:                Linux

This is a new problem I've experienced since upgrading to 3.3.2 kdevelop.

I have compiled kdevelop from sources.

The problem appears to occur when kdevelop tries to "delete" the CppSupportPart component here:

src/projectmanager.cpp
556-void ProjectManager::unloadLanguageSupport()
557-{
558-  KDevLanguageSupport *langSupport = API::getInstance()->languageSupport();
559-  if( !langSupport ) return;
560-  kdDebug(9000) << "Language support for " << langSupport->name() << " unloading..." << \
endl; 561-  PluginController::getInstance()->removePart( langSupport );
562:  delete langSupport;
563-  API::getInstance()->setLanguageSupport(0);
564-}


The bug reproduces everytime when I open and close a CPP lang-support project.  It occurs even \
when all project plugins disabled.

When running kdevelop outside of the debugger, it simply freezes (no crash).  I traced through \
the source code with gdb and narrowed it down to src/projectmanager.cpp:562

here's the debug output
(gdb) next 
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:561:17420:beg:0xb7f6d830
(gdb) info thread 
  2 Thread -1221530720 (LWP 19944)  0xffffe410 in __kernel_vsyscall ()
* 1 Thread -1211124048 (LWP 19923)  ProjectManager::unloadLanguageSupport (this=0x8197130) at \
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:561 (gdb) backtrace 
#0  ProjectManager::unloadLanguageSupport (this=0x8197130) at \
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:561 #1  0xb7f7090b in \
ProjectManager::closeProject (this=0x8197130, exiting=false) at \
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:326 #2  0xb7f71a8b in \
ProjectManager::qt_invoke (this=0x8197130, _id=4, _o=0xbfe8b658) at ./projectmanager.moc:115 #3 \
0x4623f2aa in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #4  0x4623fc3d \
in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #5  0x4947faf9 in \
KAction::activated () from /usr/lib/libkdeui.so.4 #6  0x494b67b2 in KAction::slotActivated () \
from /usr/lib/libkdeui.so.4 #7  0x495a5e5d in KAction::slotPopupActivated () from \
/usr/lib/libkdeui.so.4 #8  0x495a6121 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#9  0x4623f2aa in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#10 0x465c869e in QSignal::signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#11 0x4625d6c7 in QSignal::activate () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#12 0x4635f93f in QPopupMenu::keyPressEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#13 0x494fcf56 in KPopupMenu::keyPressEvent () from /usr/lib/libkdeui.so.4
#14 0x4627b60b in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x461d6a1b in QApplication::internalNotify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x461d84bb in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x4922bac3 in KApplication::notify () from /usr/lib/libkdecore.so.4
#18 0x4616c1f3 in QETWidget::translateKeyEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x4616d0db in QApplication::x11ProcessEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x4617f07b in QEventLoop::processEvents () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x461f0135 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x461effde in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x461d665f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x0804ef87 in main (argc=-16777216, argv=0xff000000) at \
/home/tim/development/sources/kde-head/kdevelop/src/main.cpp:145 (gdb) info args 
this = (ProjectManager * const) 0x8197130
(gdb) info local 
langSupport = (KDevLanguageSupport *) 0x8ab2ec8
(gdb) next 
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:562:17482:beg:0xb7f6d85c
(gdb) info thread 
  2 Thread -1221530720 (LWP 19944)  0xffffe410 in __kernel_vsyscall ()
* 1 Thread -1211124048 (LWP 19923)  ProjectManager::unloadLanguageSupport (this=0x8197130) at \
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:562 (gdb) backtrace 
#0  ProjectManager::unloadLanguageSupport (this=0x8197130) at \
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:562 #1  0xb7f7090b in \
ProjectManager::closeProject (this=0x8197130, exiting=false) at \
/home/tim/development/sources/kde-head/kdevelop/src/projectmanager.cpp:326 #2  0xb7f71a8b in \
ProjectManager::qt_invoke (this=0x8197130, _id=4, _o=0xbfe8b658) at ./projectmanager.moc:115 #3 \
0x4623f2aa in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #4  0x4623fc3d \
in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #5  0x4947faf9 in \
KAction::activated () from /usr/lib/libkdeui.so.4 #6  0x494b67b2 in KAction::slotActivated () \
from /usr/lib/libkdeui.so.4 #7  0x495a5e5d in KAction::slotPopupActivated () from \
/usr/lib/libkdeui.so.4 #8  0x495a6121 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#9  0x4623f2aa in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#10 0x465c869e in QSignal::signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#11 0x4625d6c7 in QSignal::activate () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#12 0x4635f93f in QPopupMenu::keyPressEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#13 0x494fcf56 in KPopupMenu::keyPressEvent () from /usr/lib/libkdeui.so.4
#14 0x4627b60b in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x461d6a1b in QApplication::internalNotify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x461d84bb in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x4922bac3 in KApplication::notify () from /usr/lib/libkdecore.so.4
#18 0x4616c1f3 in QETWidget::translateKeyEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x4616d0db in QApplication::x11ProcessEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x4617f07b in QEventLoop::processEvents () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x461f0135 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x461effde in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x461d665f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x0804ef87 in main (argc=-16777216, argv=0xff000000) at \
/home/tim/development/sources/kde-head/kdevelop/src/main.cpp:145 (gdb) info args 
this = (ProjectManager * const) 0x8197130
(gdb) info local 
langSupport = (KDevLanguageSupport *) 0x8ab2ec8
(gdb) next 
Warning:
Cannot insert breakpoint -376.
Error accessing memory address 0xc1f34dfb: Input/output error.

(gdb) info thread 
  1 Thread -1211124048 (LWP 19923)  0xffffe410 in __kernel_vsyscall ()
(gdb) Process exited

what kind of problem could cause this error?  Is it because the application is trying to call \
code on an object that doesn't exist anymore in memory space?

i'd like to help squash this bug.  if you can't resolve it, could you at least give me some \
suggestions?  tim at matchbin dot com.

thanks


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic