Page MenuHomePhabricator

[CI] Fix the Win64 build failing due to wine issue
ClosedPublic

Authored by Fabien on Nov 7 2023, 20:05.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Commits
rABC6cab93edd473: [CI] Fix the Win64 build failing due to wine issue
Summary

Wine has some limitations, and as the test suite grows so does the memory requirement. With the current Bullseye version we are facing a memory limit causing asserts on nullptr for objects that failed to allocate.
We can work around this limitation by using a more recent version of wine. This also speeds up the tests significantly on my machine.

Test Plan

Install the correct wine version, then:

./contrib/teamcity/build-configurations.py build-win64

Diff Detail

Repository
rABC Bitcoin ABC
Branch
fix_win64_wine
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 25557
Build 50695: Build Diff
Build 50694: arc lint + arc unit

Event Timeline

Fabien requested review of this revision.Nov 7 2023, 20:05
This revision is now accepted and ready to land.Nov 8 2023, 07:06

Tail of the build log:

warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
    Finished release [optimized] target(s) in 0.21s
[2/12] Running utility command for _cargo-build_chronik-lib
[3/12] Generating ../cargo/build/x86_64-pc-windows-gnu/cxxbridge/chronik-bridge/src/ffi.rs.cc, ../cargo/build/x86_64-pc-windows-gnu/cxxbridge/chronik-lib/src/ffi.rs.cc
Generating cxx bridge files
[3/4] Run CPack packaging tool...
CPack: Create package using NSIS
CPack: Install projects
CPack: - Install directory: /work/doc
CPack: - Install project: bitcoin-abc []
CPack: Create package
CPack: - package: /work/abc-ci-builds/build-win64/bitcoin-abc-0.28.3-x86_64-w64-mingw32.exe generated.
CPack: Create package using ZIP
CPack: Install projects
CPack: - Install directory: /work/doc
CPack: - Install project: bitcoin-abc []
CPack: Create package
CPack: - package: /work/abc-ci-builds/build-win64/bitcoin-abc-0.28.3-x86_64-w64-mingw32.zip generated.
wine: created the configuration directory '/root/.wine'
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
002c:fixme:winediag:loader_init wine-staging 8.19 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
004c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
004c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
004c:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
004c:err:systray:initialize_systray Could not create tray window
004c:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
004c:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
004c:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0044:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0044:err:winediag:nodrv_CreateWindow L"Make sure that your X server is running and that $DISPLAY is set correctly."
0070:err:ntoskrnl:ServiceMain Failed to load L"C:\\windows\\system32\\win32k.sys"
0070:err:ntoskrnl:ServiceMain Failed to load L"C:\\windows\\system32\\drivers\\dxgkrnl.sys"
0070:err:ntoskrnl:ServiceMain Failed to load L"C:\\windows\\system32\\drivers\\dxgmms1.sys"
002c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
002c:err:winediag:nodrv_CreateWindow L"Make sure that your X server is running and that $DISPLAY is set correctly."
0088:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0088:err:winediag:nodrv_CreateWindow L"Make sure that your X server is running and that $DISPLAY is set correctly."
0090:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0090:err:winediag:nodrv_CreateWindow L"Make sure that your X server is running and that $DISPLAY is set correctly."
00d8:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
00d8:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
00d8:err:winediag:nodrv_CreateWindow L"Make sure that your X server is running and that $DISPLAY is set correctly."
0100:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0100:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0100:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0100:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: configuration in L"/root/.wine" has been updated.
012c:fixme:winspool:PerfOpen (null): stub
012c:fixme:winspool:PerfCollect L"Global", 00007FFFFE2FEA98, 00007FFFFE2FEA7C, 00007FFFFE2FEA80: stub
012c:fixme:winspool:PerfClose stub
Running 582 test cases...
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  012c:fixme:file:NtLockFile I/O completion on lock not implemented yet
0070:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 90064 (device=9 access=0 func=19 method=0)
0  0070:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 90064 (device=9 access=0 func=19 method=0)
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  Assertion failed: nPreferredDownload == 0, file ../../src/net_processing.cpp, line 1997

Build build-win64 failed with exit code 3