В мандриве 2008.1 вылет в дамп при создании вайн-окружения [guest2@localhost ~]$ wine First running... Using WINEPREFIX=/home/guest2/.wine Creating default file tree... Copying prepared tree from '/usr/share/wine/skel' ... WINE@Etersoft 1.0 SQL (1.0.9), registration number is EEEE-C0DE. Legality check is available on the page http://sales.etersoft.ru/product/. Initialize registry and environments... wbemprox.dll:DllMain:(01600000, 1, 00000000) wbemprox.dll:regsvr:DllRegisterServer wbemprox.dll:DllMain:(01600000, 0, 00000000) wine: configuration in '/home/guest2/.wine' has been updated. wine: Unhandled page fault on write access to 0x00000004 at address 0x7ef90d8b (thread 0025), starting debugger... Building local environment... Flash Player 9 ActiveX installing... Unhandled exception: page fault on write access to 0x00000004 in 32-bit code (0x7ef90d8b). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:7ef90d8b ESP:7e9cb730 EBP:7ec3e6a0 EFLAGS:00210206( - 00 - RIP1) EAX:7ec3c6f1 EBX:7ec3e108 ECX:00000000 EDX:001103b2 ESI:00000000 EDI:7ec3db79 Stack dump: 0x7e9cb730: 0000001c 7ec3d33e 00000000 001103b2 0x7e9cb740: 7ec3e6a0 7e9cb9cc 00111210 7e9cb9e0 0x7e9cb750: 001110b0 7e9cb9dc 00000000 00000000 0x7e9cb760: 00000000 00000000 00000000 7e9cb9cc 0x7e9cb770: 00000000 7e9cb9b0 7e9cb9e0 7e9cb9dc 0x7e9cb780: 00000000 00111210 00000000 00000000 Backtrace: =>1 0x7ef90d8b RtlInitUnicodeString+0xb() in ntdll (0x7ec3e6a0) 2 0x00111210 (0x00a80000) 3 0x00000000 (0x00000000) 0x7ef90d8b RtlInitUnicodeString+0xb in ntdll: movl %edx,0x4(%esi) Modules: Module Address Debug info Name (31 modules) ELF 7bf00000-7bf03000 Deferred <wine-loader> ELF 7e856000-7e896000 Deferred libdbus-1.so.3 ELF 7e896000-7e8a7000 Deferred libhal.so.1 ELF 7e8a7000-7e8bd000 Deferred mountmgr.sys.so PE 7e8b0000-7e8bd000 Deferred mountmgr.sys ELF 7e9ce000-7e9e1000 Deferred libresolv.so.2 ELF 7e9e1000-7ea01000 Deferred iphlpapi<elf> \-PE 7e9f0000-7ea01000 \ iphlpapi ELF 7ea01000-7ea6b000 Deferred rpcrt4<elf> \-PE 7ea10000-7ea6b000 \ rpcrt4 ELF 7eb7c000-7eb84000 Deferred libusb-0.1.so.4 ELF 7eb84000-7eb98000 Deferred wineusbhub<elf> \-PE 7eb90000-7eb98000 \ wineusbhub ELF 7eb98000-7ebd2000 Deferred ntoskrnl<elf> \-PE 7eba0000-7ebd2000 \ ntoskrnl ELF 7ebd2000-7ec2b000 Deferred advapi32<elf> \-PE 7ebe0000-7ec2b000 \ advapi32 ELF 7ec2b000-7ec3f000 Deferred winedevice<elf> \-PE 7ec30000-7ec3f000 \ winedevice ELF 7ec3f000-7ec85000 Deferred libwine-etersoft.so.1 ELF 7ec85000-7ec90000 Deferred libnss_files.so.2 ELF 7edc3000-7ef0e000 Deferred kernel32<elf> \-PE 7ede0000-7ef0e000 \ kernel32 ELF 7ef0e000-7ef33000 Deferred libm.so.6 ELF 7ef33000-7f000000 Export ntdll<elf> \-PE 7ef40000-7f000000 \ ntdll ELF b7ce9000-b7ced000 Deferred libdl.so.2 ELF b7ced000-b7e31000 Deferred libc.so.6 ELF b7e31000-b7e48000 Deferred libpthread.so.0 ELF b7e48000-b7f80000 Deferred libwine.so.1 ELF b7f91000-b7fad000 Deferred ld-linux.so.2 Threads: process tid prio (all id:s are in hex) 0000000c 0000000e 0 0000000d 0 0000000f 00000026 0 00000024 0 0000001f 0 0000001d 0 00000011 0 00000010 0 00000014 00000015 0 00000021 (D) C:\windows\system32\winedevice.exe 00000027 0 00000025 0 <== 00000023 0 00000022 0 00000030 00000031 0 Backtrace: =>1 0x7ef90d8b RtlInitUnicodeString+0xb() in ntdll (0x7ec3e6a0) 2 0x00111210 (0x00a80000) 3 0x00000000 (0x00000000) Device 'e:' created as link for '/media' target. Device 'e::' created as link for '/dev/cdrom' target. Device 'd:' created as link for '/home/guest2/' target. Device 'com1' created as link for '/dev/ttyS0' target. Device 'com2' created as link for '/dev/ttyS1' target. Device 'com3' created as link for '/dev/ttyS2' target. Device 'com4' created as link for '/dev/ttyS3' target. Device 'lpt1' created as link for '/dev/lp0' target. Device 'z:' created as link for '/' target. MDAC 2.7 installing... MSJET 4.0 installing... Communication dlls installing... MSI installing... Windows Scripting installing... fixme:advpack:set_ldids Need to support changing paths - default will be used Successfully registered DLL /home/guest2/.wine/dosdevices/c:/windows/system32/msxml3.dll Successfully registered DLL /home/guest2/.wine/dosdevices/c:/windows/system32/msxml4.dll Successfully registered DLL /home/guest2/.wine/dosdevices/c:/windows/system32/mfc40.dll Successfully registered DLL /home/guest2/.wine/dosdevices/c:/windows/system32/mfc42.dll Successfully registered DLL /home/guest2/.wine/dosdevices/c:/windows/system32/mfc42u.dll WINE@Etersoft 1.0 SQL (1.0.9), registration number is EEEE-C0DE. Legality check is available on the page http://sales.etersoft.ru/product/. has been configured for the first time. Use /home/guest2/wine_c as WINE C:\ disk. Copy your program into and install it.
И любая установка программы начинается с дампа Unhandled exception: page fault on write access to 0x00000004 in 32-bit code (0x7ef90d8b). Register dump: ..... Но продолжается дальше. Вайн от 8 октября
Воспроизводится и на builder в чруте: eterbuild/tools/login.sh Mandriva/2008.1 Кто-то вызывает RtlInitUnicodeString с нулевым адресом. Возможно это winedevices. 1.0.9-eter25
Падает winedevice после запуска mountmgr. &drvname почему-то возвращает NULL, который передаётся в RtlInitUnicodeString. Проблема проявляется при компиляции с опцией -fomit-frame-pointer. Если откомпилировать winedevice без неё, то mountmgr не падает. gcc (GCC) 4.2.3 (4.2.3-6mnb1)
С winedevice, собранным с -fomit-frame-pointer, падают eterhack на builder и даже оригинальный wine.
Created attachment 800 [details] wine от winehq.org
Created attachment 801 [details] eterhack на builder
Надо попробовать создать небольшой тест и завести багу на winehq. Если тест не получится, то без теста.
Создал баг http://bugs.winehq.org/show_bug.cgi?id=15650
Джуллиард сделал исправление: http://source.winehq.org/git/wine.git/?a=commit; h=d230e713b97efa63796bfd4dc2c9d37f4602ed43 winecrt0: Add missing WINAPI on driver entry point. Я проверил, не падает.