Apache OpenOffice (AOO) Bugzilla – Issue 25227
Mac OS PowerPoint is crashing if loading exported ppt document
Last modified: 2013-08-07 15:21:02 UTC
The Impress presentation attached to this issue causes a consistent, repeatable crash with some recent versions of PowerPoint running on Windows and MacOS. Additionally, on several other PPT/OS combinations, the file opens but is significantly mangled. This problem appears regardless of whether the export is done from OOo running on Windows, Mac, or Linux. A detailed description (plain text), including build numbers and system details, is attached. The most closely related issues appear to be 8978, 9250, 17122, 19455, and 22657, but none of those exactly matches what I'm seeing. My apologies in advance if this is, in fact, a duplicate. Because I am only a submitter and not a developer, I've left this at the default priority (P3). But if this is reproducible on the latest betas, I would respectfully suggest it be raised -- since interoperability is arguably the main reason for having OOo in the first place, this bug (which prevents that interoperability) would be a real show-stopper.
Created attachment 12975 [details] Original OOo Impress file
Created attachment 12976 [details] Detailed summary and system info
Reassigned to Christian.
Tracked down the correct system info for case (3) in the summary attached above. - Operating system is WinXPPro (*not* Win2KPro as I said in the summary), version 2002, Service Pack 1, 5.1.2600 (build 2600). - PowerPoint is PPT 2002, build 10.2623.2625. - Behavior is correct as described (PPT crashes completely when trying to open the Impress presentation attached above).
WFM, however using PPT 2000, not 2002.. detailed description follows: - Win98 SE German, Build 4.10.2222 A - MS Powerpoint __2000__ SR1 9.0.3821 German Version - OOo1.1.1b official windows build 1) Opened file OOo1.1.0_PPT_export_problem.sxi in OOo 2) Get dialog as: ".. This document contains macros: do you want to run them?.. " - Do Not run 2) Export as ppt-document from OOo 3) Open with MS Powerpoint 2000 SR1 9.0.3821 German Version 4) "Friendly Assistant" reports unknown file format (see attached screenshot) 5) Click Ok - Exit PowerPoint - No Crash Also attaching PPT-document generated by OO1.1.1b during this procedure. -> @Heywood: Maybe you can try this document with your PPT 2002?
Created attachment 13061 [details] PPT 2000 reporting unknown fileformat
Created attachment 13062 [details] original sample document exported by OOo1.1.1b
Max: Your observations are nearly consistent with what I wrote in my summary. The only significant difference is in my case (4): for me, PPT 2000 SR-1 under WIN2KPro SP4 (Build: 2195) opens but with the problems noted; for you, PPT 2000 SR-1 under Win98SE doesn't open at all. But I didn't get a crash for that combination, and neither did you. When I open your exported (to PPT) document with OO 1.1.0, I see the exact same problems I described in my "sanity check" case (7). For what it's worth, I verified everything with 1.1.1b and saw no changes from what I reported earlier. (There are other issues with build 680m22, but I haven't investigated those fully yet.)
I see the bug in the attached document but I can't reproduce the bug with an own document. PPT2002 crash while loading the file PPT2000 - don't show me the content of slide 4, 19, 23, 24- slide 6 exists several times in the outline. - some metafiles are invisible. Please have a look.
I have encountered exactly this same problem with PPT files generated on Mac (OS X 10.2) and Pc (XP), trying to open them on both platforms. I am interested in getting this working for my own purposes, and wanted to help in any way I can. I have the PPT97 documentation from MS, but it seems to differ from both the format being output by current versions of powerpoint (even when saving as PPT97 format), and the code that is in use in OpenOffice already. Also their example code disagrees with their documentation, so the whole thing seems pretty much useless. I really need to get a solution that works in the next couple of weeks, and am prepared to help if I can - I could work on this pretty much full time for the next couple of weeks maximum, if I know what had changed between the old and new file format. Before finding the OpenOffice implementation, I was part way through doing an implementation in Objective-C, but was finding the differences between the MS documentation and the actual file format a real problem in the implementation. Please let me know if it is feasible to get this issue resolved that quickly, and if there is anything I can do to assist the process. My primary operating system is OS X, but I also have a win XP machine that I could use if necessary. I am fluent in Objective-C and Java and have had a small amount of exposure to C++ (hopefully enough to understand most of what's going on with the PPT exporter and make alterations as required). If it is not feasible to resolve it in that timeframe, I'll carry on with my C/Obj-C program. Thanks
SJ->Heywood: First I must thank you for your good bug description. But I must point out that I do not have a Mac and this makes it a little bit difficult for me to figure out the reason for the crash. But anyhow you said that some pages are completely empty if loaded in PowerPoint 2000, I was able to reproduce this and I hope that fixing this Issue will resolve the problems for the other Windows PowerPoint versions. SJ->tompro: I appreciate that you offer to help out, especially you are working primary on OS X makes it very helpful. Heywood said that MacOS is crashing while converting metafiles, this seems to be a second bug, can you please verify this, I will add a zip file containing all metafiles from the original PowerPoint document. I need to know if each Metafile is crashing the MacOS version or if it is a certain kind of Metafile. I also need to know if simple documents (not containing OLE and too much objects) created by OOo load properly on MacOS. And you are right, the original PowerPoint file format description is containing some small untruths.
Created attachment 13684 [details] zip archive containing all metafiles from the original PowerPoint document
SJ->maxweber: PPT can not open documents that are already opened by another application, I think this was your problem. SJ: I split this issue, the problem that empty pages are displayed by PPT 2000 or that the PPT XP version crashes will be fixed with Issue 26286 which I targeted to OOo 2.0. I also found the reason for the crash and empty pages, it is the disability of PPT to display grouped presentation objects (objects that are part of the layout). Feel free to insert a CC to get further notioes. Up from now this Issue will handle only the problem the Mac OS PowerPoint version is having with ppt documents exported by OOo, therefore I changed the title.
I have tried opening all of those WMF files in PPT, and none of them cause a crash (some of them come up blank though). I have done some more testing and it appears that the problem I was having on windows was due to the fact that I still had the presentation open in OO. The problem is not related to any graphics on slides. I have tried with the following procedure (as well as with files with some data in them): 1. Create an empty presentation 2. Select a blank slide 3. Save as powerpoint format 4. Try to open in PPT -> crash I have tried creating the files on OSX using OO1.0.3 and creating them on Win XP using OO1.1.0, and in both situations, the resultant files open fine on Windows, but not on the Mac. I have started to try to get my head around the file format, and one thing that is looking suspicious to me is the offset to the current edit in the current user record - but maybe I'm missing something there. I was wondering whether you could help me understand some specific things I have come across while trying to come to terms with the file format: 1. It looks like all the atoms have to be padded to make them align to 32 byte boundaries - is this correct? 2. In the current user atom, it appears that the user name has an 8 tacked on to the end of it - what is this for? I also notice that you put padding in before the user name - is this necessary? 3. I don't quite understand the documentation for container lengths - is a container length determined by: sum(size of each atom including header) + (number of container objects inside this container * sizeof(Header)) + sizeof(Header for this container)? Or are some of these items left out? 4. In the user edit atom, where does the 0x03000dbc come from for the version number? 5. I don't get the offsetPersistDirectory and maxPersistWritten values and the PersistPtrIncrementalBlock - it looks to me like you keep track of positions of the atoms within the document stream, then write them out in a block at the end of the stream just before the current user edit record. But it doesn't look like the values that are recorded are always at the start of the record, or at the end. This one has me more confused than anything else I have looked at so far. I gather that when the docs refer to document and slide ids or numbers, these are references into this table - is this correct? 6. I notice that you pad the user edit atom with 0x12 - is there any significance to this? 7. I'm not sure that I understand the relationship between placeholders and the actual text and other objects on the slides. I guess I'll get to this when I understand the rest... 8. I don't understand what goes into the pictures stream and how the items there are referenced for placement on the slides. Sorry about all the questions, but I would like to get up to speed as quickly as possible so that hopefully I can help resolving the mac ppt problem, and also accomplish my own goal, which is to be able to programmatically create a presentation with: - a slide with an image on it - slides with titles and indented bulleted text in specified fonts (must be able to handle unicode text) - slides with quicktime movies on them. TIA
SJ-> I am not a programmer so I can't help much with coding, but I have a Powerbook with 10.3.2 and Apple X11, so I would be happy to test/validate any patches or fixes as they become available. tompro-> Note that the MacOS crash during metafile conversion (after opening the document) occurs on MacOS 9.2.2 and PPT 98 only. With PPT X on Mac OS 10.3.2, it just crashes without opening anything. SJ and tompro-> Kudos for all your hard work so far -- of course one cannot expect an immediate fix for something this complicated, but it looks like you guys are making significant progress. I will keep an eye on issue 26286 as well. Thanks!!!
I have similar but perhaps not identical problems. Almost all of my OO1.1 presentations (from any OS) open fine with Powerpoint 2002, but crash when loaded into MacOS X Powerpoint v.X. I *think* (but can no longer confirm) that this problem manifested itself only after updating from Office v.X version 10.0 to the latest 10.0.5. I have found a workaround: since my documents load fine under Windows PPT 2002, if I save them there, I can then open them under MacOS. For what it's worth, most of these documents were originally created under Linux. I haven't yet tried to zero in on the problem. I certainly do use grouped objects. In addition, I also use unicode fonts which I know v.X doesn't support. For 'fun', I will upload my own failing document...
Created attachment 13874 [details] Exported OO1.1 document that crashes MacOS PPT v.X
heywood->jaffe: can you try exporting my original OOo Impress file (first attachment at top) to PPT and seeing if it crashes in your setup, with both PPT 2002 (on Win? i can't tell from your post...) and v.X on Mac? if it doesn't crash, then something is wrong on my end. on the other hand, if it does, but most of your presentations work OK, then it must be something in my presentation that is causing the problem. in that case, it may also make sense to post the additional information to issue 26286, which is where the Windows side of this problem was split off.
jaffe -> heywood (and others) Here is the behavior I get with the original OOo Impress file: original file -- reads fine under Impress create OOo1.1.ppt -- saved from OO1.1 .sxi on OSX crashes WinXP PPT [this is new behavior, I think] crashes OSX PPT create OOo_sxi.1.1.ppt -- saved from OO1.1.ppt using OO on WinXP readable by WinXP PPT crashes OSX PPT create Oo_sxi.1.1_PC.ppt -- saved from OOo_sxi.1.1.ppt using WinXP PPT readable by WinXP PPT readable by OSX PPT So -- except for the XP crash of the first ppt file, this is the same as I had been seeing. And at least there is a workaround -- the final version is readable on all machines and OSs.
heywood->jaffe: Thanks for taking the time to check all the cases. > create OOo1.1.ppt -- saved from OO1.1 .sxi on OSX > crashes WinXP PPT [this is new behavior, I think] > crashes OSX PPT This is exactly what I saw -- take a look at my summary (second attachment, above), cases 1 and 2, respectively. For your other two cases, essentially the workaround is to use OOo and/or PPT on a Windows box, which is OK provided the export from OO doesn't significantly mess up the appearance of any slides. Unfortunately this doesn't work for me without quite a bit of manual "fixing" on the exported (to PPT) document (see cases 4, 6, and 7 in the summary). Also, this workaround implicitly requires a PPT->OO import step, but that is also problematic for some documents (see issue 23884). Cheers -H
changed target
marking as duplicate *** This issue has been marked as a duplicate of 72571 ***
marked the wrong issue as duplicate, so reopening. It should be checked with OpenOffice.org 2.2rc3 or later to see if the problem still exists.
Heywood, can you test this issue with 3.0? Export filters contains lot of changes and I expect it should work now. Thanks.
Glad to try it. One question -- the original bug was reported against OOo running under Apple's X11 on Panther. I have Tiger now (and no easy way to revert to 10.3 for testing, though I assume that's not too critical) and, more importantly, only OOo 3.0 Aqua installed. Does this matter?
No, it doesn't matter. Please, test it with latest Aqua build (3.0). If it will work for you, we can close this issue. I'm cleaning old issues ...