Page fault on read access, Crusaders of Might and Magic,

Questions about Wine on Linux
Locked
YoGerry
Newbie
Newbie
Posts: 2
Joined: Sat Jun 18, 2022 6:37 am

Page fault on read access, Crusaders of Might and Magic,

Post by YoGerry »

Hey guys i need some help with an error, i searched for a solution but couldn't find it.

I did something to make run a game in the past left Wine and Linux for a while so i don't remember if i messed this up and causing this error but possible.
I reinstalled Wine but could be possible i didn't remove every file and some messed up cfg is still on the hdd. Also removed and add new wine keys before install because apt-get update couldn't authenticate them. I uninstalled Wine with what i found on other forum:

Code: Select all

cd $HOME
rm -r .wine
rm .config/menus/applications-merged/wine*
rm -r .local/share/applications/wine
rm .local/share/desktop-directories/wine*
rm .local/share/icons/????_*.xpm

sudo apt-get remove --purge wine

rm -rf ~/.wine
rm -rf ~/.prefix32

sudo apt-get update
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
Other game i installed is Homeworld CD version and it runs fine.

I installed Crusaders of Might and Magic CD version both in 32bit and 64bit prefixes, same error.

Code: Select all

Unhandled exception: page fault on read access to 0x00000001 in 32-bit code (0x7b052f88).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7b052f88 ESP:0021f7b0 EBP:0021f808 EFLAGS:00010202(  R- --  I   - - - )
 EAX:000000a4 EBX:0021f85c ECX:0021f820 EDX:00000057
 ESI:00000001 EDI:00020019
Stack dump:
0x0021f7b0:  00000002 00000000 0021f7e0 0021f90c
0x0021f7c0:  004e53a4 00000001 0021f818 00000000
0x0021f7d0:  0021f90c 004e53a4 0021f818 7b62140d
0x0021f7e0:  00000080 0021f90c 00000000 00020019
0x0021f7f0:  0021f80c 000003d3 0021f820 000000a4
0x0021f800:  004e53a4 00000001 0021f878 7b623a96
Backtrace:
=>0 0x7b052f88 RegOpenKeyExW+0x33(hkey=<internal error>, name=<internal error>, options=<internal error>, access=<internal error>, retkey=<internal error>) [E:\usr\src\packages\BUILD\dlls\kernelbase\registry.c:519] in kernelbase (0x0021f808)
  1 0x7b623a96 get_mapped_section_key+0x46(filename=<internal error>, section=*** invalid address 00000001 ***, name="", write=0x1, ret_key=0021F8BC) [E:\usr\src\packages\BUILD\dlls\kernel32\profile.c:1121] in kernel32 (0x0021f878)
  2 0x7b62628e WritePrivateProfileStringW+0x7e(section=<internal error>, entry=<internal error>, string=<internal error>, filename=<internal error>) [E:\usr\src\packages\BUILD\dlls\kernel32\profile.c:1657] in kernel32 (0x0021f8d8)
  3 0x004d9420 in crusaders (+0xd9420) (0x0021f928)
  4 0x004d9f0b in crusaders (+0xd9f0b) (0x0021fe64)
  5 0x004d9dba in crusaders (+0xd9dba) (0x0021fe90)
  6 0x004da001 in crusaders (+0xda001) (0x0021feb4)
  7 0x004d0c2c in crusaders (+0xd0c2c) (0x0021ff30)
  8 0x7b62e990 WriteTapemark+0x100(device=7FFD1000, type=0x7ffd1000, count=0, immediate=0x21ffec) [E:\usr\src\packages\BUILD\dlls\kernel32\tape.c:317] in kernel32 (0x0021ff48)
  9 0x7bc5b4e7 RtlWakeConditionVariable+0x57(variable=7B62E980) [E:\usr\src\packages\BUILD\dlls\ntdll\sync.c:766] in ntdll (0x0021ff5c)
  10 0x7bc5bba0 RtlCreateUserThread(entry=004D0B9E, arg=7FFD1000) [E:\usr\src\packages\BUILD\dlls\ntdll\thread.c:261] in ntdll (0x0021ffec)
