Bug 69195

Summary: reproducible crash with closing file in "Qt based text editor"
Product: [Applications] kdevelop Reporter: Tommi Uimonen <tuimonen>
Component: QEditorAssignee: KDevelop Developers <kdevelop-devel>
Status: RESOLVED WORKSFORME    
Severity: crash    
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tommi Uimonen 2003-11-28 00:33:45 UTC
Version:           3.0.0b (using KDE KDE 3.1.4)
Installed from:    Debian testing/unstable Packages
Compiler:          gcc version 3.3.2 (Debian) 
OS:          Linux

Start kdevelop
Set Editor to "Qt Designer based text editor" (Settings->Configure KDevelop->editor)
Open some file
Right click on editor window
(from popup)->Application->Close
CRASH

I ran also under gdb, and after SEGFAULT, I did "thread apply all bt" (like when debugging Ardour..), but nothing fancy came up, just few libc routines.

Here is the shell output (starting from the right click action to the crash)

kdevelop (core): MainWindowShare::slotActionStatusText() - Close current file
kdevelop (history): history-length=0
qeditor: CppSupportPart::partRemoved()
kdevelop (cpp support): ProblemReporter::slotPartRemoved()
kparts: DockMainWindow::createGUI for 0L
kparts: deactivating GUI for QEditorPart
kdevelop (abbrev): AbbrevPart::slotActivePartChanged()
kdevelop: KonsoleViewWidget::activePartChanged()
kdevelop:  ===> Changing dir to /home/tuimonen/code/smgui.kdevelop/smgui/smgui
kdevelop: KonsoleViewWidget::setDirectory()
kdevelop:  ===> part is 141389088
kdevelop (history): HistoryPart::activePartChanged()
qeditor: CppSupportPart::activePartChanged()
QObject::disconnect: No such slot CppSupportPart::slotCursorPositionChanged(unsigned int,unsigned int)
QObject::disconnect:  (sender name:   'unnamed')
QObject::disconnect:  (receiver name: 'KDevCppSupport')
kdevelop: ClassViewPart::activePartChanged()
kdevelop (cpp support): CppCodeCompletion::slotActivePartChanged()
kdevelop (core): pDock already destroyed!!
Comment 1 Sascha Cunz 2003-11-28 01:54:44 UTC
I cannot reproduce with KDE3.2cvs and KDevelop CVS.

As RMB-Menu->Application->close would not appear in the original Beta1, i assume you're using something more recent. Can you try with a kdevelop cvs checkout? A lot of bugs were fixed and some things changed with new KMDI.

Could you provide us that backtrace anyway?
Comment 2 Tommi Uimonen 2003-11-28 11:41:40 UTC
Subject: Re:  reproducible crash with closing file in "Qt based
 text editor"

> ------- Additional Comments From mail@sacu.de  2003-11-28 01:54 -------
> I cannot reproduce with KDE3.2cvs and KDevelop CVS.
>
> As RMB-Menu->Application->close would not appear in the original Beta1, i assume you're using something more recent. Can you try with a kdevelop cvs checkout? A lot of bugs were fixed and some things changed with new KMDI.
>
> Could you provide us that backtrace anyway?
>

I was using kdevelop cvs (sorry, I forgot to mention it). Updated
yesterday. So it might be kde3.1 specific..


KDE crash handler backtrace:

[New Thread 16384 (LWP 23548)]
[New Thread 32769 (LWP 23554)]
[New Thread 32770 (LWP 23566)]
0x415f8bdb in waitpid () from /lib/libpthread.so.0
#0  0x415f8bdb in waitpid () from /lib/libpthread.so.0
#1  0x40ca3c10 in ?? () from /usr/lib/libkdecore.so.4
#2  0xfffffff4 in ?? ()
#3  0x40c02f1c in KCrash::defaultCrashHandler(int) ()
   from /usr/lib/libkdecore.so.4

gdb "thread apply all bt":

Thread 3 (Thread 16386 (LWP 25927)):
#0  0x415f45d4 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1  0x415f4398 in __pthread_wait_for_restart_signal () from
/lib/libpthread.so.0
#2  0x00000020 in ?? ()
#3  0xbf7ff878 in ?? ()
#4  0x5fca8a40 in ?? ()

Thread 2 (Thread 32769 (LWP 25926)):
#0  0x418d761a in poll () from /lib/libc.so.6
#1  0x415f1b30 in __pthread_manager () from /lib/libpthread.so.0
#2  0x415f1d37 in __pthread_manager_event () from /lib/libpthread.so.0
#3  0x418e030a in clone () from /lib/libc.so.6

Thread 1 (Thread 16384 (LWP 25920)):
#0  0x00000000 in ?? ()


Tommi

Comment 3 Amilcar do Carmo Lucas 2003-11-28 13:44:13 UTC
This Bt is not very usefull.
Could you:
make clean
./configure --enable-debug=full --prefix=........
make
make install

And try again?
Comment 4 Amilcar do Carmo Lucas 2003-11-28 18:44:54 UTC
OK, I can reproduce it with KDE 3.1.3 and QT 3.1.2

#3  0x40ba508b in KCrash::defaultCrashHandler ()
   from /opt/kde3/lib/libkdecore.so.4
