Bug 184580 - kst crashing running script to make power spectra
Summary: kst crashing running script to make power spectra
Status: RESOLVED LATER
Alias: None
Product: kst
Classification: Applications
Component: general (show other bugs)
Version: 1.7.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kst
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-17 01:55 UTC by Dave
Modified: 2009-04-16 04:09 UTC (History)
2 users (show)

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 Dave 2009-02-17 01:55:16 UTC
Version:           1.7.0 (using KDE 3.5.10)
OS:                Linux
Installed from:    Ubuntu Packages

I'm trying to write a script to configure tabs and plot objects based on a hardware map instead of setting this up manually from menu options every time our hardware setup changes. I have a class that gets the data, gets the power spectrum of the data, creates a tab and places plots for the data and PS. This works fine when I run one instance of it, but crashes kst when there are several tabs being created. I have noticed that it works much better, though still occasionally crashes, when I am not generating the PS objects.

Any help would be greatly appreciated. I could send the scripts to anyone who would be willing to look at it.

Thanks.

The backtrace gives me this:

[Thread debugging using libthread_db enabled]
[New Thread 0x7f7c980086f0 (LWP 6479)]
[New Thread 0x40b20950 (LWP 6493)]
[KCrash handler]
#5  0x00007f7c93d704fa in QString::deref () from /usr/lib/libqt-mt.so.3
#6  0x00007f7c93d71296 in QString::operator= () from /usr/lib/libqt-mt.so.3
#7  0x00007f7c97063e47 in KstPSD::updateVectorLabels ()
   from /user/lib/libkstmath.so.1
#8  0x00007f7c97066902 in KstPSD::commonConstructor ()
   from /user/lib/libkstmath.so.1
#9  0x00007f7c97068391 in KstPSD::KstPSD () from /user/lib/libkstmath.so.1
#10 0x00007f7c870f19c2 in KstBindPowerSpectrum::construct ()
   from /user/lib/kde3/kstextension_js.so
#11 0x00007f7c86062fd8 in ?? () from /usr/lib/libkjs.so.1
#12 0x00007f7c86055ba1 in ?? () from /usr/lib/libkjs.so.1
#13 0x00007f7c860616a5 in ?? () from /usr/lib/libkjs.so.1
#14 0x00007f7c8605e6f3 in ?? () from /usr/lib/libkjs.so.1
#15 0x00007f7c860527ce in ?? () from /usr/lib/libkjs.so.1
#16 0x00007f7c860605d2 in ?? () from /usr/lib/libkjs.so.1
#17 0x00007f7c8605e7a9 in ?? () from /usr/lib/libkjs.so.1
#18 0x00007f7c860527ce in ?? () from /usr/lib/libkjs.so.1
#19 0x00007f7c8605265b in KJS::DeclaredFunctionImp::execute ()
   from /usr/lib/libkjs.so.1
#20 0x00007f7c86054acb in KJS::FunctionImp::call () from /usr/lib/libkjs.so.1
#21 0x00007f7c86058226 in KJS::Object::call () from /usr/lib/libkjs.so.1
#22 0x00007f7c86062c56 in ?? () from /usr/lib/libkjs.so.1
#23 0x00007f7c860616a5 in ?? () from /usr/lib/libkjs.so.1
#24 0x00007f7c8605e7a9 in ?? () from /usr/lib/libkjs.so.1
#25 0x00007f7c860527ce in ?? () from /usr/lib/libkjs.so.1
#26 0x00007f7c8605265b in KJS::DeclaredFunctionImp::execute ()
   from /usr/lib/libkjs.so.1
#27 0x00007f7c86054acb in KJS::FunctionImp::call () from /usr/lib/libkjs.so.1
#28 0x00007f7c86058226 in KJS::Object::call () from /usr/lib/libkjs.so.1
#29 0x00007f7c86062c56 in ?? () from /usr/lib/libkjs.so.1
#30 0x00007f7c860616a5 in ?? () from /usr/lib/libkjs.so.1
#31 0x00007f7c8605e7a9 in ?? () from /usr/lib/libkjs.so.1
#32 0x00007f7c860527ce in ?? () from /usr/lib/libkjs.so.1
#33 0x00007f7c8606acf0 in ?? () from /usr/lib/libkjs.so.1
#34 0x00007f7c8606af7d in KJS::Interpreter::evaluate ()
   from /usr/lib/libkjs.so.1
#35 0x00007f7c8716582f in KJSEmbed::KJSEmbedPart::execute ()
   from /user/lib/kde3/kstextension_js.so
#36 0x00007f7c87164cde in KJSEmbed::KJSEmbedPart::execute ()
   from /user/lib/kde3/kstextension_js.so
#37 0x00007f7c87167c83 in KJSEmbed::KJSEmbedPart::runFile ()
   from /user/lib/kde3/kstextension_js.so
#38 0x00007f7c870c9330 in KstJS::loadScript ()
   from /user/lib/kde3/kstextension_js.so
#39 0x00007f7c870cb1e1 in KstJS::qt_invoke ()
   from /user/lib/kde3/kstextension_js.so
#40 0x00007f7c93a67fd0 in QObject::activate_signal ()
   from /usr/lib/libqt-mt.so.3
#41 0x00007f7c93a68b4e in QObject::activate_signal ()
   from /usr/lib/libqt-mt.so.3
#42 0x00007f7c95b0cf8d in KAction::slotPopupActivated ()
   from /usr/lib/libkdeui.so.4
#43 0x00007f7c95b0d256 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#44 0x00007f7c93a67fd0 in QObject::activate_signal ()
   from /usr/lib/libqt-mt.so.3
#45 0x00007f7c93de0181 in QSignal::signal () from /usr/lib/libqt-mt.so.3
#46 0x00007f7c93a861a3 in QSignal::activate () from /usr/lib/libqt-mt.so.3
#47 0x00007f7c93b87920 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/libqt-mt.so.3
#48 0x00007f7c93a9c3ca in QWidget::event () from /usr/lib/libqt-mt.so.3
#49 0x00007f7c93a0033a in QApplication::internalNotify ()
   from /usr/lib/libqt-mt.so.3
#50 0x00007f7c93a02410 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#51 0x00007f7c951366bd in KApplication::notify () from /usr/lib/libkdecore.so.4
#52 0x00007f7c93991280 in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#53 0x00007f7c9398fbb7 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#54 0x00007f7c9398e060 in QApplication::x11ProcessEvent ()
   from /usr/lib/libqt-mt.so.3
#55 0x00007f7c939a5106 in QEventLoop::processEvents ()
   from /usr/lib/libqt-mt.so.3
#56 0x00007f7c93a1a5bf in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#57 0x00007f7c93a1a2ab in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#58 0x00007f7c93a01e00 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#59 0x000000000040e64a in main ()
Comment 1 Andrew Walker 2009-03-12 21:32:39 UTC
Dave, if you could attach the scripts that you are using that would be good.

Also, you should be aware that using Kst.waitForUpdate() should be called whenever you call a function that creates a new object.
Comment 2 Andrew Walker 2009-04-14 20:15:49 UTC
Will investigate further once more information is available.
Comment 3 Dave 2009-04-16 04:09:18 UTC
Thank you, this was resolved once I realized I had to use waitForUpdate()