-
Notifications
You must be signed in to change notification settings - Fork 34
Open
Description
When updated our Github Actions CI, I added GCC 12 and 13 (both using Ubuntu 24.04) and the pread() tests started failing, while still passing for GCC 9, 10, and 11.
The tests are here:
Lines 322 to 338 in c44d052
| /* Read data from file, starting at size 1 KiB, up to full file size */ | |
| errno = 0; | |
| buf = malloc(global); | |
| err = errno; | |
| ok(NULL != buf, | |
| "%s:%d malloc(%zu) read buffer succeeds (errno=%d): %s", | |
| __FILE__, __LINE__, global, err, strerror(err)); | |
| if (NULL != buf) { | |
| for (size_t sz = 1024; sz <= global; sz *= 2) { | |
| errno = 0; | |
| szrc = pread(fd, buf, sz, 0); | |
| err = errno; | |
| ok(szrc == sz && err == 0, | |
| "%s:%d pread(fd=%d, sz=%zu) rc=%zd: %s", | |
| __FILE__, __LINE__, fd, sz, szrc, strerror(err)); | |
| } | |
| free(buf); |
Below are the results.
GCC 12
Build: https://github.com/CamStan/UnifyFS/actions/runs/17742379589/job/50419335701
FAIL: 0100-sysio-gotcha.t 174 - sys/write-read.c:336 pread(fd=65536, sz=1024) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 175 - sys/write-read.c:336 pread(fd=65536, sz=2048) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 176 - sys/write-read.c:336 pread(fd=65536, sz=4096) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 177 - sys/write-read.c:336 pread(fd=65536, sz=8192) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 178 - sys/write-read.c:336 pread(fd=65536, sz=16384) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 179 - sys/write-read.c:336 pread(fd=65536, sz=32768) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 180 - sys/write-read.c:336 pread(fd=65536, sz=65536) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 181 - sys/write-read.c:336 pread(fd=65536, sz=131072) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 182 - sys/write-read.c:336 pread(fd=65536, sz=262144) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 183 - sys/write-read.c:336 pread(fd=65536, sz=524288) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 184 - sys/write-read.c:336 pread(fd=65536, sz=1048576) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 185 - sys/write-read.c:336 pread(fd=65536, sz=2097152) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 186 - sys/write-read.c:336 pread(fd=65536, sz=4194304) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 187 - sys/write-read.c:336 pread(fd=65536, sz=8388608) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 188 - sys/write-read.c:336 pread(fd=65536, sz=16777216) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 189 - sys/write-read.c:336 pread(fd=65536, sz=33554432) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 190 - sys/write-read.c:336 pread(fd=65536, sz=67108864) rc=-1: Bad file descriptor
...
not ok 174 - sys/write-read.c:336 pread(fd=65536, sz=1024) rc=-1: Bad file descriptor
FAIL: 0100-sysio-gotcha.t 174 - sys/write-read.c:336 pread(fd=65536, sz=1024) rc=-1: Bad file descriptor
# Failed test 'sys/write-read.c:336 pread(fd=65536, sz=1024) rc=-1: Bad file descriptor'
# at sys/write-read.c line 334.
...
GCC 11
PASS: 0100-sysio-gotcha.t 174 - sys/write-read.c:336 pread(fd=65536, sz=1024) rc=1024: Success
PASS: 0100-sysio-gotcha.t 175 - sys/write-read.c:336 pread(fd=65536, sz=2048) rc=2048: Success
PASS: 0100-sysio-gotcha.t 176 - sys/write-read.c:336 pread(fd=65536, sz=4096) rc=4096: Success
PASS: 0100-sysio-gotcha.t 177 - sys/write-read.c:336 pread(fd=65536, sz=8192) rc=8192: Success
PASS: 0100-sysio-gotcha.t 178 - sys/write-read.c:336 pread(fd=65536, sz=16384) rc=16384: Success
PASS: 0100-sysio-gotcha.t 179 - sys/write-read.c:336 pread(fd=65536, sz=32768) rc=32768: Success
PASS: 0100-sysio-gotcha.t 180 - sys/write-read.c:336 pread(fd=65536, sz=65536) rc=65536: Success
PASS: 0100-sysio-gotcha.t 181 - sys/write-read.c:336 pread(fd=65536, sz=131072) rc=131072: Success
PASS: 0100-sysio-gotcha.t 182 - sys/write-read.c:336 pread(fd=65536, sz=262144) rc=262144: Success
PASS: 0100-sysio-gotcha.t 183 - sys/write-read.c:336 pread(fd=65536, sz=524288) rc=524288: Success
PASS: 0100-sysio-gotcha.t 184 - sys/write-read.c:336 pread(fd=65536, sz=1048576) rc=1048576: Success
PASS: 0100-sysio-gotcha.t 185 - sys/write-read.c:336 pread(fd=65536, sz=2097152) rc=2097152: Success
PASS: 0100-sysio-gotcha.t 186 - sys/write-read.c:336 pread(fd=65536, sz=4194304) rc=4194304: Success
PASS: 0100-sysio-gotcha.t 187 - sys/write-read.c:336 pread(fd=65536, sz=8388608) rc=8388608: Success
PASS: 0100-sysio-gotcha.t 188 - sys/write-read.c:336 pread(fd=65536, sz=16777216) rc=16777216: Success
PASS: 0100-sysio-gotcha.t 189 - sys/write-read.c:336 pread(fd=65536, sz=33554432) rc=33554432: Success
PASS: 0100-sysio-gotcha.t 190 - sys/write-read.c:336 pread(fd=65536, sz=67108864) rc=67108864: Success
...
2025-09-15T16:55:49 tid=61715 @ invoke_client_mread_rpc() [margo_client.c:875] Got response ret=0
2025-09-15T16:55:49 tid=61715 @ process_gfid_reads() [client_read.c:791] waiting for completion of mread[5]
2025-09-15T16:55:49 tid=61732 @ unifyfs_mread_req_data_rpc() [margo_client.c:1114] updated coverage for mread[5] request 0
2025-09-15T16:55:49 tid=61732 @ unifyfs_mread_req_data_rpc() [margo_client.c:1130] responding
2025-09-15T16:55:49 tid=61732 @ client_update_mread_request() [client_read.c:183] updating mread[5] status for request 0 of 1 (n_complete=1, n_error=0)
2025-09-15T16:55:49 tid=61732 @ client_update_mread_request() [client_read.c:198] mread[5] completed 1 requests
2025-09-15T16:55:49 tid=61732 @ unifyfs_mread_req_complete_rpc() [margo_client.c:1182] responding
2025-09-15T16:55:49 tid=61715 @ process_gfid_reads() [client_read.c:821] mread[5] wait completed - 1 requests, 0 errors
2025-09-15T16:55:49 tid=61715 @ process_gfid_reads() [client_read.c:830] mread[5] server request 0:
2025-09-15T16:55:49 tid=61715 @ debug_print_read_req() [client_read.c:21] read_req[0x7ffccc374670] gfid=1510631908, file offset=0, length=2048, buf=0x7f1263fff010 - nread=2048, errcode=115 (Operation now in progress), byte coverage=[0,2047]
2025-09-15T16:55:49 tid=61715 @ unifyfs_intercept_fd() [posix_client.c:301] Changing fd from exposed 65536 to internal 0
2025-09-15T16:55:49 tid=61715 @ __wrap_pread() [unifyfs-sysio.c:2062] pread - fd=0 offset=0 count=4096
2025-09-15T16:55:49 tid=61715 @ process_gfid_reads() [client_read.c:771] mread[6]: n_reqs=1, reqs(0x7ffccc374670)
2025-09-15T16:55:49 tid=61715 @ invoke_client_mread_rpc() [margo_client.c:861] invoking the mread rpc function in client
ok 174 - sys/write-read.c:336 pread(fd=65536, sz=1024) rc=1024: Success
PASS: 0100-sysio-gotcha.t 174 - sys/write-read.c:336 pread(fd=65536, sz=1024) rc=1024: Success
...
Metadata
Metadata
Assignees
Labels
No labels