Bug 993323

Summary: libgcc_s_seh-1.dll dependency on msvcrt function _get_output_format causes programs to crash on Windows XP64
Product: [Fedora] Fedora Reporter: Dov Grobgeld <dov.grobgeld>
Component: mingw-gccAssignee: Erik van Pienbroek <erik-fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: erik-fedora, kalevlember, ktietz, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mingw-tesseract-3.02.02-4.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-06 03:44:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dov Grobgeld 2013-08-05 19:29:07 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Dov Grobgeld 2013-08-05 19:36:50 UTC
Ooops. The bug was sent before i filled in comments.

After compiling a program with mingw64 and installing it on a Windows XP64 box the resulting program fails to load. Investigating the dependencies with Dependency Walker shows that all of the following mingw64 fedora libraries depend on the MSVCRT.dll function _get_output_format():

libpixman-1-0.dll
libgcc_s_seh-1.dll
libintl-8.dll
libgdk-win32-2.0-0.dll
libgmodule-2.0-0.dll
libgdkpixbuf-2.0-0.dll
libgio-2.0-0.dll
libglib-2.0-0.dll
and others

This was verified by copying the above libraries to a windows xp64 box and running dependency walker on one of the libraries. Dependency walker shows in the parent window that the Parent Import (PI) function _get_output_format is missing.

Equivalently, when running the executable, the following error is popped up: "The procedure entry point _get_output_format could not be located in the dynamic link library msvcrt.dll .

Note that all the libraries are 64-bit libraries from mingw64.

The error occured on "Professional x64 Edition Service Pack 2".

Comment 2 Erik van Pienbroek 2013-08-10 14:23:39 UTC
Upstream did some changes in this area on 2013-06-14 so all packages built against a mingw-w64 snapshot after this date shouldn't have a dependency on _get_output_format() any more.

Are you using the MinGW packages from Fedora 19?

The file libgcc_s_seh-1.dll is provided by mingw64-gcc-4.8.1-1.fc19. Do you also have used this specific version on your environment?

Comment 3 Dov Grobgeld 2013-08-11 16:45:02 UTC
Yes, this is indeed my current version. Is there a newer test release?

Comment 4 Dov Grobgeld 2013-12-28 21:34:59 UTC
I got hit by this bug again tonight when cross compiling for XP 64 bit, and it seems it has only been partly solved.

On the one hand libgcc_s_seh-1.dll from mingw64-gcc-4.8.2-1.fc19.i686 indeed no longer depends on _get_output_format(). But unfortunately the dependency remains in:

libintl-8.dll
libgmodule-2.0-0.dll
libgdk_pixbuf-2.0-0.dll
libgio-2.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll
libpango-1.0-0.dll
libpangowin32-1.0-0.dll
libpcre-1.dll

I verified that I'm using the latest Fedora 19 released mingw64* packages.

Comment 5 Erik van Pienbroek 2014-01-25 19:17:26 UTC
The following libraries should be resolved in the latest F19 (with updates-testing) :

libgmodule-2.0-0.dll
libgio-2.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll

Here's the command I used to find out the affected packages:
cd /usr/x86_64-w64-mingw32/sys-root/mingw/bin
for fn in *.dll ; do if [ `x86_64-w64-mingw32-objdump -p $fn | grep _get_output_format -c` -gt 0 ] ; then rpm --query --whatprovides `pwd`/$fn; fi; done | sort | uniq

On Fedora 19 (with all mingw packages installed and fully updated) the above command returns these affected packages:

mingw64-atkmm-2.22.7-2.fc19.noarch
mingw64-freeglut-2.8.1-1.fc19.noarch
mingw64-freetype-2.4.12-1.fc19.noarch
mingw64-gdk-pixbuf-2.28.2-2.fc19.noarch
mingw64-gettext-0.18.2.1-3.fc19.noarch
mingw64-giflib-4.1.6-2.fc19.noarch
mingw64-glibmm24-2.36.2-2.fc19.noarch
mingw64-gmp-5.1.1-2.fc19.noarch
mingw64-gtk3-3.8.2-2.fc19.noarch
mingw64-gtkmm30-3.8.1-2.fc19.noarch
mingw64-gtkspellmm30-3.0.2-3.fc19.noarch
mingw64-harfbuzz-0.9.18-4.fc19.noarch
mingw64-icu-50.1.2-1.fc19.noarch
mingw64-leptonica-1.69-2.fc19.noarch
mingw64-libffi-3.0.13-3.fc19.noarch
mingw64-libgpg-error-1.11-1.fc19.noarch
mingw64-libgsf-1.14.27-1.fc19.noarch
mingw64-libsoup-2.42.2-2.fc19.noarch
mingw64-openssl-1.0.1e-3.fc19.noarch
mingw64-pango-1.34.1-2.fc19.noarch
mingw64-pangomm-2.34.0-2.fc19.noarch
mingw64-pcre-8.33-2.fc19.noarch
mingw64-polyclipping-5.1.6-1.fc19.noarch
mingw64-qt-4.8.5-2.fc19.noarch
mingw64-sane-backends-1.0.23-1.fc19.noarch
mingw64-sqlite-3.7.17-2.fc19.noarch
mingw64-tesseract-3.02.02-3.fc19.noarch

