Bug 557316 - Compiling wine with -D_FORTIFY_SOURCE=2 causes applications to die with "longjmp causes uninitialized stack frame"
Summary: Compiling wine with -D_FORTIFY_SOURCE=2 causes applications to die with "long...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: wine
Version: 12
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Andreas Bierfert
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-21 00:23 UTC by Ian Page Hands
Modified: 2010-02-16 05:51 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-02-16 05:51:48 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
A modified spec file that changes -D_FORTIFY_SOURCE=2 to -D_FORTIFY_SOURCE=0 (54.21 KB, text/x-rpm-spec)
2010-01-21 00:23 UTC, Ian Page Hands
no flags Details

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.


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