Bug 80661 - FILEOPEN: LibreOffice (non-distro versions) crash when attempting to open Microsoft Publisher files
Summary: FILEOPEN: LibreOffice (non-distro versions) crash when attempting to open Mic...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: Other Linux (All)
: high major
Assignee: David Tardon
URL:
Whiteboard: target:4.2.6 target:4.3.0 target:4.4.0
Keywords: haveBacktrace
Depends on:
Blocks: mab4.3
  Show dependency treegraph
 
Reported: 2014-06-29 05:08 UTC by NoOp
Modified: 2015-03-04 17:07 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments
MS Publisher 2010 file (1.58 MB, application/x-mspublisher)
2014-06-29 05:34 UTC, NoOp
Details
gdb backtrace (4.10 KB, application/zip)
2014-06-29 07:24 UTC, Yousuf Philips (jay) (retired)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description NoOp 2014-06-29 05:08:06 UTC
LibreOffice .deb and .rpm versions crash when attempting to open Microsoft Publisher 97 and 98 files. Distribution versions (Ubuntu 14.04 & 12.04, Debian, Fedora 20, and openSUSE 3.11) open the file(s) without issue. The file(s) also open without issue on Windows 7 and Windows XP.

Non-distro linux versions (.deb and .rpm) tested:
4.1.6
4.2.4
4.2.5
4.3.0.1
Note: 64bit versions also tested in Ubuntu 14.04 and 12.04 - all others are 32bit.

The files were originally produced in MS Publisher 97. I downloaded and installed MS Publisher 2010 test version, edited for privacy, and saved as both 2010 and 98 versions. In all cases, the non-distro versions open the 2010 file, and crash when attempting to open the 98 version.

Files are attached.
Comment 1 NoOp 2014-06-29 05:34:13 UTC
Created attachment 101957 [details]
MS Publisher 2010 file

MS Publisher 97 file saved from MS Publisher 2010. This file opens in all non-distro LO's tested.
Comment 2 NoOp 2014-06-29 05:57:18 UTC
Unfortunately the test file that crashes the non-distro linux versions is too large to upload here, so I'll need to find a temporary location & post the url:

The file you are trying to attach is 8380 kilobytes (KB) in size. Attachments cannot be more than 3000 KB.
We recommend that you store your attachment elsewhere and then paste the URL to this file on the attachment creation page in the appropriate text field.
Alternately, if your attachment is an image, you could convert it to a compressible format like JPG or PNG and try again.
Comment 3 Yousuf Philips (jay) (retired) 2014-06-29 06:03:40 UTC
Hi NoOp,