0x7b052f88 RegOpenKeyExW+0x33 [E:\usr\src\packages\BUILD\dlls\kernelbase\registry.c:519] in kernelbase: movzwl	0x0(%esi),%edx
Unable to access file 'E:\usr\src\packages\BUILD\dlls\kernelbase\registry.c'
Modules:
Module	Address			Debug info	Name (24 modules)
PE	00400000-0064a000	Export          crusaders
PE	00650000-00ad2000	Deferred        ole32
PE	00ae0000-00c69000	Deferred        winmm
PE	21000000-21054000	Deferred        mss32
PE	61740000-6182f000	Deferred        advapi32
PE	62fc0000-63204000	Deferred        rpcrt4
PE	63480000-6349c000	Deferred        version
PE	666c0000-666e8000	Deferred        hid
PE	66b00000-66b5c000	Deferred        win32u
PE	67ac0000-67bca000	Deferred        dinput
PE	68500000-68651000	Deferred        combase
PE	6a040000-6a0a3000	Deferred        msacm32
PE	6a280000-6a4eb000	Deferred        msvcrt
PE	6bc00000-6bca3000	Deferred        sechost
PE	6bcc0000-6bea4000	Deferred        setupapi
PE	6c9c0000-6cbaa000	Deferred        gdi32
PE	6cc40000-6d0b6000	Deferred        comctl32
PE	6ed00000-6f4da000	Deferred        user32
PE	70b40000-70e11000	Deferred        ucrtbase
PE	71200000-7124c000	Deferred        imm32
PE	7b000000-7b300000	Dwarf-4         kernelbase
PE	7b600000-7b920000	Dwarf-4         kernel32
PE	7bc00000-7be99000	Dwarf-4         ntdll
PE	7e520000-7e524000	Deferred        winex11
Threads:
process  tid      prio (all id:s are in hex)
00000020 (D) C:\games\comm\crusaders.exe
	00000024    0 <==
	00000104    0
00000038 services.exe
	0000003c    0
	00000040    0
	0000004c    0
	00000050    0
	00000074    0
	000000a4    0
	000000a8    0
	000000c0    0
	000000d8    0
00000044 winedevice.exe
	00000048    0
	00000054    0
	00000058    0
	00000064    0
	00000068    0
	000000cc    0
0000005c explorer.exe
	00000060    0
	00000098    0
	0000009c    0
0000006c winedevice.exe
	00000070    0
	00000078    0
	0000007c    0
	00000080    0
	00000084    0
	00000088    0
	0000008c    0
00000090 plugplay.exe
	00000094    0
	000000ac    0
	000000b0    0
	000000b4    0
000000b8 svchost.exe
	000000bc    0
	000000c4    0
	000000c8    0
000000d0 rpcss.exe
	000000d4    0
	000000dc    0
	000000e0    0
	000000e4    0
	000000e8    0
	000000ec    0
	000000f0    0
000000f4 conhost.exe
	000000f8    0
System information:
    Wine build: wine-7.0
    Platform: i386
    Version: Windows 95
    Host system: Linux
    Host version: 5.4.0-120-generic
What i saw that it's try to call RegOpenKeyExW+0x33 from 'E:\usr\src\packages\BUILD\dlls\kernelbase\registry.c' and backtraces other .header or .c files from a folder i doesn't have.
I searched for them and found out these files can be found in the Wine git folder. So i downloaded this dll folder.
I tried two thing:
  • I put them on the exact folder it mentions as root. But i didn't change ownership. Didn't want to mess something up. Still same error
  • I tried to change the drive from "/" to my home folder but also didn't work. It now writes '\\?\unix\usr\src\packages\BUILD\dlls\kernelbase\registry.c'
