Opened 6 years ago
Closed 6 years ago
#1166 closed defect (fixed)
No longer able to report from multiple fit pages
Reported by: | smk78 | Owned by: | krzywon |
---|---|---|---|
Priority: | blocker | Milestone: | SasView 4.2.0 |
Component: | SasView | Keywords: | |
Cc: | Work Package: | SasView Bug Fixing |
Description
Running latest Jenkins build of 4.2 on W7 and then reproduced with the 4.2beta release on W10.
If you load different data sets and fit them in different fit pages and then try and generate a report of each, you find you can create/save the first report but when you try and create the second report you get a SasView Error popup window which says:
21:11:23: Memory VFS already contains file 'img_fit0.png'!
Searching trac for 'report' tickets I note #1109 which seems to have similar elements.
I'm making this a blocker because this has the potential to really hack off users.
Change History (4)
comment:1 Changed 6 years ago by krzywon
- Owner set to krzywon
- Status changed from new to accepted
comment:2 Changed 6 years ago by krzywon
From github:
The issue stems from a memory clash when new reports are generated. Images of plots are stored in virtual memory when generating reports, but the same memory space(s) and file name(s) are used without ensuring the space is free prior to creating new reports and images. Release 4.1.2 and earlier also experience issues, but not in such obvious ways as to the beta release. In 4.1.2, when opening multiple reports without closing any of them, the image(s) from the most recently opened report are saved in the PDFs, regardless of which report is saved, because the old images are wiped from memory and replaced with the latest ones.
To fix this, I moved the file handler from the fitting perspective to its own class in guiframe. ensure any new image stored in memory has a unique name, and attempt to free up memory when reports are closed. The file handler is now used by the fitting and invariant perspectives.
I have tested this locally, with multiple reports open simultaneously and all save appropriately, for the fitting and invariant perspective. No unit tests were added.
comment:3 Changed 6 years ago by GitHub <noreply@…>
comment:4 Changed 6 years ago by krzywon
- Resolution set to fixed
- Status changed from accepted to closed
Closing the ticket since github didn't.
I have a working solution to this and have applied it to fitting and invariant, but it needs a little fine-tuning before calling it done. The work is in branch ticket-1166.