#4  0x41441a74 in pthread_sighandler () from /lib/libpthread.so.0
#5  <signal handler called>
#6  0x4143fcb3 in pthread_mutex_lock () from /lib/libpthread.so.0
#7  0x4150fc3b in free () from /lib/libc.so.6
#8  0x40d00367 in __builtin_vec_delete ()
   from /usr/lib/libstdc++-libc6.2-2.so.3
#9  0x40f3de5f in QObject::~QObject () from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0x4104389d in QTextEdit::contentsContextMenuEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#11 0x4100f855 in QScrollView::viewportContextMenuEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0x4100eda7 in QScrollView::eventFilter ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0x41044ce8 in QTextEdit::eventFilter () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0x40f3e548 in QObject::activate_filters ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#15 0x40f3e401 in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0x40f6aac5 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#17 0x40ef4d37 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#18 0x40ef46d6 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0x40b410cb in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#20 0x40eac428 in QETWidget::translateMouseEvent ()

But I see no KDevelop references.... it migth be a Qt bug.
Comment 5 Tommi Uimonen 2003-11-28 22:22:00 UTC
Subject: Re:  reproducible crash with closing file in "Qt based
 text editor"

> ------- Additional Comments From a.lucas@tu-bs.de  2003-11-28 13:44 -------
> This Bt is not very usefull.
> Could you:
> make clean
> ./configure --enable-debug=full --prefix=........
> make
> make install
>
> And try again?

Here: (long) debug output starting just before RMB

QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotAddToIgnoreList()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotRemoveFromIgnoreList()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'Subversion')
kdevelop (grep view): context in grepview
kdevelop: Context::hasType(0). this->type() == 0
kdevelop: Context::hasType(2). this->type() == 0
kdevelop (doc tree view): context in doctree
kdevelop: Context::hasType(0). this->type() == 0
kdevelop: EditorContext::~EditorContext()
kdevelop: Context::~Context()
kdevelop: FileContext::~FileContext()
kdevelop: Context::~Context()
kdevelop (core): removed id -396 at index 11
kdevelop (core): removed id -395 at index 10
kdevelop (core): removed id -394 at index 9
kdevelop (core): removed id -393 at index 8
kdevelop (core): removed id -392 at index 7
kdevelop (core): removed id -383 at index 6
kdevelop (core): removed id -381 at index 5
kdevelop (core): removed id -377 at index 4
kdevelop (core): removed id -376 at index 3
kdevelop (core): removed id -375 at index 2
kdevelop (core): leaving id -64
kdevelop (core): leaving id -63
kdevelop: Context::hasType(0). this->type() == 2
kdevelop: Context::hasType(2). this->type() == 2
kdevelop (core): CvsPart::contextMenu()
kdevelop (core): fcontext->urls() returned an empty list. I'll try to get
the single file.
kdevelop (core):  List has 1 elements.
kdevelop (core):  * Element = /tmp/moztest
kdevelop: Context::hasType(2). this->type() == 2
kdevelop: contextMenu()
kdevelop: Context::hasType(2). this->type() == 2
kdevelop: Context::hasType(2). this->type() == 2
kdevelop: Requested for a FileContext
kdevelop (core):  List has 0 elements.
kdevelop (grep view): context in grepview
kdevelop: Context::hasType(0). this->type() == 2
kdevelop: Context::hasType(2). this->type() == 2
kdevelop (doc tree view): context in doctree
kdevelop: Context::hasType(0). this->type() == 2
kdevelop: Context::hasType(1). this->type() == 2
kdevelop (core): Word:mozilla:
kdevelop: Context::hasType(0). this->type() == 0
kdevelop: Context::hasType(2). this->type() == 0
kdevelop: Context::hasType(2). this->type() == 0
kdevelop: contextMenu()
kdevelop: Context::hasType(2). this->type() == 0
kdevelop: Context::hasType(0). this->type() == 0
kdevelop: Context::hasType(2). this->type() == 0
kdevelop: Requested for an EditorContext
kdevelop (core):  List has 1 elements.
kdevelop (core):  * Element = /tmp/moztest
QObject::connect: No such slot subversionPart::slotAdd()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotRemove()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotAddToIgnoreList()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'Subversion')
QObject::connect: No such slot subversionPart::slotRemoveFromIgnoreList()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'Subversion')
kdevelop (grep view): context in grepview
kdevelop: Context::hasType(0). this->type() == 0
kdevelop: Context::hasType(2). this->type() == 0
kdevelop (doc tree view): context in doctree
kdevelop: Context::hasType(0). this->type() == 0
kdevelop: EditorContext::~EditorContext()
kdevelop: Context::~Context()
kdevelop: FileContext::~FileContext()
kdevelop: Context::~Context()
kdevelop (core): MainWindowShare::slotActionStatusText() - Close current
file
kdevelop (history): history-length=0
kparts: DockMainWindow::createGUI for 0L
kparts: deactivating GUI for QEditorPart
kdevelop (abbrev): AbbrevPart::slotActivePartChanged()
kdevelop: KonsoleViewWidget::activePartChanged()
kdevelop:  ===> Changing dir to
kdevelop (history): HistoryPart::activePartChanged()
kdevelop (core): pDock already destroyed!!


Comment 6 Amilcar do Carmo Lucas 2003-12-01 20:26:25 UTC
Can not reproduce it again with CVS HEAD.
Please update and let us know if it fixed the bug for you.
Comment 7 Tommi Uimonen 2003-12-11 20:38:41 UTC
Ok. Finally got around to install kde cvs, and it does not crash anymore.

So this bug can be closed.