My specs: Im using Wine 7.0

Code: Select all

Kernel: 5.4.0-120-generic x86_64 bits: 64 
  Desktop: MATE 1.26.0 Distro: Linux Mint 20.3 Una 
Machine:
  Type: Desktop System: ASUS product: All Series v: N/A 
  serial: <superuser/root required> 
  Mobo: ASUSTeK model: CS-B v: Rev X.0x serial: <superuser/root required> 
  UEFI: American Megatrends v: 3602 date: 03/26/2018 
CPU:
  Topology: Quad Core model: Intel Core i5-4570 bits: 64 type: MCP 
  L2 cache: 6144 KiB 
  Speed: 2063 MHz min/max: 800/3600 MHz Core speeds (MHz): 1: 2409 2: 2400 
  3: 2332 4: 2360 
Graphics:
  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics 
  driver: i915 v: kernel 
  Display: x11 server: X.Org 1.20.13 driver: modesetting 
  unloaded: fbdev,vesa resolution: 1920x1080~60Hz 
  OpenGL: renderer: Mesa DRI Intel HD Graphics 4600 (HSW GT2) 
  v: 4.5 Mesa 21.2.6 
Audio:
  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio 
  driver: snd_hda_intel 
  Device-2: Intel 8 Series/C220 Series High Definition Audio 
  driver: snd_hda_intel 
  Sound Server: ALSA v: k5.4.0-120-generic 
Network:
  Device-1: Intel Ethernet I217-LM driver: e1000e 
  IF: eno1 state: down mac: bc:ee:7b:71:a6:f1 
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  driver: r8169 
  IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: bc:ee:7b:73:79:71 
Drives:
  Local Storage: total: 745.23 GiB used: 49.91 GiB (6.7%) 
  ID-1: /dev/sda vendor: Kingston model: SA400S37240G size: 223.57 GiB 
  ID-2: /dev/sdb vendor: Samsung model: HD502HJ size: 465.76 GiB 
  ID-3: /dev/sdc vendor: Kingston model: SMS200S360G size: 55.90 GiB 
Partition:
  ID-1: / size: 54.28 GiB used: 14.20 GiB (26.2%) fs: ext4 dev: /dev/sdc2 
  ID-2: /home size: 38.17 GiB used: 17.84 GiB (46.7%) fs: ext4 
  dev: /dev/sdb2 
  ID-3: swap-1 size: 7.63 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdb3 
Sensors:
  System Temperatures: cpu: 29.8 C mobo: 27.8 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 206 Uptime: 51m Memory: 6.69 GiB used: 1.30 GiB (19.5%) 
  Shell: bash inxi: 3.0.38 
So my question is why it tries to read wines uncompiled files and can i fix it? Can i change the drive so instead of "/" or "\\?\unix\" it try to read from my home folder or am i on a wrong track with this? Thanks guys for your helps in advance
jkfloris
Level 12
Level 12
Posts: 3136
Joined: Thu Aug 14, 2014 10:10 am

Re: Page fault on read access, Crusaders of Might and Magic,

Post by jkfloris »

Two things you can try:
- In CMMConfig: set the renderer to Software Renderer 1.0
- In winecfg: Create a virtual desktop
YoGerry
Newbie
Newbie
Posts: 2
Joined: Sat Jun 18, 2022 6:37 am

Re: Page fault on read access, Crusaders of Might and Magic,

Post by YoGerry »

I tried both of them but no luck
Thanks for the help anyway
jkfloris
Level 12
Level 12
Posts: 3136
Joined: Thu Aug 14, 2014 10:10 am

Re: Page fault on read access, Crusaders of Might and Magic,

Post by jkfloris »

The CD version of Crusaders of Might and Magic uses SafeDisc copy protection. These CDs only work if the Windows version is set to Windows 2000.

If this doesn't improve the situation, please post a full terminal output.
Locked