I would need more information as i have the .deb installed 4.2.5 and didnt have a problem opening the file. About the large file, you can upload it to online file hosting service like dropbox, google drive or onedrive and post the url here.
Comment 4 Florian Reisinger 2014-06-29 06:38:06 UTC
Either Linux only (please reopen), but works with Version: 4.4.0.0.alpha0+
Build ID: bdd87b2acddb2e244569dcc8f228e270614dc59e
TinderBox: Win-x86@39, Branch:master, Time: 2014-06-23_00:37:24 on Win7
Comment 5 NoOp 2014-06-29 06:58:03 UTC
@Florian: the file that you tested is the file that *works* in all non-distro version (see comment #1 & #2. Here is a URL to the file that crashes all non-distro versions:

<https://app.box.com/s/kn3axzgg6lydqhqgu49h>
29EGGBrochure5_testpub98.pub 8.2MB

Please let me know if you have any difficulty downloading the file.

Also please note: "The file(s) also open without issue on Windows 7 and Windows XP".
Comment 6 Yousuf Philips (jay) (retired) 2014-06-29 07:22:32 UTC
Confirmed not crashing on 4.1 from the PPA but crashes 4.2.5, 4.3.0 and master, which all came from installations from the website.
Comment 7 Yousuf Philips (jay) (retired) 2014-06-29 07:24:37 UTC
Created attachment 101962 [details]
gdb backtrace
Comment 8 osnola 2014-06-29 08:35:05 UTC
Hello,
no problem on OSX with the master version.

But I give a try with pub2odg(*): it succeeds in generating an odg file, but the resulting file contains an invalid 0x1f character, maybe this explains the problem on Linux...

(*) normally, my version is git uptodate...
Comment 9 Jean-Baptiste Faure 2014-06-29 08:40:37 UTC
No crash for me with my own build of Version: 4.3.0.1.0+
Build ID: 8aff83b95fa5969edfc48022ddaae05031b178cf under Ubuntu 14.04 x86-64.

No crash for me with my own build of Version: 4.2.6.0.0+
Build ID: 0acf899a982e850961350aba531bb87f43c8a422 under Ubuntu 14.04 x86-64.

Crash of Version: 4.1.6.2 Build ID: 40ff705089295be5be0aae9b15123f687c05b0a  (TDF build) under Ubuntu 14.04 x86-64.

Best regards. JBF
Comment 10 Julien Nabet 2014-06-29 09:51:32 UTC
On pc Debian x86-64 with:
- master sources updated yesterday
- LO Debian package 4.2.5
- 4.2 sources updated 4 days ago
- 4.3.sources updated 4 days ago
I don't reproduce this.

I just noticed this on logs:
svx/source/sdr/contact/viewcontactofsdrpathobj.cxx:67: PolyPolygon object without geometry detected, this should not be created (!) (master sources)
Comment 11 David Tardon 2014-07-01 08:19:12 UTC
This turned out to be a self-inflicted pain. libmspub does not put helper classes in .cpp into any namespace, so they are all in a global scope. And it does not use an unique class name prefix either. In this case it just happened that LineInfo struct clashed with same-named class from VCL. Because of that, __gnu_cxx::new_allocator<LineInfo>::construct tried to construct a wrong object.

I have pushed a minimal fix. I will fix the rest of libmspub too, so this kind of thing is prevented in the future.
Comment 12 Commit Notification 2014-07-01 14:04:37 UTC
David Tardon committed a patch related to this issue.
It has been pushed to "libreoffice-4-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=d57fa7b9d5462eb67827d8eb977e5c6e152c1cb9&h=libreoffice-4-2

fdo#80661 clash with a global symbol from libreoffice


It will be available in LibreOffice 4.2.6.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 13 NoOp 2014-07-01 18:35:33 UTC
Thanks David. Are these the correct builds to test?
<http://dev-builds.libreoffice.org/daily/libreoffice-4-2/Linux-rpm_deb-x86_64@46-TDF/2014-07-01_10.28.08/>
Comment 14 Julien Nabet 2014-07-01 19:29:20 UTC
NoOp: it's not yet present in 4.2 daily build.
http://dev-builds.libreoffice.org/daily/libreoffice-4-2/Linux-rpm_deb-x86_64@46-TDF/2014-07-01_10.28.08/libreoffice-4-2~2014-07-01_10.28.08_build_info.txt indicates this:
tinderbox: tree: libreoffice-4-2
tinderbox: pull time 2014-07-01 10:28:08
tinderbox: git sha1s
core:45c73dfd98321dd1977cfa7b7cfb3a92c1fb9a29

whereas http://cgit.freedesktop.org/libreoffice/core/commit/?id=d57fa7b9d5462eb67827d8eb977e5c6e152c1cb9&h=libreoffice-4-2 indicates:
author	David Tardon <dtardon@redhat.com>	2014-07-01 13:00:05 (GMT)
committer	Michael Stahl <mstahl@redhat.com>	2014-07-01 14:03:12 (GMT)

In brief you must wait a little (24 to 48 hours max)
Comment 15 NoOp 2014-07-01 19:35:00 UTC
Got it - thanks. I'll check back tomorrow.
Comment 16 NoOp 2014-07-03 18:03:22 UTC
Verified that:
<http://dev-builds.libreoffice.org/daily/libreoffice-4-2/Linux-rpm_deb-x86_64@46-TDF/current/libreoffice-4-2~2014-07-03_09.39.17_LibreOfficeDev_4.2.6.0.0_Linux_x86-64_deb.tar.gz>
Version: 4.2.6.0.0+
Build ID: 81d6116452abd2622e6b20fa36b51066b694db41
TinderBox: Linux-rpm_deb-x86_64@46-TDF, Branch:libreoffice-4-2, Time: 2014-07-03_09:39:17
Works & opens 29EGGBrochure5_testpub98.pub without issue. Thanks!

Will this fix also be included in 4.3 daily?
Comment 17 Julien Nabet 2014-07-03 19:55:29 UTC
If I well understood what David did, it's already in 4.3 daily build.

Indeed, http://dev-builds.libreoffice.org/daily/libreoffice-4-3/Linux-rpm_deb-x86_64@46-TDF/current/libreoffice-4-3~2014-07-03_10.52.15_build_info.txt indicates this:
tinderbox: administrator: lohmaier+tinderbox@gmail.com
tinderbox: buildname: Linux-rpm_deb-x86_64@46-TDF
tinderbox: tree: libreoffice-4-3
tinderbox: pull time 2014-07-03 10:52:15
tinderbox: git sha1s
core:c58eb6a79a84ddfa01941bb60d96de658cd1de1e

http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-4-3-0&id=c58eb6a79a84ddfa01941bb60d96de658cd1de1e is after http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-4-3-0&id=4ead7efb99e05181fc85fc2ab8603c70576d655e
This last commit indicates "upload libmspub-0.1.1" where David put the complete fix, since 4.2 contains only a minimal fix (see https://bugs.freedesktop.org/show_bug.cgi?id=80661#c11)

So it should be fixed in release 4.3.0 (and obviously in future 4.4.0)

Perhaps you might be interested in the release plan of LO branches (4.2, 4.3 and future 4.4.0) and so would take a look to https://wiki.documentfoundation.org/ReleasePlan
Comment 18 NoOp 2014-07-03 20:56:06 UTC
Thanks. Confirmed working in:

Version: 4.3.1.0.0+
Build ID: c58eb6a79a84ddfa01941bb60d96de658cd1de1e
TinderBox: Linux-rpm_deb-x86_64@46-TDF, Branch:libreoffice-4-3, Time: 2014-07-03_10:52:15