Bug 977894 - libgsf fails to parse valid MSI files (patch available)
libgsf fails to parse valid MSI files (patch available)
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libgsf (Show other bugs)
6.4
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Caolan McNamara
Desktop QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-25 10:26 EDT by Laszlo Ersek
Modified: 2013-06-26 06:53 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-06-26 06:53:56 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Desktop 689706 None None None Never

  None (edit)
Description Laszlo Ersek 2013-06-25 10:26:07 EDT
*** Description of problem:
In order to review and test the qemu series at <http://lists.nongnu.org/archive/html/qemu-devel/2013-06/msg00959.html>, I need to run "msiextract" on a Windows installer file.

I installed gcab-0.4 and msitools-0.92 from source. When I run

  msiextract vsssdk.msi

I get

  ** (msiextract:30909): CRITICAL **: libmsi_istream_new: assertion `dup'
  failed

  (msiextract:30909): gcab-CRITICAL **: gcab_cabinet_load: assertion
  `G_IS_INPUT_STREAM (stream)' failed

Turns out this is a known problem in libgsf (a dependency of msitools); an unshipped upstream patch is available from Paolo Bonzini. See <https://bugzilla.gnome.org/show_bug.cgi?id=689706>.

*** Version-Release number of selected component (if applicable):
libgsf-1.14.15-5.el6.x86_64
libgsf-devel-1.14.15-5.el6.x86_64
libgsf-gnome-1.14.15-5.el6.x86_64
libgsf-gnome-devel-1.14.15-5.el6.x86_64

*** How reproducible:
100%

*** Steps to Reproduce:
1. Download "setup.exe" from <http://www.microsoft.com/en-us/download/details.aspx?id=23490>.
2. Extract "vsssdk.msi" from "setup.exe" using the script in <http://lists.nongnu.org/archive/html/qemu-devel/2013-06/msg00966.html>.
3. Try to extract "vsssdk.msi" with msitools-0.92, built against libgsf-1.14.15-5.el6.

*** Actual results:
Assertion failure.

*** Expected results:
Extraction should work.

*** Additional info:
The brew build <https://brewweb.devel.redhat.com/buildinfo?buildID=252310> seems to backport this patch. However it only references a gnome BZ, not a Red Hat BZ.

The fix in that build has also not been pushed to dist-git.
Comment 1 Paolo Bonzini 2013-06-25 10:45:12 EDT
The patch is not unshipped, just not backported to RHEL.
Comment 2 Laszlo Ersek 2013-06-25 10:51:10 EDT
Is it available in a tarball release? I was working from <https://wiki.gnome.org/action/recall/msitools?action=recall&rev=6>.
Comment 4 Paolo Bonzini 2013-06-25 11:29:18 EDT
Yes, it is in 1.14.26 (see https://git.gnome.org/browse/libgsf/log/?id=LIBGSF_1_14_26 close to the bottom).
Comment 5 Laszlo Ersek 2013-06-25 12:30:09 EDT
Great, thanks!

Since the broken out patch didn't fix my problem, maybe this BZ should concern upgrading libgsf to 1.14.26, rather than backporting one patch.

OTOH 1.14.26 requires a higher glib2 than what's available in RHEL-6 (as you were kind enough to point out and patch the dependency as well, highly appreciated!), so any such upgrade will probably need your patch too <http://lists.nongnu.org/archive/html/qemu-devel/2013-06/msg04498.html>.

I'll try to test it as soon as I can. Thanks.
Comment 6 Laszlo Ersek 2013-06-26 06:53:56 EDT
Turns out (see thread linked above) that updating libgsf is insufficient, msiextract (or the updated libgsf itself) would further depend on a very recent glib2 release (2.33.1). That's probably too intrusive for RHEL-6. OTOH upgrading just libgsf is useless, so closing this as WONTFIX. Thanks.

Note You need to log in before you can comment on or make changes to this bug.