History log of /libuv/.github/workflows/CI-win.yml (Results 1 – 12 of 12)
Revision Date Author Comments
# 9b3b61f6 05-Aug-2024 Matheus Izvekov

build: ubsan fixes (#4254)

MSVC does not actually support ubsan. There is a long-standing ticket
requesting this:
https://developercommunity.visualstudio.com/t/add-support-for-ubsan/

build: ubsan fixes (#4254)

MSVC does not actually support ubsan. There is a long-standing ticket
requesting this:
https://developercommunity.visualstudio.com/t/add-support-for-ubsan/840750

There are no known compilers that currently accept the
`/fsanitize=undefined` spelling. clang-cl accepts `-fsanitize...`,
same as regular clang.

Also passes no-sanitizer-recover so that tests actually fail.

Fix various ubsan-detected errors, including:

* win: fix req-inl.h ubsan failure

Don't use CONTAINING_RECORD macro from WinSDK, as it doesn't use the
right trick which avoids member access on null pointer.

Fixes:
```
src/win/req-inl.h:86:10: runtime error: member access within null pointer of type 'uv_req_t' (aka 'struct uv_req_s')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior D:/a/libuv/libuv/src/win/req-inl.h:86:10
```

* test: fix ubsan failure on udp_ref3

Don't call functions through different function type.

Fixes:
```
src/win/udp.c:537:5: runtime error: call to function req_cb through pointer to incorrect function type 'void (*)(struct uv_udp_send_s *, int)'
test\test-ref.c:66: note: req_cb defined here
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/udp.c:537:5 in
```

* win: fix process-stdio.c ubsan failure

When accessing HANDLEs within the stdio buffer, use memcpy / memset in order to respect alignment.

Fixes:
```
src/win/process-stdio.c:197:5: runtime error: store to misaligned address 0x0230ee72d107 for type 'HANDLE' (aka 'void *'), which requires 8 byte alignment
0x0230ee72d107: note: pointer points here
00 00 cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd fd fd fd fd
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/process-stdio.c:197:5 in
```

* win: fix getaddrinfo.c ubsan failure

Reworks buffer alignment handling to respect requirements.

Fixes:
```
src/win/getaddrinfo.c:157:23: runtime error: member access within misaligned address 0x0290e4c6a17c for type 'struct addrinfo', which requires 8 byte alignment
0x0290e4c6a17c: note: pointer points here
00 00 00 00 cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd cd
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/getaddrinfo.c:157:23 in
```

* win: fix pipe.c ubsan failure

Changes "random" representation from pointer to number.

Fixes:
```
src/win/pipe.c:234:11: runtime error: applying non-zero offset to non-null pointer 0xffffffffffffffff produced null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/win/pipe.c:234:11 in
```

* unix: fix stream.c ubsan failure

Avoids performing pointer arithmetic on null pointer.

Fixes:
```
src/unix/stream.c:701:15: runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Users/runner/work/libuv/libuv/src/unix/stream.c:701:15 in
```

show more ...


# 63b22be0 29-Jul-2024 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

ci: bump actions/checkout to 4 (#4474)

Held back one due to https://github.com/libuv/libuv/pull/4451


# 9678211c 29-Jul-2024 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

ci: bump upload and download-artifact versions (#4473)


# 3f7191e5 05-Feb-2024 Brad King

win/spawn: optionally run executable paths with no file extension (#4292)

Add a process options flag to enable the optional behavior. Most users
are likely recommended to set this flag b

win/spawn: optionally run executable paths with no file extension (#4292)

Add a process options flag to enable the optional behavior. Most users
are likely recommended to set this flag by default, but it was deemed
potentially breaking to set it by default in libuv.

Co-authored-by: Kyle Edwards <kyle.edwards@kitware.com>

show more ...


# 535efdf3 21-Jan-2024 Jameson Nash

build: re-enable msvc-asan job on CI (#4289)


# f067f50a 10-Nov-2023 Ben Noordhuis

build: disable windows asan buildbot (#4215)

uv_run_tests.exe fails to start up with exit code 0xC0000135 a.k.a.
STATUS_DLL_NOT_FOUND, suggesting it cannot find the ASAN runtime
libr

build: disable windows asan buildbot (#4215)

uv_run_tests.exe fails to start up with exit code 0xC0000135 a.k.a.
STATUS_DLL_NOT_FOUND, suggesting it cannot find the ASAN runtime
libraries. Disable the buildbot until we figure out how to fix that.

Refs: https://github.com/libuv/libuv/issues/4210

show more ...


# 93efccf4 30-Oct-2023 Matheus Izvekov

build: add windows ubsan and clang ci (#4138)

Fixes a detected error: incompatible pointer to integer conversion
passing 'uv_os_fd_t' (aka 'void *') to parameter of type 'SOCKET' (aka

build: add windows ubsan and clang ci (#4138)

Fixes a detected error: incompatible pointer to integer conversion
passing 'uv_os_fd_t' (aka 'void *') to parameter of type 'SOCKET' (aka
'unsigned long long').

Use upstream llvm to work-around broken VS2022 clang unable to link.

show more ...


# 7b34154c 27-Oct-2023 Per Allansson <65364157+per-allansson@users.noreply.github.com>

build: add CI for Windows ARM64 (build only) (#4184)


# c70cc583 19-Jan-2023 Jameson Nash

build,win: add mingw-w64 CI configuration (#3885)

Co-authored-by: Nicolas Noble <pixel@nobis-crew.org>


# 1de43a1a 21-Oct-2022 Jameson Nash

build: support AddressSanitizer on MSVC (#3692)

Fixes: https://github.com/libuv/libuv/issues/3682


# abf201a8 22-Mar-2022 Jameson Nash

build: re-enable CI for windows changes (#3572)

I got the conditional reversed in https://github.com/libuv/libuv/pull/3564


# 8528c622 21-Mar-2022 Jameson Nash

build: filter CI by paths and branches (#3569)

Avoids some unnecessary CI work, particularly on forks, which would
often start a build on every push.