Bug 64220 - Crash wnen changing active language
Summary: Crash wnen changing active language
Status: RESOLVED FIXED
Alias: None
Product: kdevplatform
Classification: Developer tools
Component: classbrowser (show other bugs)
Version: git master
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KDevelop Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-13 20:11 UTC by aragorn
Modified: 2013-03-31 01:31 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description aragorn 2003-09-13 20:11:29 UTC
Version:           3.0.0a6 (using KDE 3.1.9)
Compiler:          gcc version 3.3.1 20030811 (Red Hat Linux 3.3.1-1)
OS:          Linux (i686) release 2.4.20

Kdevelop crashes when changing the active languaje in the project menu (it was C++ -> python)

	also as a wishlist could you make configurable the default foreground and background color for the qeditor part ?? i hacked qeditor.cpp and made the background black but if i open a "normal" text document (for example a TODO file) the foreground is still black, i hacked again qeditor.cpp but without result :(...

	Thanks...kdevelop is getting really better...hope you soon have gui editting and completion for the other languajes, heres the backtrace of the crash:

[New Thread 16384 (LWP 9585)]
[New Thread 32769 (LWP 9779)]
[New Thread 16386 (LWP 9780)]
0x4165210a in waitpid () from /lib/libpthread.so.0
#0  0x4165210a in waitpid () from /lib/libpthread.so.0
#1  0x40c6728a in KCrash::defaultCrashHandler(int) ()
   from /usr/local/kde/lib/libkdecore.so.4
#2  0x41650d0d in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0x4274cf02 in QMapPrivate<NamespaceModel*, NamespaceItem*>::copy(QMapNode<NamespaceModel*, NamespaceItem*>*) ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#5  0x4274cf60 in QMapPrivate<NamespaceModel*, NamespaceItem*>::copy(QMapNode<NamespaceModel*, NamespaceItem*>*) ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#6  0x4274c404 in QMapPrivate<NamespaceModel*, NamespaceItem*>::QMapPrivate(QMapPrivate<NamespaceModel*, NamespaceItem*> const*) ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#7  0x4274b84b in QMap<NamespaceModel*, NamespaceItem*>::detachInternal() ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#8  0x42760be1 in QMap<NamespaceModel*, NamespaceItem*>::remove(NamespaceModel* const&) () from /usr/local/kde/lib/kde3/libkdevclassview.so
#9  0x4275e534 in NamespaceItem::~NamespaceItem() ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#10 0x410b7807 in QListViewItem::~QListViewItem() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#11 0x410ca49c in QListViewPrivate::Root::~Root() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#12 0x410bb455 in QListView::~QListView() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#13 0x410202b0 in QWidget::~QWidget() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#14 0x4276ee44 in QComboView::~QComboView() ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#15 0x42774c31 in KComboView::~KComboView() ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#16 0x427735b1 in KListViewAction::~KListViewAction() ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#17 0x40ff4440 in QObject::~QObject() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#18 0x409ecd58 in KActionCollection::~KActionCollection() ()
   from /usr/local/kde/lib/libkdeui.so.4
#19 0x40a85b9c in KXMLGUIClient::~KXMLGUIClient() ()
   from /usr/local/kde/lib/libkdeui.so.4
#20 0x4052c997 in KDevPlugin::~KDevPlugin() ()
   from /usr/local/kde/lib/libkdevelop.so.1
#21 0x427427cf in ClassViewPart::~ClassViewPart() ()
   from /usr/local/kde/lib/kde3/libkdevclassview.so
#22 0x08078605 in ProjectManager::unloadLocalParts() ()
#23 0x08075780 in ProjectManager::switchLanguage(QString const&) ()
#24 0x080792fe in ProjectManager::qt_invoke(int, QUObject*) ()
#25 0x40ff6e8a in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#26 0x40ff7299 in QObject::activate_signal(int, QString) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#27 0x409fa5b7 in KSelectAction::activated(QString const&) ()
   from /usr/local/kde/lib/libkdeui.so.4
#28 0x409f3b6b in KSelectAction::slotActivated() ()
   from /usr/local/kde/lib/libkdeui.so.4
#29 0x409fa6c3 in KSelectAction::qt_invoke(int, QUObject*) ()
   from /usr/local/kde/lib/libkdeui.so.4
#30 0x40ff6e8a in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#31 0x412b3f4a in QSignal::signal(QVariant const&) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#32 0x4100cfb5 in QSignal::activate() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#33 0x4101365f in QSingleShotTimer::event(QEvent*) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#34 0x40fa5acd in QApplication::internalNotify(QObject*, QEvent*) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#35 0x40fa5150 in QApplication::notify(QObject*, QEvent*) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#36 0x40be02eb in KApplication::notify(QObject*, QEvent*) ()
   from /usr/local/kde/lib/libkdecore.so.4
#37 0x40f96cc0 in QEventLoop::activateTimers() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#38 0x40f5b4b0 in QEventLoop::processEvents(unsigned) ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#39 0x40fb682b in QEventLoop::enterLoop() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#40 0x40fb66f0 in QEventLoop::exec() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#41 0x40fa5ccc in QApplication::exec() ()
   from /incomingStuff/kde/qt-copy/lib/libqt-mt.so.3
#42 0x08066eb5 in main ()
#43 0x417a7917 in __libc_start_main () from /lib/libc.so.6


	cheers...
Comment 1 Daniel Engelschalt 2003-11-01 21:33:08 UTC
can confirm this with current cvs
Comment 2 Jens Dagerbo 2003-11-06 15:35:58 UTC
Changing component to classview. This crash also occurs when manually unloading the classview in project plugins.
Comment 3 Jens Dagerbo 2003-11-06 16:58:14 UTC
Subject: kdevelop/parts/classview

CVS commit by dagerbo: 


We need to clear the views before we destruct, or the shared objects in the code model explode later. Exactly why this doesn't happen automatically, I haven't figured out yet.. :)

CCMAIL: 64220-done@bugs.kde.org


  M +4 -0      classviewpart.cpp   1.51


--- kdevelop/parts/classview/classviewpart.cpp  #1.50:1.51
@@ -82,4 +82,8 @@ ClassViewPart::ClassViewPart(QObject *pa
 ClassViewPart::~ClassViewPart()
 {
+    m_namespaces->view()->clear();
+    m_classes->view()->clear();
+    m_functions->view()->clear();
+    
     mainWindow()->removeView( m_widget );
     delete (ClassViewWidget*) m_widget;


Comment 4 Aleix Pol 2013-03-31 01:31:35 UTC
moving to kdevplatform's classbrowser