Bug 117256

Summary: crash when changing destination window in datawizard
Product: [Applications] kst Reporter: Matthew Truch <matt>
Component: generalAssignee: kst
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 1.x   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Matthew Truch 2005-11-29 05:31:27 UTC
Version:           1.2.0_svn (using KDE KDE 3.4.2)
Installed from:    Fedora RPMs
OS:                Linux

Steps to reproduce:

Have at least one plot in kst.  Start the datawizard, select a valid datasource (click next), select at least one vector to create (and a valid frame/sample range) (click next).  Now either (1) click on Plot Placement -> In existing window (watch kst crash), or (2) click on Plot Placement -> In new window, and then click on Plot Placement -> In current window (watch kst crash). 

Backtrace:

Using host libthread_db library "/lib/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1208539456 (LWP 4754)]
[New Thread -1212085328 (LWP 4755)]
[KCrash handler]
#4  0x04e166c0 in QListBox::findItem () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#5  0x05c3d19a in DataWizard::updatePlotBox (this=0xa6fc9a8)
    at ./datawizard.ui.h:388
#6  0x05c3b8e0 in DataWizard::qt_invoke (this=0xa6fc9a8, _id=67, _o=0xbf88f5b4)
    at datawizard.moc:152
#7  0x04d2ce17 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x04d2da50 in QObject::activate_signal_bool ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#9  0x050accbe in QButton::toggled () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#10 0x04dcc172 in QButton::setState () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#11 0x04dcae81 in QButtonGroup::buttonToggled ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#12 0x050ac460 in QButtonGroup::qt_invoke ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#13 0x04d2ce17 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#14 0x04d2da50 in QObject::activate_signal_bool ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x050accbe in QButton::toggled () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x04dcc8a6 in QButton::nextState () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x04dcca53 in QButton::mouseReleaseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#18 0x04d6b187 in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x04cc80dd in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x04cc903f in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x005a6851 in KApplication::notify () from /usr/lib/libkdecore.so.4
#22 0x04c5f746 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x04c5df01 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x04c72008 in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#25 0x04ce0812 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#26 0x04cc7acf in QApplication::enter_loop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#27 0x04ecae51 in QDialog::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#28 0x05c0f731 in KstApp::showDataWizard (this=0xa0761c8) at kst.cpp:2162
#29 0x05c1097f in KstApp::qt_invoke (this=0xa0761c8, _id=227, _o=0xbf890018)
    at kst.moc:590
#30 0x04d2ceb4 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#31 0x04d2d374 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#32 0x0541235f in KAction::activated () from /usr/lib/libkdeui.so.4
#33 0x05412484 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#34 0x05412748 in KAction::slotButtonClicked () from /usr/lib/libkdeui.so.4
#35 0x05414cd0 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#36 0x04d2ceb4 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#37 0x054c43a1 in KToolBarButton::buttonClicked () from /usr/lib/libkdeui.so.4
#38 0x054c4722 in KToolBarButton::mouseReleaseEvent ()
   from /usr/lib/libkdeui.so.4
#39 0x04d6b187 in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#40 0x04cc80dd in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#41 0x04cc903f in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#42 0x005a6851 in KApplication::notify () from /usr/lib/libkdecore.so.4
#43 0x04c5f746 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#44 0x04c5df01 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#45 0x04c72008 in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#46 0x04ce082b in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#47 0x04ce0736 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#48 0x04cc7aa9 in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#49 0x08053dd6 in main (argc=1, argv=0x1) at main.cpp:802
#50 0x00de7d5f in __libc_start_main () from /lib/libc.so.6
#51 0x0804d231 in _start ()
Comment 1 George Staikos 2005-11-29 05:45:41 UTC
I am 99.5% sure you have an unclean build.  I can't reproduce it, and the 
backtrace and the location both indicate a stale object.
Comment 2 Matthew Truch 2005-11-29 06:23:59 UTC
On Tue, Nov 29, 2005 at 04:45:42AM -0000, George Staikos wrote:
> I am 99.5% sure you have an unclean build.  I can't reproduce it, and the 
> backtrace and the location both indicate a stale object.


