Bug 112689 - crash after period of inactivity
Summary: crash after period of inactivity
Status: RESOLVED REMIND
Alias: None
Product: kst
Classification: Applications
Component: general (show other bugs)
Version: 1.x
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: kst
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-15 22:57 UTC by Matthew Truch
Modified: 2005-10-11 07:08 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 Matthew Truch 2005-09-15 22:57:37 UTC
Version:           1.2.0_svn_460893 (using KDE KDE 3.4.1)
OS:                Linux

I had a kst session open, looking at some static dirfile data, including displaying some psds of the data.  I was not doing anything with kst, and it spontaneously crashed after a few minutes of letting kst be idle.  It seems hard to reproduce, but I have seen a few 'quirks' like this in the recent past, although I didn't investigate.  Backtrace was invalid, but the following was spit out during the crash:

$ kst
kst: kstpsd.cpp:340: virtual KstObject::UpdateType KstPSD::update(int): Assertion `_last_n_new >= 0' failed.
KCrash: Application 'kst' crashing...
/proc/meminfo: Bad file descriptor
$ 

I don't know if anyone will be able to debug this, so feel free to close if you feel it isn't worth it.
Comment 1 George Staikos 2005-09-15 23:21:20 UTC
On Thursday 15 September 2005 16:57, Matthew Truch wrote:

> I had a kst session open, looking at some static dirfile data, including
> displaying some psds of the data.  I was not doing anything with kst, and
> it spontaneously crashed after a few minutes of letting kst be idle.  It
> seems hard to reproduce, but I have seen a few 'quirks' like this in the
> recent past, although I didn't investigate.  Backtrace was invalid, but the
> following was spit out during the crash:
>
> $ kst
> kst: kstpsd.cpp:340: virtual KstObject::UpdateType KstPSD::update(int):
> Assertion `_last_n_new >= 0' failed. KCrash: Application 'kst' crashing...
> /proc/meminfo: Bad file descriptor
> $
>
> I don't know if anyone will be able to debug this, so feel free to close if
> you feel it isn't worth it.


   Excellent.  I've been waiting for this to come up.  It indicates a bug 
somewhere in Kst where either _last_n_new is overflowing, or NumNew is 
negative in KstVector.  I'll try reading the code to find more possible cases 
where this can happen, but it will be much easier if you can produce a 
testcase for me.  I need to know which types of objects are being used in 
particular, but being able to run it locally will really help.

   The backtrace will never be useful because it asserts in the worker thread 
which causes a nasty memory corruption.  It might be worth reporting this to 
trolltech as a QThread limitation/issue.
Comment 2 Matthew Truch 2005-09-16 19:44:54 UTC
On Thu, Sep 15, 2005 at 09:21:22PM -0000, George Staikos wrote:
>    Excellent.  I've been waiting for this to come up.  It indicates a bug 
> somewhere in Kst where either _last_n_new is overflowing, or NumNew is 
> negative in KstVector.  I'll try reading the code to find more possible cases 
> where this can happen, but it will be much easier if you can produce a 
> testcase for me.  I need to know which types of objects are being used in 
> particular, but being able to run it locally will really help.


I have been unable to create a testcase that generates this even
slightly often.  However, I do know that in this specific instance, I
used the data wizard to view 3 dirfile fields as both curves and psds
using all standard settings (other than switching the radio selector
from curves only to psds and curves).  The dirfile was static (no live
data).
Comment 3 George Staikos 2005-09-16 19:57:07 UTC
  Great, can you send me the .kst file and the dirfile?  I will, if necessary, 
setup a script to keep restarting it until it crashes.
Comment 4 George Staikos 2005-10-11 07:08:32 UTC
There was a bug in getdata.  Please update and retest.  Reopen if you can still crash it.  I cannot reproduce it.