Wine от 17 октября guest@multi:~$ wine --update Updating... Using WINEPREFIX=/home/guest/.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/. Update registry and environments... fixme:ntoskrnl:KeInitializeMutex 0x1113b8 0 DbgPrint says: Eutron SmartKey USB Driver (Jun 10 2005), FastUSB=0, DelayUSB=2000 fixme:ntoskrnl:KeInitializeSpinLock 0x456638 fixme:ntoskrnl:KeInitializeEvent 0x4567ac 1 0 fixme:ntoskrnl:KeWaitForSingleObject 0x1113b8 0 0 1 (nil) fixme:ntoskrnl:KeReleaseMutex 0x1113b8 0 fixme:ntoskrnl:KeInitializeMutex 0x111c14 1 fixme:ntoskrnl:KeInitializeEvent 0x111c44 1 0 fixme:ntoskrnl:KeInitializeEvent 0x111c64 1 0 fixme:ntoskrnl:KeInitializeSpinLock 0x111c80 fixme:ntoskrnl:KeInitializeEvent 0x111d88 1 0 fixme:ntoskrnl:IoRegisterDeviceInterface 0x1112a0 {10d60713-fb4c-4bb1-941b-44b79d25af8b} <null> 0x111364 fixme:ntoskrnl:KeInitializeMutex 0x112888 0 fixme:ntoskrnl:KeWaitForSingleObject 0x1113b8 0 0 1 (nil) fixme:ntoskrnl:KeReleaseMutex 0x1113b8 0 fixme:ntoskrnl:PoSetPowerState 0x111b10 1 1 fixme:ntoskrnl:KeClearEvent 0x111d88 fixme:ntoskrnl:KeClearEvent 0x111c44 fixme:ntoskrnl:KeInitializeEvent 0x7ec806c0 0 0 fixme:ntoskrnl:KeSetEvent 0x7ec806c0 0 0 fixme:ntoskrnl:KeWaitForSingleObject 0x7ec806c0 0 0 1 (nil) fixme:ntoskrnl:KeInitializeEvent 0x7ec80608 0 0 fixme:ntoskrnl:KeSetEvent 0x7ec80608 0 0 fixme:ntoskrnl:KeInitializeEvent 0x7ec805f8 0 0 fixme:ntoskrnl:KeSetEvent 0x7ec805f8 0 0 fixme:usbd:USBD_ParseConfigurationDescriptorEx 0x1129d8, 0x1129d8, 0, 0, -1, -1, -1 fixme:ntoskrnl:KeInitializeEvent 0x7ec80638 0 0 err:wineusbhub:__wine_usbhub_internal_ioctl could not set config 1: Операция не позволяется fixme:ntoskrnl:KeSetEvent 0x7ec80638 0 0 fixme:ntoskrnl:KeSetEvent 0x111d88 0 0 fixme:ntoskrnl:KeSetEvent 0x111c44 0 0 err:winedevice:ServiceMain MajorFunction[IRP_MJ_PNP] failed: c0000001 ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Нет такого файла или каталога err:mshtml:register_server typelib registration failed: 80029c4a wbemprox.dll:DllMain:(10000000, 1, 00000000) wbemprox.dll:regsvr:DllRegisterServer wbemprox.dll:DllMain:(10000000, 0, 00000000) err:rpc:I_RpcReceive we got fault packet with status 0x3e6 err:ntdll:RtlpWaitForCriticalSection section 0x1106b8 "?" wait timed out in thread 0014, blocked by 0013, retrying (60 sec) wine: configuration in '/home/guest/.wine' has been updated.
Ubuntu 8.04, Debian 4.0 ALT Linux на cellar'е...
Проблема в функции NdrSendReceive (dlls/rpcrt4). Там уже есть наш хак, но он не исправляет проблему. Там неясность, как должна обрабатываться ошибка. Возможно нужно почитать об этих функциях, и посмотреть на тесты. Теста на эту функцию явно не хватает. Судя по коду ReactOS, ничего правильного в генерации исключения нет: http://www.reactos.org/generated/doxygen/dd/d1f/ndr__midl_8c-source.html Хотя вопрос, кто же теряет критическую секцию, остаётся. См. также http://bugs.winehq.org/show_bug.cgi?id=6159 http://www.winehq.org/pipermail/wine-cvs/2006-February/020703.html
Кажется, скоро победа будет за нами ... =>1 0x7bc32fc6 RtlpWaitForCriticalSection+0xe3(crit=0x1106f8) [/srv/mibori/Projects/wine/dlls/ntdll/critsection.c:449] in ntdll (0x7e6f8508) 2 0x7bc33532 RtlEnterCriticalSection+0x147(crit=0x1106f8) [/srv/mibori/Projects/wine/dlls/ntdll/critsection.c:582] in ntdll (0x7e6f8548) 3 0x7eb1f2bb scmdatabase_lock_exclusive+0x15(db=0x1106e8) [/srv/mibori/Projects/wine/programs/services/services.c:474] in services (0x7e6f8568) 4 0x7eb1bd1c svcctl_CreateServiceW+0x2be(hSCManager=0x111ca0, lpServiceName=0x111d90, lpDisplayName=0x111dac, dwDesiredAccess=983551, dwServiceType=16, dwStartType=3, dwErrorControl=1, lpBinaryPathName=0x111dd4, lpLoadOrderGroup=(nil), lpdwTagId=(nil), lpDependencies=0x0, dwDependenciesSize=0, lpServiceStartName=(nil), lpPassword=0x0, dwPasswordSize=0, phService=0x111cc0) [/srv/mibori/Projects/wine/programs/services/rpc.c:389] in services (0x7e6f85c8) 5 0x7eb235f3 svcctl_svcctl_CreateServiceW+0x6de(_pRpcMessage=0x111ae0) [/srv/mibori/Projects/wine/programs/services/svcctl_s.c:1480] in services (0x7e6f8828) 6 0x7eae7f70 process_request_packet+0x312(conn=0x111588, hdr=0x1119c8, msg=0x111ae0) [/srv/mibori/Projects/wine/dlls/rpcrt4/rpc_server.c:291] in rpcrt4 (0x7e6f8958) 7 0x7eae8430 RPCRT4_process_packet+0xee(conn=0x111588, hdr=0x1119c8, msg=0x111ae0) [/srv/mibori/Projects/wine/dlls/rpcrt4/rpc_server.c:346] in rpcrt4 (0x7e6f8998) 8 0x7eae84f7 RPCRT4_worker_thread+0x35(the_arg=0x111790) [/srv/mibori/Projects/wine/dlls/rpcrt4/rpc_server.c:363] in rpcrt4 (0x7e6f89c8) 9 0x7bc75892 worker_thread_proc+0x12e(param=(nil)) [/srv/mibori/Projects/wine/dlls/ntdll/threadpool.c:111] in ntdll (0x7e6f8a18) 10 0x7bc732e6 init_teb+0xb2(teb=0x7bc75754) [/srv/mibori/Projects/wine/dlls/ntdll/thread.c:128] in ntdll (0x7e6f8a28) 11 0x7bc73365 call_thread_func+0x6d(rtl_func=0x7bc75754, arg=(nil)) [/srv/mibori/Projects/wine/dlls/ntdll/thread.c:392] in ntdll (0x7e6f8ac8) 12 0x7bc735c5 start_thread+0x1bc(info=0x7ffc8fb8) [/srv/mibori/Projects/wine/dlls/ntdll/thread.c:454] in ntdll (0x7e6f93c8) 13 0xb7e78f83 start_thread+0xb3() in libpthread.so.0 (0x7e6f94b8) 14 0xb7e0763e __clone+0x5e() in libc.so.6 (0x00000000)
(In reply to comment #3) > Кажется, скоро победа будет за нами ... > кусок дебаглога: func(1126b0) #23 => mib svcctl_svcctl_ChangeServiceConfigW(1126b0) ... mib svcctl_ChangeServiceConfigW, arg lpDisplayName == ════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ mib call RtlEnterCriticalSection(1106f8) in thread 14, #28 mib ret RtlEnterCriticalSection(1106f8) in thread 14 -> STATUS_SUCCESS (end) mib svcctl_ChangeServiceConfigW(...) after enter crit sect 1106f8 MIB raise_exception обращаем внимание на значение lpDisplayName, а теперь иcходник: service_lock_exclusive(service->service_entry); // <---- enter crit! if (is_marked_for_delete(service->service_entry)) { service_unlock(service->service_entry); return ERROR_SERVICE_MARKED_FOR_DELETE; } if (lpDisplayName != NULL && (entry = scmdatabase_find_service_by_displayname(service->service_entry->db, lpDisplayName)) && (entry != service->service_entry)) { service_unlock(service->service_entry); // <-------leave crit! return ERROR_DUPLICATE_SERVICE_NAME; } // больше service_unlock(service->service_entry) нет в нем service_lock_exclusive(service->service_entry) входит в крит. секцию а service_unlock(service->service_entry) выходт из нее. программа падает на scmdatabase_find_service_by_displayname(service->service_entry->db, lpDisplayName)) и не закрывает критическую секцию. бэктрейс: =>1 0xb7dbfe4b strcmpiW+0x36(str1=0x1128a0, str2=(nil)) [/srv/mibori/Projects/wine/libs/wine/string.c:31] in libwine.so.1 (0x7ebe94c8) 2 0x7ef1fda3 scmdatabase_find_service_by_displayname+0x30(db=0x1106e8, name=0x1128a0) [/home/mibori/Projects/wine/programs/services/services.c:347] in services (0x7ebe94f8) 3 0x7ef1d1de svcctl_ChangeServiceConfigW+0x108(hService=0x112700, dwServiceType=1, dwStartType=2, dwErrorControl=1, lpBinaryPathName=0x112820, lpLoadOrderGroup=(nil), lpdwTagId=(nil), lpDependencies=0x0, dwDependenciesSize=0, lpServiceStartName=(nil), lpPassword=0x0, dwPasswordSize=0, lpDisplayName=0x1128a0) [/srv/mibori/Projects/wine/programs/services/rpc.c:503] in services (0x7ebe95d8) 4 0x7ef23c9d svcctl_svcctl_ChangeServiceConfigW+0x5d4(_pRpcMessage=0x1126c8) [/srv/mibori/Projects/wine/programs/services/svcctl_s.c:1208] in services (0x7ebe9828) 5 0x7eec8dc6 process_request_packet+0x3c4(conn=0x111588, hdr=0x111eb8, msg=0x1126c8) [/srv/mibori/Projects/wine/dlls/rpcrt4/rpc_server.c:313] in rpcrt4 (0x7ebe9958) 6 0x7eec93c9 RPCRT4_process_packet+0x13a(conn=0x111588, hdr=0x111eb8, msg=0x1126c8) [/srv/mibori/Projects/wine/dlls/rpcrt4/rpc_server.c:397] in rpcrt4 (0x7ebe9998) 7 0x7eec94c3 RPCRT4_worker_thread+0x50(the_arg=0x112080) [/srv/mibori/Projects/wine/dlls/rpcrt4/rpc_server.c:416] in rpcrt4 (0x7ebe99c8) 8 0x7bc758de worker_thread_proc+0x13e(param=(nil)) [/srv/mibori/Projects/wine/dlls/ntdll/threadpool.c:114] in ntdll (0x7ebe9a18) 9 0x7bc73332 call_thread_entry_point+0xe() in ntdll (0x7ebe9a28) 10 0x7bc733b1 call_thread_func+0x7d(rtl_func=0x7bc757a0, arg=(nil)) [/srv/mibori/Projects/wine/dlls/ntdll/thread.c:394] in ntdll (0x7ebe9ac8) 11 0x7bc73611 start_thread+0x1cc(info=0x7ffccfb8) [/srv/mibori/Projects/wine/dlls/ntdll/thread.c:456] in ntdll (0x7ebea3c8) 12 0xb7d8ef83 start_thread+0xb3() in libpthread.so.0 (0x7ebea4b8) 13 0xb7d1d63e __clone+0x5e() in libc.so.6 (0x00000000)
Fedora 9 --- плюс 1) Аналогичная ошибка.
Потому что нужно дождаться eter26 и не проверять раньше времени.
Правка для eter27 работает.
Debian 4.0 wine, libwine от 25 октября в консоли при первом запуске Failed to load DLL /home/guest/.wine/dosdevices/c:/windows/system32/msxml3.dll
(In reply to comment #8) > Debian 4.0 > wine, libwine от 25 октября > > в консоли при первом запуске > Failed to load DLL /home/guest/.wine/dosdevices/c:/windows/system32/msxml3.dll > Не туда написал..