How very interesting and annoying.  Annoying because it is silly.
Interesting as this was from a machine that has only ever ran kst from
rpms, and rpms are always generated from a clean build.  If I'm still in
this 99.5% regime, I either have a bug in my kst spec file, or rpm isn't
upgrading things properly.  
Comment 3 George Staikos 2005-11-29 14:25:49 UTC
On Tuesday 29 November 2005 00:24, Matthew Truch wrote:
> On Tue, Nov 29, 2005 at 04:45:42AM -0000, George Staikos wrote:
> > I am 99.5% sure you have an unclean build.  I can't reproduce it, and the
> > backtrace and the location both indicate a stale object.
>
> How very interesting and annoying.  Annoying because it is silly.
> Interesting as this was from a machine that has only ever ran kst from
> rpms, and rpms are always generated from a clean build.  If I'm still in
> this 99.5% regime, I either have a bug in my kst spec file, or rpm isn't
> upgrading things properly.


  I ran all your example paths through a memory check also and not a single 
issue came up.  The other option is that your Qt is buggy.
Comment 4 Matthew Truch 2005-11-30 00:19:18 UTC
On Tue, Nov 29, 2005 at 01:25:52PM -0000, George Staikos wrote:
>   I ran all your example paths through a memory check also and not a single 
> issue came up.  The other option is that your Qt is buggy.


I have removed the rpm from my system, looked in the library paths to
make sure there are no lingering files, ran /sbin/ldconfig to clear
everything (?), and installed an old rpm.  Still has the same problem on
this one machine (it crashes on my fc4 machine).  If I install the rpm
for fc4 on a fc3 machine, it doesn't crash.  I have even tried using
rpms that were built from your pristine tarballs (like 1.1.1) and it
still crashes on fc4.  

I know nothing about libraries and the such (I'm really not a
programmer).  How can I check this out?
Comment 5 George Staikos 2005-11-30 00:22:19 UTC
On Tuesday 29 November 2005 18:19, Matthew Truch wrote:

> I know nothing about libraries and the such (I'm really not a
> programmer).  How can I check this out?


   Touch to say.  I'm still not sure where it might be.  Which gcc version do 
you have?  And which Qt rpm specifically?
Comment 6 George Staikos 2005-11-30 00:35:19 UTC
"tough"  - even spell checking can't get that one right :)
Comment 7 Matthew Truch 2005-11-30 00:48:13 UTC
On Tue, Nov 29, 2005 at 11:22:20PM -0000, George Staikos wrote:
>    Touch to say.  I'm still not sure where it might be.  Which gcc version do 
> you have?  And which Qt rpm specifically?


[matt@cherry ~]$ gcc --version
gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[matt@cherry ~]$ rpm -q qt
qt-3.3.4-15.4
Comment 8 George Staikos 2005-11-30 00:52:17 UTC
On Tuesday 29 November 2005 18:48, Matthew Truch wrote:
> qt-3.3.4-15.4

  That should be fine.

> [matt cherry ~]$ gcc --version
> gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5)


   But this is more worrisome.  Trolltech even advises against gcc 4.0.
Comment 9 Ted Kisner 2005-11-30 01:24:43 UTC
On Tuesday 29 November 2005 15:52, George Staikos wrote:
|  
Comment 10 George Staikos 2005-11-30 05:56:07 UTC
SVN commit 484288 by staikos:

looks like it's a Qt difference of some sort.  listBox() was null.  Let's just
work around.
BUG: 117256


 M  +1 -1      datawizard.ui.h  


--- trunk/extragear/graphics/kst/kst/datawizard.ui.h #484287:484288
@@ -391,7 +391,7 @@
 	_onePlot->setChecked(true);
     }
 
-    if (_existingPlot->isEnabled() && _existingPlotName->listBox()->findItem(psave)) {
+    if (_existingPlot->isEnabled() && _existingPlotName->listBox() && _existingPlotName->listBox()->findItem(psave)) {
 	_existingPlotName->setCurrentText(psave);
     }
     updateColumns();