Bug 187429
| Summary: | Wine segfaults on FC5 x86_64 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Joel Gomberg <oaklists> |
| Component: | wine | Assignee: | Andreas Bierfert <andreas.bierfert> |
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 5 | CC: | extras-qa, paul |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2006-04-15 17:00:42 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
Joel Gomberg
2006-03-30 20:59:48 UTC
On current rawhide kernels, it is possible to completely kill the machine when running programs compiled for Win95. Prime example URL http://www.geocities.com/athens/academy/1974/nadsat.html - download the program and try and run. I will try that tonight ... Joel: Could you attach your strace output? Thanks Created attachment 127125 [details]
Strace output with wine run without arguments. When run with arguments, there are many segfault lines. I can also send that file.
Here is the requested strace output, which I thought a had attached yesterday.
Created attachment 127126 [details]
This is strace output when wine is invoked with an argument.
In looking through the strace output, it appears that wine is expecting a number
of files in the /lib directory that don't exist on my system and are not found
with a "yum whatprovides" query on my enabled x86_64 repositories:
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tls/i686/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/bin/../lib/tls/i686/libwine.so.1", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/libwine.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/i686/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/i686/libwine.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
...
open("/usr/bin/../lib/tls/i686/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/bin/../lib/tls/i686/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/i686/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/i686/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
How can I determine what RPMs I need from the i386 repository and why didn't
wine fail the transaction check or test?
Ah... that actually gives me a clue :) I will work on it this weekend. Thanks for the information. Hm seems like failing is ok as open("/etc/ld.so.cache", O_RDONLY) = 3
should do what wine wants.
Please try to move your .wine directory out of the way and try with a fresh one
(will be created on first run). That might do the trick (or try wineprefixcreate)
as here it works just like a charm on x86_64 with autodeps
I had already tried this approach. It still fails. Running wine generates an
input/output error when wine-preloader is called:
[joel@alcibiades ~]$ strace wine
execve("/usr/bin/wine", ["wine"], [/* 35 vars */]) = 0
[ Process PID=3670 runs in 32 bit mode. ]
brk(0) = 0x804b000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xfffffffff7ffd000
readlink("/proc/self/exe", "/usr/bin/wine", 4096) = 13
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tls/i686/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/bin/../lib/tls/i686/libwine.so.1", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/libwine.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/i686/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/i686/libwine.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/sse2/libwine.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/libwine.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\231"..., 512) =
512fstat64(0x3, 0xffffcc80) = 0
mmap2(0xb68000, 109120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb68000
mmap2(0xb6f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE,
3, 0x6) = 0xb6f000
mmap2(0xb70000, 76352, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb70000
close(3) = 0
open("/usr/bin/../lib/tls/i686/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/bin/../lib/tls/i686/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/i686/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/i686/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/sse2/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(0x3, 0xffffcbe0) = 0
mmap2(NULL, 257294, PROT_READ, MAP_PRIVATE, 3, 0) = 0xfffffffff7fbe000
close(3) = 0
open("/lib/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\232\271"..., 512) = 512
fstat64(0x3, 0xffffcc64) = 0
mmap2(0xb95000, 78268, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb95000
mmap2(0xba5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE,
3, 0xf) = 0xba5000
mmap2(0xba7000, 4540, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS,
-1, 0) = 0xba7000
close(3) = 0
open("/usr/bin/../lib/tls/i686/sse2/libc.so.6", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/i686/libc.so.6", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/tls/sse2/libc.so.6", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/i686/sse2/libc.so.6", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/i686/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/sse2/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\n\211\244"..., 512) = 512
fstat64(0x3, 0xffffcc48) = 0
mmap2(0xa33000, 1254780, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xa33000
mmap2(0xb5f000, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12b) = 0xb5f000
mmap2(0xb63000, 9596, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS,
-1, 0) = 0xb63000
close(3) = 0
open("/usr/bin/../lib/tls/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/tls/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/tls/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tls/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/bin/../lib/tls/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/tls/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/tls/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/bin/../lib/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/bin/../lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\374\270"..., 512) = 512
fstat64(0x3, 0xffffcbac) = 0
mmap2(0xb8f000, 12412, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb8f000
mmap2(0xb91000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE,
3, 0x1) = 0xb91000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xfffffffff7fbd000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xfffffffff7fbc000
set_thread_area(0xffffd158) = 0
mprotect(0xba5000, 4096, PROT_READ) = 0
mprotect(0xb5f000, 12288, PROT_READ) = 0
mprotect(0xb91000, 4096, PROT_READ) = 0
mprotect(0x1bf000, 4096, PROT_READ) = 0
munmap(0xf7fbe000, 257294) = 0
set_tid_address(0xf7fbc6f8) = 3670
rt_sigaction(SIGRTMIN, {0x400b99686, [], 0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x1000000400b995c0, [], 0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=-4284481536, rlim_max=67108864*1024}) = 0
_sysctl({0x200ba1e04, -11600, (nil), (nil), (nil), 17869094388571463668}) = 0
mmap2(NULL, 10489856, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0xa01000) = 0xfffffffff75bb000
brk(0) = 0x804b000
brk(0x806c000) = 0x806c000
mprotect(0xf75bb000, 4096, PROT_NONE) = 0
clone(child_stack=0xf7fbb4d4,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
parent_tidptr=0xf7fbbbe8, tls=0xf7fbbbe8, child_tidptr=0xffffd4ec) = 3671
futex(0xf7fbbbe8, FUTEX_WAIT, 3671, NULL) = 0
execve("/usr/bin/../lib/../bin/wine-preloader", [umovestr: Input/output error
0x804b1300804b158, umovestr: Input/output error
0x20e7100000000], [/* 35 vars */]) = 0
Running wineprefixcreate actually does create the .wine structure, but it hangs
at line 205:
"${WINELOADER:-wine}" rundll32.exe setupapi.dll,InstallHinfSection
DefaultInstall 128 wine.inf
I'm assuming that my problem relates in some way to doing an FC4->FC5 upgrade
rather than a fresh install. Perhaps some files were not updated or some older
files have been left behind, creating some sort of conflict. I'd appreciate it
if you could suggest where I might look for the cause, but it does appear that
this is not a wine bug. Thanks for your help.
FWIW, I managed to build wine-0.9.10 from source and it works! I still have no idea why the RPMs failed. I have finally tracked down the root cause of these memory conflicts: the proprietary Nvidia driver. I recently came across a warning against using Nvidia's installer on the fedora-devel list: https://www.redhat.com/archives/fedora-devel-list/2006-February/msg01178.html I had tried -- and failed -- to run wine with the "nv" driver enabled, but hadn't realized that merely having the driver on my system could cause problems. After uninstalling the driver and installing the livna rpms, the problems have disappeared. Nope. I'm not using the proprietary nv driver, just the bog standard xorg one (I've no need for 3D stuff so don't bother with it). Keep looking :-( |