Bug 87125 - editing a plugin stalls the update thread
Summary: editing a plugin stalls the update thread
Status: RESOLVED FIXED
Alias: None
Product: kst
Classification: Applications
Component: general (show other bugs)
Version: 1.x
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: George Staikos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-13 15:46 UTC by Netterfield
Modified: 2004-08-13 21:54 UTC (History)
0 users

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 Netterfield 2004-08-13 15:46:35 UTC
Version:           0.99-devel (using KDE 3.2 BRANCH >= 20040204, Mandrake Linux Cooker i586 - Cooker)
Compiler:          gcc version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
OS:                Linux (i686) release 2.6.3-7mdk

if you edit the parameters of a filter plugin, the update thread appears to stall, while the UI thread continues to work..

How to reproduce:
run dirfile_maker, then in a different konsole:
[.../dirfile_maker]> kst -y cos -n 30 dm.cur
kst shows a scrolling cos wave.
Apply a filter:
plot->rmb->filter->c1-cos
Select Butterworth low-pass; order 4, Cutoff 0.05
	The filtered curve is drawn (nearly the same as unfiltered cos...)

Then data-manager-> double click on P1-butterw....
Change the cutoff frequence to 0.01 <OK>

the new filtered curve appears, and zooming works, but real time updating stops.  <Back 1 screen> does nothing.

Quiting kst dumps to the konsole:
  Mutex destroy failure: Device or resource busy
  Mutex destroy failure: Device or resource busy
and hangs w/ ~0cpu usage.

Correct behavior:
	doesn't hang, stays live, etc.
Comment 1 Netterfield 2004-08-13 15:56:52 UTC
doing essentially the same thing with a fit rather than a filter has different behavior:
-Everything freezes
dumped to the Konsole is:
QMutex::unlock: unlock from different thread than locker
                was locked by 0, unlock attempt from 1098698720
QMutex::unlock: unlock from different thread than locker
                was locked by 0, unlock attempt from 1098698720
QMutex::unlock: unlock from different thread than locker
                was locked by 0, unlock attempt from 1098698720
QMutex::unlock: unlock from different thread than locker
                was locked by 0, unlock attempt from 1098698720
QMutex::unlock: unlock from different thread than locker
                was locked by 0, unlock attempt from 1098698720
Comment 2 George Staikos 2004-08-13 21:41:15 UTC
Locking problem.
Comment 3 George Staikos 2004-08-13 21:54:19 UTC
CVS commit by staikos: 

locking fixes, many just plain copies from the previous fix since the code is
basically identical
CCMAIL: 87125-done@bugs.kde.org


  M +40 -10    kstplugindialog_i.cpp   1.83