[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