wineboot 挂起且未完成

mic*_*bug 5 wine macos

我在 macOS 10.13.4 上使用 Wine 时遇到一个奇怪的问题。我安装了 Homebrew 并安装了 Wine brew install wine winetricks

$ wine --version
wine-3.0
Run Code Online (Sandbox Code Playgroud)

当我运行时,wineboot --init > log 2>&1我会看到一个对话框,上面写着The Wine configuration in /Users/richard/.wine is being updated, please wait. 日志文件如下所示:

wine: created the configuration directory '/Users/richard/.wine'
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0012:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0012:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0012:err:ole:get_local_server_stream Failed: 80004002
0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0014:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0014:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0014:err:ole:get_local_server_stream Failed: 80004002
0017:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:err:mscoree:LoadLibraryShim error reading registry key for installroot
0017:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0017:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
001b:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
001b:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
001b:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0010:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0010:fixme:dwmapi:DwmIsCompositionEnabled 0x6dbd1518
0010:fixme:winsock:set_dont_fragment IP_DONTFRAGMENT for IPv4 not supported in this platform
001d:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x69ebd3de, context 0x9e6640, init_notify 0, handle 0x12dfa40): stub
0009:err:process:__wine_kernel_init boot event wait timed out
004a:fixme:mountmgr:DriverEntry failed to create device error c0000035
004a:err:winedevice:async_create_driver failed to create driver L"MountMgr": c0000035
005a:err:hid_report:process_hid_report Device reports coming in too fast, last report not read yet!
005a:err:hid_report:process_hid_report Device reports coming in too fast, last report not read yet!
    [THE ABOVE LINE IS REPEATED 1000s OF TIMES]
Run Code Online (Sandbox Code Playgroud)

wine64当我在一小时后用 SIGTERM杀死时,以下几行被附加到日志文件中:

006e:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
006e:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
006e:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
006c:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
006c:fixme:dwmapi:DwmIsCompositionEnabled 0x6d5d3018
0070:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x6a0cb608, context 0x958950, init_notify 0, handle 0x119fce8): stub
006c:fixme:winsock:set_dont_fragment IP_DONTFRAGMENT for IPv4 not supported in this platform
wine: configuration in '/Users/richard/.wine' has been updated.
Run Code Online (Sandbox Code Playgroud)
  • rm -rf ~/.wine在这一切之前做过
  • WINEPREFIX未设置
  • 自制软件并且wine是最新的可用版本
  • winebootwineboot --init并且wineboot --update都有同样的问题

我怎样才能wineboot在不挂起的情况下完成?

编辑:我目前正在设置 macOS 10.13.4 虚拟机来测试是否会发生同样的情况。

编辑 2:我已经在新的 macOS 10.13.4 虚拟机中进行了测试,并且遇到了同样的问题。我已经尝试过brew install wine(对于 Wine 3.0 稳定版)和brew install wine --HEAD(对于最新的 Wine 3.7),两者都有相同的wineboot挂起问题。

编辑3:我认为日志行0009:err:process:__wine_kernel_init boot event wait timed out可能是问题所在,但不知道如何解决它。

mic*_*bug 3

刚刚发现这是 Homebrew 版本的一个已知错误,请参阅https://github.com/Homebrew/homebrew-core/issues/26384。目前的解决方法是使用https://dl.winehq.org/wine-builds/macosx/download.html中的官方版本。