Opened 8 years ago
Closed 8 years ago
#633 closed defect (fixed)
P(r) crashing on Sasview on use of backspace key
Reported by: | ajj | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | SasView 4.0.0 |
Component: | SasView | Keywords: | |
Cc: | Work Package: | SasView Bug Fixing |
Description (last modified by butler)
From Paul's testing on 28th August 2016:
"PR mostly works as it did except that I was able to crash SasView (just exits abruptly and completely - no error message either popping up or in logs), by using the backspace key in the Dmax box ….sometimes … I think I can reproduce with a few tries but have not nailed exactly the magic combination that does that."
There is a long history of crashes with P(r). Needs some debugging.
Change History (3)
comment:1 Changed 8 years ago by butler
- Description modified (diff)
comment:2 Changed 8 years ago by butler
I have traced the error down. Fixing is another story but shouldn't be too hard. Basically P(r) is trying to be clever so is constantly recalculating stuff in the background for every change in the entry fields. If D max becomes 0 as opposed to "empty" then there is a SVD error thrown. Interestingly this causes the distributed version to exit instantly and without any errors logged while doing so from the developer version does nothing visible to the user at all and just keeps working … but does register the error in the console (but maybe not in the log file).
This is thoroughly reproducible and now makes sense. So just need to capture when the entry is 0 and not allow calculations to proceed.
comment:3 Changed 8 years ago by ajj
- Resolution set to fixed
- Status changed from new to closed
Fixed in 4036cb0
Actually we (myself but mostly Mathieu) spent some time working on the bugginess of P(r) for one of the 3.x releases (can't remember which) and fixed quite a number of things and as far as I know it has been fairly stable since. this is a very particular key stroke combination I think — otherwise worked fairly well.
However this is one of if not the oldest part of the code that has been hardly touched in 10 years so could certainly do with some TLC overall.