Opened 8 years ago
Closed 8 years ago
#625 closed defect (fixed)
Failing on second FitPage on Windows
Reported by: | butler | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | SasView 4.0.0 |
Component: | SasView | Keywords: | |
Cc: | Work Package: | SasView Bug Fixing |
Description (last modified by butler)
as of SasView commit #ee6d4ad9f2c2cbb3879c610a8371043c82a6a45 and sasmodels commit 0dc34c3c362872f348bed26bcbf2bcae9b0455e SasView now fails (on windows machines) on the second fit page after sending a second data set to be fitted.
Specific sequence (but others cause the problem):
- send data set to fitting
- pick a model (e.g.ellipsoid)
- do a fit (all works fine)
- send second data set to fitting (creates a fit page 2)
- choose a model (e.g. ellipsoid)
At this point an error is thrown though the model and parameters appear to load, though neither a fit line nor residuals show up. Pressing fit just throws another error .
Error (which is thrown twice each time) is:
Traceback (most recent call last): File "sas\sascalc\data_util\calcthread.pyc", line 268, in _run LogicError: clEnqueueReadBuffer failed: invalid value
playing around in various ways can give longer errors but all start with a calcthread.pyc error so sounds like a thread issue?
NOTES
1 Opening a 3rd fit page seems to work ok
2 Opening a 2nd fit page and loading a model works, the error being thrown now when a data set is sent to that fitpage.
Change History (3)
comment:1 Changed 8 years ago by butler
- Description modified (diff)
- Summary changed from Failing on second FitPage to Failing on second FitPage on Windows
comment:2 Changed 8 years ago by pkienzle
comment:3 Changed 8 years ago by butler
- Resolution set to fixed
- Status changed from new to closed
This was totally reproducible (repeated at least half a dozen times). with latest version (including the fix to include dlls back windows build 466 of Aug 25, 2016 off of commit eb38181da9eb98b299ea173789e143dd52710fae) I can no longer reproduce this error. Further have exercised the fitting module quite a bit without seeing any such errors. Am going to call this now fixed and closed the ticket.
Could not reproduce (on Mac, using run.py).
We may need to send all communication to a GPU device through a specific thread. This can be isolated to just sasmodels.kernelcl by setting up one thread per device and communicating to that thread via a queue.
Prior to implementing complicated queuing operations, we can try checking if there is an overlap between operations from different threads. Do the following:
This will print start…end operation pairs, which all should share the same thread id, with no other thread ids between.
It is very unlikely that this will show any problems, but if it does it will be valuable to know.