I'll rebuild these packages and push them to F19.

None of the packages in Fedora 20 and rawhide are affected as they were all built against a modern enough version of mingw-w64

Comment 6 Dov Grobgeld 2014-01-25 19:36:44 UTC
Great! I have since updated to Fedora 20, and I didn't realize that this bug has been solved now.

Comment 7 Fedora Update System 2014-01-26 22:52:43 UTC
mingw-tesseract-3.02.02-4.fc19,mingw-sqlite-3.8.2-1.fc19,mingw-sane-backends-1.0.24-1.fc19,mingw-qt-4.8.5-4.fc19,mingw-polyclipping-5.1.6-2.fc19,mingw-pcre-8.33-3.fc19,mingw-pangomm-2.34.0-3.fc19,mingw-pango-1.34.1-3.fc19,mingw-libsoup-2.42.3.1-1.fc19,mingw-libgsf-1.14.27-2.fc19,mingw-libgpg-error-1.11-2.fc19,mingw-libffi-3.0.13-4.fc19,mingw-leptonica-1.69-3.fc19,mingw-icu-50.1.2-2.fc19,mingw-harfbuzz-0.9.24-1.fc19,mingw-gtkspellmm30-3.0.2-4.fc19,mingw-gtkmm30-3.8.1-3.fc19,mingw-gtk3-3.8.8-1.fc19,mingw-gmp-5.1.1-3.fc19,mingw-glibmm24-2.36.2-3.fc19,mingw-giflib-4.1.6-3.fc19,mingw-gettext-0.18.3.1-1.fc19,mingw-gdk-pixbuf-2.28.2-4.fc19,mingw-freetype-2.4.12-2.fc19,mingw-freeglut-2.8.1-2.fc19,mingw-atkmm-2.22.7-3.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/mingw-tesseract-3.02.02-4.fc19,mingw-sqlite-3.8.2-1.fc19,mingw-sane-backends-1.0.24-1.fc19,mingw-qt-4.8.5-4.fc19,mingw-polyclipping-5.1.6-2.fc19,mingw-pcre-8.33-3.fc19,mingw-pangomm-2.34.0-3.fc19,mingw-pango-1.34.1-3.fc19,mingw-libsoup-2.42.3.1-1.fc19,mingw-libgsf-1.14.27-2.fc19,mingw-libgpg-error-1.11-2.fc19,mingw-libffi-3.0.13-4.fc19,mingw-leptonica-1.69-3.fc19,mingw-icu-50.1.2-2.fc19,mingw-harfbuzz-0.9.24-1.fc19,mingw-gtkspellmm30-3.0.2-4.fc19,mingw-gtkmm30-3.8.1-3.fc19,mingw-gtk3-3.8.8-1.fc19,mingw-gmp-5.1.1-3.fc19,mingw-glibmm24-2.36.2-3.fc19,mingw-giflib-4.1.6-3.fc19,mingw-gettext-0.18.3.1-1.fc19,mingw-gdk-pixbuf-2.28.2-4.fc19,mingw-freetype-2.4.12-2.fc19,mingw-freeglut-2.8.1-2.fc19,mingw-atkmm-2.22.7-3.fc19

