First of all - first time poster, so please go easy on me!
Seeing the common problem that’s been around for a while - odt files that contain images are getting corrupted.
I’ve read (hopefully) all the guidelines re using images and I (think) I’m largely following good protocol.
Environment:
Raspberry Pi 5, Bookworm OS - all updates applied as per June 4th 2024
Can also recreate on Raspberry Pi 400 - both on Bookworm and Bullseye (previous OS release) - again with all updates applied as per June 2024
LibreOffice Version 7.4.7.2 (Bookworm OS) 7.0.4.2 (Bullseye OS)
Saving to cifs Share on a Synology NAS (happy to supply version of DSM if that’s relevant)
Problem creation
Create several screenshots and insert in writer document using insert->Image (not cut and paste) - save file to Shared drive.
Close and reopen Writer - add additional images to file and save - repeated this several times - odt file remains readable.
Then change the size of the images in the document by selecting and dragging.
Save the file, close and re-open Writer - File is corrupted - repair fails.
Up to this point, everything sounds similar to issues that have been reported in the past.
Now for the twist. If I perform EXACTLY the same steps above, but save the file locally on the PI (to an SSD on the Pi 5 or the SD Card on the pi 400, I cannot recreate the issue!
Also, if I setup a cifs share on one of the Pis and save to that from the otherPi, I can’t recreate the issue either!
Logic dictates the issue lies with the Synology NAS, but this is quite a heavily used box and I ONLY see the issue with LibreOffice.
Also, I have taken IP packet traces of both successful and corrupt saves and I can see some very strange behaviour indeed in the SMB protocol exchanges. In summary:
Saves to a cifs share on the PI are written in one protocol write (send the data and a single SMB write request).
Saves to the Synology NAS are broken down into several SMB write requests. The byte counts on some of the writes overlap by a number of bytes (suggesting the data that was last written is being overwritten). I also see a lot of read requests between the writes. Some of these reads request data beyond what has been written, and some of them are for the last few thousand bytes of the last write request).
These behaviours are occurring during the creation/write of the .tmp file that is eventually renamed to the .odt file at the end of the save process.
So I am now stuck at where to go next.
In summary:
Can create with different OS versions (which in turn have different LibreOffice versions)
Only seems to occur when images in document are resized (or possibly having their anchor points changed)
Can only create when saving to Share on Synology NAS- not to local drive or a cifs share on another Pi.
All logic points to the Synology NAS, but this is quite a heavily used box and it ONLY happens with LibreOffice files - nothing else.
Network is solid - Packet traces are clean in that respect.
I can solidly recreate the issue - it’s not intermittent.
Any suggestions of whereto go next would be appreciated.
Go easy on me…and thanks for any help that’s forthcoming!