data loss when saving with no disk space left
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
High
|
theAdib |
Bug Description
System: Debian Sarge
Inkscape version: 0.43 (inkscape_
backports.org)
Yesterday my /home partition ran full without me
noticing it. I had opened inkscape and was editing an
image. I saved it multiple times and got no error
message. After closing inkscape, I realized that my
saved image (Inkscape SVG compressed) had a size of
zero bytes. On the next start, inkscape complained
about a not-readable or not-xml-compliant configuration
file. ~/.inkscape/
bytes.
Obviously both files have been corrupted because there
was no space left on the device. I expect inkscape to
at least show an error message in this situation -
something unspecific like "error saving file" would
have made me at least suspicious. A message like
"target device is full, please save at another
location" would be even better.
The main problem seems to be overwriting the old file
without creating a backup (applies to both images and
the preferences.xml). It looks to me that when the old
file gets overwritten and this leads to an error, the
old file is already lost. Perhaps it is possible to
move the old file to a backup filename, create and
write the new file and only if this succeeds erase the
old file (or keep it, if the user wants inkscape to
create backup files like your ordinary text editor does
). If something fails, the old file would still be
there, perhaps is could also be moved back to it's
original filename.
In any case, if saving really fails it should not do so
silently and data loss should be prevented.
Changed in inkscape: | |
status: | New → Incomplete |
Changed in inkscape: | |
status: | Triaged → Confirmed |
assignee: | nobody → theAdib (theadib) |
Changed in inkscape: | |
milestone: | none → 0.47 |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
I'm setting this to incomplete because the lack of up-to-date information on this bug.