Summary: | Pressing the reload button rapidly repeatedly crashes kst | ||
---|---|---|---|
Product: | [Applications] kst | Reporter: | D. V. Wiebe <dvw> |
Component: | general | Assignee: | kst |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | 1.0.0 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
D. V. Wiebe
2004-12-01 02:23:34 UTC
On Tuesday 30 November 2004 20:23, D.V.Wiebe wrote: > When looking at non-streaming dirfile data, rapidly and repeatedly pressing > the reload button crashes kst. > > I was unable to generate a backtrace for this. Can't reproduce this with non-streaming ASCII file. Must be a dirfile bug? Don showed me: he had to hit it many many times, as fast as he could on a slow machine. It also requires many frames... On Tuesday 30 November 2004 22:53, netterfield@astro.utoronto.ca wrote: > 04:53 ------- Don showed me: he had to hit it many many times, as fast as > he could on a slow machine. It also requires many frames... I hit it so many times that it's still updating and reloading 5 minutes later. Can this be reproduced there with demo.kst? QMutex::unlock: unlock from different thread than locker was locked by 1024, unlock attempt from 1026 At least one bug lurking, though it's a freeze, not a crash. I swear I had fixed all of these though. 6 0x0eeec124 in QMutex::lock (this=0x10413314) at tools/qmutex_unix.cpp:464 #7 0x0fed2f68 in KstRWLock::writeLock (this=0x1041330c) at rwlock.cpp:62 #8 0x1012b918 in KstRVector::reload (this=0x104dce10) at kstrvector.cpp:591 #9 0x1016a81c in KstApp::reload (this=0x102a1d10) at kst.cpp:1514 CVS commit by staikos: - lock the rvector when reloading (oops) - disable debug again (oops^2) BUG: 94190 M +2 -0 kst.cpp 1.262 M +1 -1 updatethread.cpp 1.34 --- kdeextragear-2/kst/kst/kst.cpp #1.261:1.262 @@ -1513,5 +1513,7 @@ void KstApp::reload() { KstRVectorPtr r = kst_cast<KstRVector>(*i); if (r) { + r->writeLock(); r->reload(); + r->writeUnlock(); } } --- kdeextragear-2/kst/kst/updatethread.cpp #1.33:1.34 @@ -29,5 +29,5 @@ // 0 - none, 1 - some, 2 - lots, 3 - too much -#define UPDATEDEBUG 2 +#define UPDATEDEBUG 0 UpdateThread::UpdateThread(KstDoc *doc) |