Bug 433641

Summary: Multiple page faults with wine on 64bit
Product: [Fedora] Fedora Reporter: Karl Lattimer <karl>
Component: wineAssignee: Andreas Bierfert <andreas.bierfert>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 8CC: eparis, kdekorte, superquad.vortex2
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: 2008-06-17 09:55:53 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:

Description Karl Lattimer 2008-02-20 16:07:38 UTC
I haven't been able to use wine on 64bit fedora for a couple of months now,
repeated page faults cause immediate crashes. However the 32bit binaries work
fine on 32bit fedora.

Here's a sample of the kind of problem observed on both AMD and Intel 64 bit
machines;

wine: Unhandled page fault on read access to 0x00000000 at address 0x7dbb60dc
(thread 000d), starting debugger...
wine: Unhandled page fault on read access to 0x00000000 at address 0x7df5b0dc
(thread 000f), starting debugger...
wine: Unhandled page fault on read access to 0x00000000 at address 0x7df5b0dc
(thread 0011), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x7dbb60dc).
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x7df5b0dc).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7df5b0dc ESP:0034ec90 EBP:7c0515e0 EFLAGS:00010246(   - 00      -RIZP1)
 EAX:00000000 EBX:7c0316b4 ECX:7e528abc EDX:7c0316c4
 ESI:7e5289f4 EDI:7c031458
Stack dump:
0x0034ec90:  7c0316b4 00000000 00000000 00000000
0x0034eca0:  00000001 7c0515e0 00000004 30000000
0x0034ecb0:  7c0515e0 00000000 00000000 7e597e4f
0x0034ecc0:  7c0515e0 beef0201 00000002 30000000
0x0034ecd0:  beef0014 00000000 00000000 3fffffff
0x0034ece0:  00000000 f7e8cb00 00000000 7c0515e0

Comment 1 Andreas Bierfert 2008-02-20 17:27:59 UTC
Thanks for reporting. To save me some time could you please follow the section
on reporting bugs on https://fedoraproject.org/wiki/AndreasBierfert/Wine  Thanks.

Comment 2 Karl Lattimer 2008-02-25 09:59:19 UTC
As I develop wine-doors I am generally very thorough when testing problems with
wine, however this bug has persisted on my 64bit machines when running ANYTHING
even winecfg, and especially my 64bit intel machine with an ATI graphics card,
maybe that has something to do with it? I am using the proprietary driver as
none of the open source options work for me at present. I could attempt to use
the vesa driver if this would help.

I also haven't tested the updates-testing and I will do tonight, but as this has
been such a persistent problem with wine on 64bit fedora I expect it wont be
fixed in the current testing packages, I hope I'm wrong on this as this bug has
seriously hindered development of wine-doors recently.

I am currently seeing this problem on 0.9.54 



Comment 3 Kevin DeKorte 2008-03-12 16:12:18 UTC
I also have a similar problem when running on x86_64. I took a .wine directory
from a working 32bit machine and 'wine notepad' and winecfg works, but when I
try to run Diablo II I get this.

wine Diablo\ II.exe 
preloader: Warning: failed to reserve range 00000000-60000000
preloader: Warning: failed to reserve range 00000000-60000000
preloader: Warning: failed to reserve range 00000000-60000000
wine: could not load L"C:\\Diablo II\\Diablo II.exe": Invalid address
[kdekorte@quad Diablo II]$ err:dosmem:setup_dos_mem Cannot use first megabyte
for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please
report


Comment 4 Kevin DeKorte 2008-03-12 17:05:12 UTC
Ok, I was able to get pas the preloader errors and get the game to run by doing
1 of two things

echo 0 > /proc/sys/vm/mmap_min_addr

or 

adding
# allows wine to run correctly with Diablo 2
vm.mmap_min_addr = 0

This is with wine-0.9.56-1.fc9.i386


to /etc/sysctl.conf


Comment 5 Chuck Ebbert 2008-03-12 22:56:59 UTC
Why would it only fail on x86_64?

Comment 6 Dale Stimson 2008-03-13 17:46:15 UTC
I'm not asking for support on this, as the problem only happens for me
when I'm running the ATI proprietary video driver (same as commenter
#2 above).  However, in case this information is helpful:

Perhaps my problem has a different cause, but it has similar symptoms.

My problem occurs with plain 32-bit x86 (as opposed to x86_64).

The problem is present when I use the ATI proprietary video driver.
I use an older release of that (8.455.2-1) as more recent releases
don't work for me.  I have a Radeon 1650.

The problem does not occur when I use the "vesa" driver. 

The problem does not occur when wine is invoked from a process for
which environment variable DISPLAY is not set.

The following makes no difference for me:
    echo 0 > /proc/sys/vm/mmap_min_addr

Sample output:
$ rm -rf ~/.wine
$ wineprefixcreate
ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default:0
ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default:0
wine: Unhandled page fault on read access to 0x00000200 at address 0x6001384d
(thread 0010), starting debugger...

...  followed by reams of multiple tracebacks, etc.


Comment 7 Karl Lattimer 2008-03-13 18:42:23 UTC
Actually I'm using the proprietary ATI Driver too, didn't think that would have
been a factor.

Comment 8 Andreas Bierfert 2008-06-17 09:55:53 UTC
Marking as dup for the mmap_min_addr problems. Regarding the ATI Driver I a)
have no way to test it and b) I know that it has caused a lot of problems in the
past. Just hope the situation is better now.

*** This bug has been marked as a duplicate of 443860 ***

Comment 9 Raymond 2010-09-27 07:01:39 UTC
(In reply to comment #6)

> Sample output:
> $ rm -rf ~/.wine
> $ wineprefixcreate
> ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0
> ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default:0
> ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0
> ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default:0
> wine: Unhandled page fault on read access to 0x00000200 at address 0x6001384d
> (thread 0010), starting debugger...
> 
> ...  followed by reams of multiple tracebacks, etc.
> 

 Unknown PCM default:0 

This is because pulseaduio override pcm!default

alsa-lib previously use the pcm!default defintion in usr/share/alsa/pcm/default.conf when you specify to open "default:0"

so wine is unable to access "default:0" , This "default:0" was used to acccess the card 's default defined in those conf file in /usr/share/alsa/cards/*.conf