Bug 141054

Summary: Crash when changing a scalar attached to a plugin
Product: [Applications] kst Reporter: Nicolas Brisset <nicolas.brisset>
Component: generalAssignee: kst
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 1.x   
Target Milestone: ---   
Platform: unspecified   
OS: Solaris   
Latest Commit: Version Fixed In:

Description Nicolas Brisset 2007-02-02 10:00:03 UTC
Version:           1.4.0_devel (using KDE 3.4.0, compiled sources)
Compiler:          gcc version 3.4.3
OS:                SunOS (sun4u) release 5.8

It seems scalars also have a notion of hierarchy now, which may be fine but can also be surprising. I may need more explanations on that to understand the concept...

In any case, there is a bad crash case that needs to be fixed:
- load 1 vs INDEX from gyrodata.dat
- create a "fixed step differentiation" plugin from the data manager
- create a curve in a new plot to show the vector created by the plugin (couldn't this be done in the plugin creation dialog by the way ?)
- RMB in the new plot -> Edit plugin
- the scalar is called differentiate/1.0, change it to 1.5 and hit OK
- kst crashes:

kst: FATAL: Thread 1 tried to unlock KstRWLock 73c9cc (unlocked) without holding the lock

Note that keeping the prefix does not prevent the crash, which basically means that it's not possible to change the value :-(
Comment 1 Eli Fidler 2007-02-02 18:45:26 UTC
This should be fixed by commit 629408.

It is strange that the scalar came up as differentiate/1.0. I would have expected just 1.0. That's what I get on my machine.

Also, you should file new curve creation from the plugin dialog as a feature request if you think it's important.
Comment 2 Netterfield 2007-02-05 16:25:11 UTC
I get the same thing...
Create a curve.
Apply a low pass filter (rmb-> filter ... low pass filter)

Edit the plugin and change the low pass cutoff.  BOOM...
Comment 3 Eli Fidler 2007-02-05 18:43:58 UTC
I see. Same problem, different dialog.

Fixed by 630535.
Comment 4 Netterfield 2007-02-06 12:57:19 UTC
Yup.. that fixed the crash.  But I do now see 
Nicholas's  "GYRO1-filter_lowpass/0.02" rather than 0.02 for the scalar name 
after editing.

cbn

On Monday 05 February 2007 12:43:59 pm Eli Fidler wrote:
[bugs.kde.org quoted mail]
Comment 5 Eli Fidler 2007-02-06 17:45:13 UTC
Ok, I see that now. It's fixed in 630879.
Comment 6 Nicolas Brisset 2007-02-08 17:28:33 UTC
I wanted to try all of this, and strangely the "fixed-step differentiation" plugin no longer seems to work:
1) load col 1 vs INDEX from gyrodata.dat
2) create a fixed-step differentiation plugin on vector 1 with time step 0.01
3) data->view vector values: the created vector has 1 element "nan" which is not the expected result!

I believe this worked not long ago, so one of the recent commits must have broken something ?
What's worse, other plugins (like low-pass filtering) seem to fail once there is one broken plugin instance (e.g. the above one) while they work if used before. In other words:
4) RMB on curve 1 -> filter -> low pass with default params: yields "nan" while it works if done as step 2) above

This is all a bit strange. I have the feeling that some plugins are confused by the new scalar naming scheme...

Comment 7 Eli Fidler 2007-02-08 19:42:55 UTC
There was an extra writeLock blocking the update. I removed it in 631671.
Comment 8 Nicolas Brisset 2007-02-14 18:32:50 UTC
OK, that one seems to be completely fixed now.