Apache OpenOffice (AOO) Bugzilla – Issue 126307
Writer crashes when opening file
Last modified: 2015-06-01 17:16:59 UTC
Created attachment 84737 [details] File crashes during open when cursor is in table during save Win7 64-bit AOO411m6(Build:9775) - Rev. 1617669 2014-08-13 09:06:54 (Mi, 13 Aug 2014) Dialog concerning this issue is here. https://forum.openoffice.org/en/forum/viewtopic.php?f=7&t=76859&p=352127#p352127 The current copy of the file I am working on is included as an attachment. It will be a GPL licensed document and you are free to use or modify it. AOO immediately crashes on open for this file, but not for other files. There is no indication of an error on save. If other files are opened, and in the same session, test.odt is opened and crashes, other files are affected in that on the next AOO open they are marked as having crashed and needing to be repaired. On my computer test.odt will occasionally fail to open after a save is made while the cursor is in a table or list. The error has proved non-repeatable. Fixes have included all of: 1: Opening the file in Win7 Safe Mode and then saving the file after moving the cursor so that it is at the document start (not near a table or list). 2: Opening the file on my laptop (Win7) and saving the file after moving the cursor. I am avoiding the error by always moving the cursor to the file top prior to a save.
Created attachment 84750 [details] Help File for cygwin cmp (binary difference) program File is to support maintainers in understanding what the binary compare output means for 'cmp -l'.
Created attachment 84751 [details] Tar of all files discussed All files have been archived (tar) and compressed (tar J). To untar the files on a Unix/cygwin machine type either tar xfJ files.tar.xz or tar xfa files.tar.xz.
The fool thing didn't save my initial comments. DRAT. As near as I can remember these are the steps taken to generate and include the help file for cmp (cmp.txt) and the tar'ed files. 1: A end-of-day file wsa saved, test.odt.win7. 2: The computer was booted. 3: test.odt.win7 crashed on open in cygwin (odt test.odt.win7&) 4: Restart in Safe Mode. 5: Open test.odt.win7 in cygwin. 6: Delete and insert one letter and save (test.odt.safe). The letter 'e' in purpose on the first line of text. 7: Open test.odt in cygwin. 8: Change and insert one letter and save (test.odt). The following diagnostic messages were issued on save in exact order shown. error: unknown encoding UTF8: using iso88591 as fallback error: unknown encoding UTF8: using iso88591 as fallback error: unknown encoding UTF8: using iso88591 as fallback error: unknown encoding UTF8: using iso88591 as fallback 9: Execute cmp -l test.odt test.odt.safe > odt_v_save in cygwin. 10: Execute cmp -l test.odt test.odt.win7 > odt_vs_win7 in cygwin. 11: Execute cmp -l test.odt.win7 test.odt.safe > win7_vs_safe in cygwin. 12: tar cfJ files.tar.xz test.odt.win7 test.odt.safe test.odt odt_vs_safe odt_vs_win7 win7_vs_safe 13: List the _vs_ file sizes: byte size filename 925946 odt_vs_safe 803586 odt_vs_win7 926478 win7_vs_safe 14: List the sizes of the test.odt* files byte size filename 67653 test.odt 67164 test.odt.safe 67773 test.odt.win7 Some questions come up: 1: Why are there so many differences in the cmp files when only one character was deleted and then replaced? 2: Why are there any differences in the test.odt* files when only one character was deleted and then replaced? 3: Why can AOO not open a file in Win7 normal mode but can open the same file in Win7 Safe Mode? 4: Why are diagnostic messages issued on an AOO exit in Win7 normal mode, but not in Win7 save mode and not during a normal AOO save? Hopefully there is enough material to determine (at least) what AOO does on a save that makes the AOO file unreadable on an open. My guess is that since the crash occurs on an open and not on a save then there is something in the saved file that AOO chokes on when AOO is executed in Win7 normal mode. Since this error does not always occur on Win7 OS's it is hard to replicate on other machines. However, this behavior seems to be a daily occurrence on my computer this week. Hope the stuff help. Hope you can fix things. art
7: Open test.odt in cygwin. Should read: 7: Restart in Win7 normal mode and open test.odt in cygwin.
Cannot reproduce under Windows 7. See https://forum.openoffice.org/en/forum/viewtopic.php?f=7&t=76859&start=30#p353915 I think it is a Cygwin problem, or how Cygwin and AOO interact.
One point is that since I have sent several versions of the file, and results from taking a binary difference, is there some data in any of the input files which would cause this problem. Since the crash characteristics seem to be accompanied with a change in the odf file it seems likely that there is something in the file itself which would trigger misbehavior. The issue of whether this is cygwin specific is moot. If it is or is not cygwin specific it is a crash, and I think a file verifier may be able to discover whether the odf file correctly configured or not. What is interesting is that if the differences are localized to the odf file preamble, then the crash is localized to the content of the preamble. So although the error seems cygwin specific, the error cause must be contained in the files. Were the files looked at? As I've mentioned in the forum, I did try to install the AOO odf verifier. I installed maven, went to the root directory of the uncompressed data and then type 'maven clean install' as directed. And then got a failure message. I have never used 'maven' before and so, reluctantly, I just went about my business.
odt files are only binary because they are zipped. Unzip them to examine the flat ASCII content and any differences will be immediately apparent.