Bug 129697

Summary: doing file/close while in a quiz crashes the app
Product: [Applications] kwordquiz Reporter: Gyozo Gaspar <ggyozo>
Component: generalAssignee: Peter Hedlund <peter>
Status: RESOLVED FIXED    
Severity: crash CC: Stefan.Borggraefe
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Gyozo Gaspar 2006-06-23 11:33:31 UTC
Version:           0.8.1 (using KDE KDE 3.5.2)
Installed from:    Ubuntu Packages
OS:                Linux

1. Open a file
2. Start a question answer session using the toolbar
3. Then select the File/Close menu

The application KWordQuiz crashed and caused the signal 11 (SIGSEGV)

The backtrace:
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 805507760 (LWP 5966)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#5  0x10021770 in QValueListPrivate<QString>::QValueListPrivate ()
#6  0x1002476c in QValueListPrivate<QString>::QValueListPrivate ()
#7  0x1002bffc in QValueListPrivate<QString>::QValueListPrivate ()
#8  0x1002dab8 in QValueListPrivate<QString>::QValueListPrivate ()
#9  0x0ec448b0 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#10 0x0ec457cc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#11 0x0f88b0e8 in KAction::activated () from /usr/lib/libkdeui.so.4
#12 0x0f8ca084 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#13 0x0f8efdb4 in KAction::slotPopupActivated () from /usr/lib/libkdeui.so.4
#14 0x0f8f018c in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#15 0x0ec448b0 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#16 0x0f0fcb08 in QSignal::signal () from /usr/lib/libqt-mt.so.3
#17 0x0ec6d168 in QSignal::activate () from /usr/lib/libqt-mt.so.3
#18 0x0edc9e7c in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#19 0x0f89aae0 in KPopupMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.4
#20 0x0ec94410 in QWidget::event () from /usr/lib/libqt-mt.so.3
#21 0x0ebb1474 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#22 0x0ebb1bb4 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#23 0x0f5e21a0 in KApplication::notify () from /usr/lib/libkdecore.so.4
#24 0x0eb18a04 in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#25 0x0eb12060 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#26 0x0eb10324 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#27 0x0eb34a00 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#28 0x0ebd3820 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#29 0x0ebd366c in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#30 0x0ebaf44c in QApplication::exec () from /usr/lib/libqt-mt.so.3
#31 0x1002e2d4 in QValueListPrivate<KURL>::~QValueListPrivate ()
#32 0x0dfa88ec in __libc_init_first () from /lib/libc.so.6
#33 0x0dfa88ec in __libc_init_first () from /lib/libc.so.6
#34 0x0dfa88ec in __libc_init_first () from /lib/libc.so.6
Comment 1 Stefan Borggraefe 2006-06-23 11:50:50 UTC
Confirming. Here is a more complete backtrace from the current Debian Sid package:

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1477540160 (LWP 16463)]
[KCrash handler]
#6  0x0809e71d in KWordQuizApp::updateSession (this=0x81c5e78, 
    qt=WQQuiz::qtEditor)
    at /build/buildd/kdeedu-3.5.2/build-tree/kdeedu-3.5.2/kwordquiz/src/kwordquiz.cpp:912
#7  0x080a0ed1 in KWordQuizApp::slotQuizEditor (this=0x81c5e78)
    at /build/buildd/kdeedu-3.5.2/build-tree/kdeedu-3.5.2/kwordquiz/src/kwordquiz.cpp:883
#8  0x080a1084 in KWordQuizApp::slotFileClose (this=0x81c5e78)
    at /build/buildd/kdeedu-3.5.2/build-tree/kdeedu-3.5.2/kwordquiz/src/kwordquiz.cpp:646
#9  0x080a24fc in KWordQuizApp::qt_invoke (this=0x81c5e78, _id=79, 
    _o=0xafc2a81c) at ./kwordquiz.moc:206
#10 0x4ac0854b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#11 0x4ac08fdc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#12 0x4b528ea9 in KAction::activated () from /usr/lib/libkdeui.so.4
#13 0x4b562de1 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#14 0x4b581f8e in KAction::slotPopupActivated () from /usr/lib/libkdeui.so.4
#15 0x4b582261 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#16 0x4ac0854b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#17 0x4af9a1a9 in QSignal::signal () from /usr/lib/libqt-mt.so.3
#18 0x4ac25c4c in QSignal::activate () from /usr/lib/libqt-mt.so.3
#19 0x4ad2d419 in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#20 0x4b535fa1 in KPopupMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.4
#21 0x4ac42c78 in QWidget::event () from /usr/lib/libqt-mt.so.3
#22 0x4ab9e87a in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#23 0x4ab9edff in QApplication::notify () from /usr/lib/libqt-mt.so.3
#24 0x4b32b32e in KApplication::notify () from /usr/lib/libkdecore.so.4
#25 0x4ab3006f in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#26 0x4ab2b4f1 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#27 0x4ab29c94 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#28 0x4ab432a2 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#29 0x4abb7255 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#30 0x4abb717a in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#31 0x4ab9d38d in QApplication::exec () from /usr/lib/libqt-mt.so.3
#32 0x080a1778 in main (argc=0, argv=0x0)
    at /build/buildd/kdeedu-3.5.2/build-tree/kdeedu-3.5.2/kwordquiz/src/main.cpp:101
#33 0x4a2cdeb0 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#34 0x0805b471 in _start () at ../sysdeps/i386/elf/start.S:119
Comment 2 Peter Hedlund 2006-06-23 23:01:50 UTC
SVN commit 554362 by hedlund:

Don't crash when closing a file during a quiz.

BUG:129697

 M  +5 -0      kwordquiz.cpp  


--- branches/KDE/3.5/kdeedu/kwordquiz/src/kwordquiz.cpp #554361:554362
@@ -639,6 +639,11 @@
   else
     if (queryClose())
     {
+      if (m_quiz != 0)
+      {
+        delete(m_quiz);
+        m_quiz = 0;
+      }
       doc->newDocument();
       setCaption(doc->URL().fileName(), doc->isModified());
       delete (m_editView);