Bug 557316

Summary: Compiling wine with -D_FORTIFY_SOURCE=2 causes applications to die with "longjmp causes uninitialized stack frame"
Product: [Fedora] Fedora Reporter: Ian Page Hands <ihands>
Component: wineAssignee: Andreas Bierfert <andreas.bierfert>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: andreas.bierfert, handsadrian, iphands
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-02-16 05:51:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
A modified spec file that changes -D_FORTIFY_SOURCE=2 to -D_FORTIFY_SOURCE=0 none

Description Ian Page Hands 2010-01-21 00:23:56 UTC
Created attachment 385819 [details]
A modified spec file that changes -D_FORTIFY_SOURCE=2 to -D_FORTIFY_SOURCE=0

Description of problem:

Windows applications --running nuder wine-- using "Fibers" for threading crash when wine is compiled using -D_FORTIFY_SOURCE=2.

For example IE 6/7 crashes when using wine 1.1.32 on Fedora 12, but not on Fedora 11. Apparently glibc 2.10 (used in f11) does not have the longjmp check.

Version-Release number of selected component (if applicable):
Fedora 12
wine-1.1.32-1.i686
glibc-2.11.1-1.i686

Steps to Reproduce:
In f12 install wine, and IE6 or IE7.
Run IE.
  
Actual results:
Wine crashes

Expected results:
Wine does not crash

Additional info:
There s a winehq bz here "http://bugs.winehq.org/show_bug.cgi?id=21405"

Comment 1 Ian Page Hands 2010-01-21 03:11:23 UTC
FYI

I just compiled wine using the attached spec and tested the fix on 2 F12 32bit machines.

Comment 2 Andreas Bierfert 2010-01-21 09:42:55 UTC
Thanks for reporting. However in my opinion this should be fixed upstream.

Comment 3 Eddie Lania 2010-01-21 21:11:45 UTC
Just installed wine-1.1.36-1.fc12.i686 from updates-testing and the situation is still the same:

*** longjmp causes uninitialized stack frame ***: iexplore terminated
======= Backtrace: =========
/lib/libc.so.6(__fortify_fail+0x4d)[0x6826b1ed]
/lib/libc.so.6(+0x62415a)[0x6826b15a]
/lib/libc.so.6(__longjmp_chk+0x49)[0x6826b0c9]
/usr/bin/../lib/wine/kernel32.dll.so(+0x3673e)[0x6841273e]
[0x70d7d9e9]
/usr/bin/../lib/libwine.so.1(+0x108aad)[0x68027aad]

Comment 4 Ian Page Hands 2010-01-21 21:23:35 UTC
(In reply to comment #2)
> Thanks for reporting. However in my opinion this should be fixed upstream.    

This sounds similar to what the gentoo devs said, but is there any technical explanation that would go along with this opinion? It seems that upstream has the idea that this is a distro issue.

Regards,
-Ian Page Hands

Comment 5 Andreas Bierfert 2010-01-22 05:29:58 UTC
Here is a nice little statement on how fedora sees fortify source and why it is turned on for the whole distro:
http://fedoraproject.org/wiki/Security/Features#Compile_Time_Buffer_Checks_.28FORTIFY_SOURCE.29

Comment 6 Eddie Lania 2010-02-15 19:11:39 UTC
Latest wine from updates testing has solved this issue.

Comment 7 Andreas Bierfert 2010-02-16 05:51:48 UTC
Thanks for the feedback.