Comment 8 Fedora Update System 2014-01-27 13:08:53 UTC
Package mingw-tesseract-3.02.02-4.fc19, mingw-sqlite-3.8.2-1.fc19, mingw-sane-backends-1.0.24-1.fc19, mingw-qt-4.8.5-4.fc19, mingw-polyclipping-5.1.6-2.fc19, mingw-pcre-8.33-3.fc19, mingw-pangomm-2.34.0-3.fc19, mingw-pango-1.34.1-3.fc19, mingw-libsoup-2.42.3.1-1.fc19, mingw-libgsf-1.14.27-2.fc19, mingw-libgpg-error-1.11-2.fc19, mingw-libffi-3.0.13-4.fc19, mingw-leptonica-1.69-3.fc19, mingw-icu-50.1.2-2.fc19, mingw-harfbuzz-0.9.24-1.fc19, mingw-gtkspellmm30-3.0.2-4.fc19, mingw-gtkmm30-3.8.1-3.fc19, mingw-gtk3-3.8.8-1.fc19, mingw-gmp-5.1.1-3.fc19, mingw-glibmm24-2.36.2-3.fc19, mingw-giflib-4.1.6-3.fc19, mingw-gettext-0.18.3.1-1.fc19, mingw-gdk-pixbuf-2.28.2-4.fc19, mingw-freetype-2.4.12-2.fc19, mingw-freeglut-2.8.1-2.fc19, mingw-atkmm-2.22.7-3.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mingw-tesseract-3.02.02-4.fc19 mingw-sqlite-3.8.2-1.fc19 mingw-sane-backends-1.0.24-1.fc19 mingw-qt-4.8.5-4.fc19 mingw-polyclipping-5.1.6-2.fc19 mingw-pcre-8.33-3.fc19 mingw-pangomm-2.34.0-3.fc19 mingw-pango-1.34.1-3.fc19 mingw-libsoup-2.42.3.1-1.fc19 mingw-libgsf-1.14.27-2.fc19 mingw-libgpg-error-1.11-2.fc19 mingw-libffi-3.0.13-4.fc19 mingw-leptonica-1.69-3.fc19 mingw-icu-50.1.2-2.fc19 mingw-harfbuzz-0.9.24-1.fc19 mingw-gtkspellmm30-3.0.2-4.fc19 mingw-gtkmm30-3.8.1-3.fc19 mingw-gtk3-3.8.8-1.fc19 mingw-gmp-5.1.1-3.fc19 mingw-glibmm24-2.36.2-3.fc19 mingw-giflib-4.1.6-3.fc19 mingw-gettext-0.18.3.1-1.fc19 mingw-gdk-pixbuf-2.28.2-4.fc19 mingw-freetype-2.4.12-2.fc19 mingw-freeglut-2.8.1-2.fc19 mingw-atkmm-2.22.7-3.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-1607/mingw-tesseract-3.02.02-4.fc19,mingw-sqlite-3.8.2-1.fc19,mingw-sane-backends-1.0.24-1.fc19,mingw-qt-4.8.5-4.fc19,mingw-polyclipping-5.1.6-2.fc19,mingw-pcre-8.33-3.fc19,mingw-pangomm-2.34.0-3.fc19,mingw-pango-1.34.1-3.fc19,mingw-libsoup-2.42.3.1-1.fc19,mingw-libgsf-1.14.27-2.fc19,mingw-libgpg-error-1.11-2.fc19,mingw-libffi-3.0.13-4.fc19,mingw-leptonica-1.69-3.fc19,mingw-icu-50.1.2-2.fc19,mingw-harfbuzz-0.9.24-1.fc19,mingw-gtkspellmm30-3.0.2-4.fc19,mingw-gtkmm30-3.8.1-3.fc19,mingw-gtk3-3.8.8-1.fc19,mingw-gmp-5.1.1-3.fc19,mingw-glibmm24-2.36.2-3.fc19,mingw-giflib-4.1.6-3.fc19,mingw-gettext-0.18.3.1-1.fc19,mingw-gdk-pixbuf-2.28.2-4.fc19,mingw-freetype-2.4.12-2.fc19,mingw-freeglut-2.8.1-2.fc19,mingw-atkmm-2.22.7-3.fc19
then log in and leave karma (feedback).

Comment 9 Fedora Update System 2014-02-06 03:44:56 UTC
mingw-tesseract-3.02.02-4.fc19, mingw-sqlite-3.8.2-1.fc19, mingw-sane-backends-1.0.24-1.fc19, mingw-qt-4.8.5-4.fc19, mingw-polyclipping-5.1.6-2.fc19, mingw-pcre-8.33-3.fc19, mingw-pangomm-2.34.0-3.fc19, mingw-pango-1.34.1-3.fc19, mingw-libsoup-2.42.3.1-1.fc19, mingw-libgsf-1.14.27-2.fc19, mingw-libgpg-error-1.11-2.fc19, mingw-libffi-3.0.13-4.fc19, mingw-leptonica-1.69-3.fc19, mingw-icu-50.1.2-2.fc19, mingw-harfbuzz-0.9.24-1.fc19, mingw-gtkspellmm30-3.0.2-4.fc19, mingw-gtkmm30-3.8.1-3.fc19, mingw-gtk3-3.8.8-1.fc19, mingw-gmp-5.1.1-3.fc19, mingw-glibmm24-2.36.2-3.fc19, mingw-giflib-4.1.6-3.fc19, mingw-gettext-0.18.3.1-1.fc19, mingw-gdk-pixbuf-2.28.2-4.fc19, mingw-freetype-2.4.12-2.fc19, mingw-freeglut-2.8.1-2.fc19, mingw-atkmm-2.22.7-3.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.