Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi

        I'm some confused. Was the comment or the image the problem ? or Both ?

Regards,

Jorge Rodríguez
_____________


El vie, 12-08-2011 a las 13:52 +1000, Simon Cropper escribió:
Hi Everyone,

I have been doing some follow-up investigations that I thought you might 
like to be made aware.

First, why? Well after testing the file that I recreated by copying the 
text, formula and styles I could not cause the error to occur again. 
This is what I reported yesterday. I then proceeded with importing the 
few images and 'artwork' objects from the old file to the new. After 
several saves and sheet manipulations I noticed the file became unstable 
again.

The outcome of my investigation was that one of the image files used on 
one of the sheets had become corrupted* and adding this file in caused 
the file to become unstable - eventually exhibiting the problem I 
mentioned about not being able to save after a sheet was deleted. These 
'corrupted' files are relatively benign with the error only becoming 
apparent *once* you attempt to delete the sheet. So somehow the error 
caused problems with the broader 'workbook' structure not the sheet 
structure. Although I compared files between different versions of the 
file the XML were too varied (usually style names and definitions; 
content was identical).

    * note I say corrupted but it rendered OK and only resulted
    in the observed behaviour one a sheet is deleted. I 'deem' it
    corrupted as once replaced with a clean version render and
    saved as a new file by GIMP, the problem disappeared.

The error was with the particular corrupt objects. On recreating new 
images and inserting them into a file I have not been able to trigger 
any problems. If I cut-and-paste from the original 'corrupt' file the 
file becomes unstable after a few saves and sheet manipulations.

So the steps for salvage is...
1. recreate a new file with the exact number of sheets as the original. 
Ensure each sheet names are the same.
2. Cut and Paste each sheet. Make sure you 'Paste special' limiting the 
content being placed in the new file to text, numbers, date & time, 
formulas and formats.
3. If you have images in the file. Recreate / Save using another 
package. As mentioned I used GIMP.
4. Insert new copies of the images into file. *Don't* cut-and-paste 
objects from the old file.
5. If you have any lines, text boxes and artwork; recreate them from new.

During this process...
- Save as a new version (+tabs, +data, +images, +other objects) 
following each step.
- Test each version thoroughly before proceeding.
- Only add one object at a time, so if something goes wrong you can 
isolate the problem component.
- To check it is not a bug try and recreate with a fresh file.

A couple of quick notes that may be valuable to others...
- ODS files are archives. Use an archive facility to extract the data 
inside. Inspect the contents in the folders to see what is different.
- On every 'Save as' the file size changes. This is not due to changes 
in the file contents, but rather in changes in how the components of the 
file is compressed/archived. If you open a file, add objects then save, 
the file size with be so big. Open that file and "Save as" a new name 
and the file will be a different size. If you extract the files the 
contents of all the files and directories are identical. It is just the 
internal archive facility in LO will decide the best compaction routine 
based on what it encounters.
- The content.xml file can be quite large and has no internal 
end-of-line characters. This make it difficult to open and be parse by 
various text editors, xml viewers and comparison facilities. To insert a 
EOL character after the end of each tag (i.e. >), I used the following 
command in the terminal (requires Linux).

    cat content.xml | sed -e 's/>/>\n/g' > content_with_linebreaks.xml

    cat just spews the content of the text file to the standard output.
    I then pipe it to sed, where I used regular expressions to find '>'
    and replace every instance of it with '>\n'. I then compared the
    contents with Diffuse.


On 11/08/11 14:44, jorge wrote:
Congratulations,... it was an interesting investigation.

Regards,

Jorge Rodríguez
______

El jue, 11-08-2011 a las 11:50 +1000, Simon Cropper escribió:
On 10/08/11 16:41, Simon Cropper wrote:
*The upshot*

Unless someone recognised these symptoms and can put forward some ideas,
I am treating this as a corrupt file. I have drawn this conclusion
because (a) I can only reproduce the error on the effected file, (b) the
comment insert/delete trick is suggestive but not consistent (or at
least from what I can tell) - random sheets cause the file save error if
comments are inserted; inserting comments into new sheets also trigger
the error.

I just hope that recreating this file does not corrupt the new file as I
will need to copy blocks of text, numbers and formulas.


              *My attempts at recreating a clean file*

ATTEMPT 1

Created a new file with one less tab. All tabs were named the same as
the original. I then cut-and-paste all the data from the original to
this newly created file. This took about 10 minutes.

The problem is that all tab / sheet references after the omitted sheet
moved across one. Despite the formula referencing the sheet name, the
name is actually just a human readable cue for the underlying sheet
number. So sheet Accounts (sheet #17 on the original file), which
pointed to 'accounts lookup list' now points to the Tax sheet, which was
#18 but is now #17 in the new file.

ATTEMPT 2

Created a new file with exactly the same number of tabs.  All tabs were
named the same as the original. I then cut-and-paste all the data from
the original to this newly created file. This took about 10 minutes.

Then with baited breath I deleted the unrequired sheet that triggered
this journey in the first place and clicked save. *It worked* - that is,
it saved without triggering a write error.

I have checked - (a) all data is intact, and (b) all the formulas are
working. :)

--
Cheers Simon

     Simon Cropper
     Principal Consultant
     Botanicus Australia Pty Ltd
     PO Box 160, Sunshine, VIC
     W: www.botanicusaustralia.com.au




-- 
Cheers Simon

    Simon Cropper
    Principal Consultant
    Botanicus Australia Pty Ltd
    PO Box 160, Sunshine, VIC
    W: www.botanicusaustralia.com.au


-- 
Atentamente,

Jorge Rodríguez


-- 
For unsubscribe instructions e-mail to: users+help@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.