| Summary: | "Change data sample ranges" dialog freezes kst with some datasources | ||
|---|---|---|---|
| Product: | [Applications] kst | Reporter: | Nicolas Brisset <nicolas.brisset> |
| Component: | general | Assignee: | kst |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 1.x | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Solaris | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Nicolas Brisset
2005-12-20 10:18:26 UTC
Can't reproduce this. You'll need to send a backtrace with GDB. You can break into it when it freezes and get a multi-thread backtrace with "thread apply all where" As I said, it only happens with some datasources. ASCII does not have the problem, I advise you try it with netCDF, where it (almost !) always freezes ! Program received signal SIGINT, Interrupt. [Switching to LWP 3] 0xfced92f0 in __sigprocmask () from /usr/lib/libthread.so.1 (gdb) thread apply all where Thread 12 (Thread 5 (LWP 5)): #0 0xfced92fc in private___lwp_cond_wait () from /usr/lib/libthread.so.1 #1 0xfcec89b8 in _co_timerset () from /usr/lib/libthread.so.1 #2 0xfcedb124 in _thread_start () from /usr/lib/libthread.so.1 #3 0xfcedb124 in _thread_start () from /usr/lib/libthread.so.1 Previous frame identical to this frame (corrupt stack?) #0 0xfced92f0 in __sigprocmask () from /usr/lib/libthread.so.1 (gdb) where #0 0xfced92f0 in __sigprocmask () from /usr/lib/libthread.so.1 #1 0xfcece254 in __bounceself () from /usr/lib/libthread.so.1 #2 0xfcec8204 in cond_wait () from /usr/lib/libthread.so.1 #3 0xfcec8090 in pthread_cond_wait () from /usr/lib/libthread.so.1 #4 0xfd90aa7c in QWaitCondition::wait () from /usr/local/kde/lib/libqt-mt.so.3 #5 0xfd948de0 in QSemaphore::operator++ () from /usr/local/kde/lib/libqt-mt.so.3 #6 0xff210e64 in KstChangeNptsDialogI::updateTimeCombo () from /S/KDE/Vdev/lib/libkstapp.so.1 #7 0xff2a0918 in KstChangeNptsDialog::qt_invoke () from /S/KDE/Vdev/lib/libkstapp.so.1 #8 0xff212210 in KstChangeNptsDialogI::qt_invoke () from /S/KDE/Vdev/lib/libkstapp.so.1 #9 0xfd69c5c4 in QObject::activate_signal () from /usr/local/kde/lib/libqt-mt.so.3 #10 0xfd69ced8 in QObject::activate_signal () from /usr/local/kde/lib/libqt-mt.so.3 #11 0xfd765c6c in QListBox::setSelected () from /usr/local/kde/lib/libqt-mt.so.3 #12 0xfd76158c in QListBox::setSelected () from /usr/local/kde/lib/libqt-mt.so.3 #13 0xff2120d0 in KstChangeNptsDialogI::updateChangeNptsDialog () from /S/KDE/Vdev/lib/libkstapp.so.1 #14 0xff246188 in KstApp::updateDialogs () from /S/KDE/Vdev/lib/libkstapp.so.1 #15 0xff246958 in KstApp::registerDocChange () from /S/KDE/Vdev/lib/libkstapp.so.1 #16 0xff255b54 in KstApp::qt_invoke () from /S/KDE/Vdev/lib/libkstapp.so.1 #17 0xfd69c5c4 in QObject::activate_signal () from /usr/local/kde/lib/libqt-mt.so.3 #18 0xfd69ced8 in QObject::activate_signal () from /usr/local/kde/lib/libqt-mt.so.3 #19 0xff21190c in KstChangeNptsDialogI::applyNptsChange () from /S/KDE/Vdev/lib/libkstapp.so.1 #20 0xff212290 in KstChangeNptsDialogI::qt_invoke () from /S/KDE/Vdev/lib/libkstapp.so.1 #21 0xfd69c5c4 in QObject::activate_signal () from /usr/local/kde/lib/libqt-mt.so.3 #22 0xfd69ced8 in QObject::activate_signal () from /usr/local/kde/lib/libqt-mt.so.3 #23 0xfd6d1840 in QWidget::event () from /usr/local/kde/lib/libqt-mt.so.3 #24 0xfd643024 in QApplication::internalNotify () from /usr/local/kde/lib/libqt-mt.so.3 #25 0xfd6433b4 in QApplication::notify () from /usr/local/kde/lib/libqt-mt.so.3 #26 0xfe0bd6d0 in KApplication::notify () from /usr/local/kde/V3.4.0/lib/libkdecore.so.4 #27 0xfd5e1e78 in QETWidget::translateMouseEvent () from /usr/local/kde/lib/libqt-mt.so.3 #28 0xfd5e0210 in QApplication::x11ProcessEvent () from /usr/local/kde/lib/libqt-mt.so.3 #29 0xfd5f1f64 in QEventLoop::processEvents () from /usr/local/kde/lib/libqt-mt.so.3 #30 0xfd658e7c in QEventLoop::enterLoop () from /usr/local/kde/lib/libqt-mt.so.3 #31 0xfd658d64 in QEventLoop::exec () from /usr/local/kde/lib/libqt-mt.so.3 #32 0xfd641fb8 in QApplication::exec () from /usr/local/kde/lib/libqt-mt.so.3 #33 0x0001bfb0 in main () SVN commit 490040 by staikos:
Does this help? I still can't reproduce it so I'm guessing.
CCBUG: 118696
M +4 -3 kstchangenptsdialog_i.cpp
--- trunk/extragear/graphics/kst/kst/kstchangenptsdialog_i.cpp #490039:490040
@@ -175,10 +175,11 @@
if (CurveList->isSelected(i)) {
KstRVectorPtr vector = rvl[i]; // FIXME: broken
vector->readLock();
- vector->dataSource()->readLock();
- supportsTime = vector->dataSource()->supportsTimeConversions();
- vector->dataSource()->readUnlock();
+ KstDataSourcePtr ds = vector->dataSource();
vector->readUnlock();
+ ds->readLock();
+ supportsTime = ds->supportsTimeConversions();
+ ds->readUnlock();
if (!supportsTime) {
break;
}
I used the NetCDF source for my tests (and was unable to reproduce it). No :-( It still freezes ! I'm surprised you don't see it, as it happens ca 90% of the time here. Well, somehow I can't reproduce this any longer, so I'll close it. It must have been fixed somehow :-) |