New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI regression from the new hashtable support #24272
Comments
we extract several values (uint16_t and uint64_t from the fuzzer buff passed in, but they weren't aligned on 2 and 8 byte boundaries. Adjust the fuzzer to use the proper offsets Fixes openssl#24272
we extract several values (uint16_t and uint64_t from the fuzzer buff passed in, but they weren't aligned on 2 and 8 byte boundaries. Adjust the fuzzer to memcpy data to the target variables to avoid unalignment issues Fixes openssl#24272
@nhorman Unfortunately the hppa cross-compile job is still not fixed: https://github.com/openssl/openssl/actions/runs/8893580037/job/24420072833 |
will look at it, need to get a local reproducer setup |
Notes: Whats more odd is that hppa is built without thread support, so its all single threaded, which eliminates race conditions as a possible source of the problem. Whats more odd is that, in this single threaded environment Whats more odd is that if I reduce the optimization level to -O1, the problem abates further reading shows that pa-risc has no hardware support for atomics, all atomic operations are by default implemented with the sync library, or optionally by libatomic. When using the latter several build errors are produced, so for now we appear stuck with the former I'm starting to wonder if perhaps we're seeing a issue with atomic operations on an old arch that isn't as well maintained anymore |
Hmm... I am wondering if we should just have much more simple fallback for atomics on no-thread builds? Of course another option is to just declare this platform unsupported and remove it from CI. |
Possibly. I'd like to better understand the issue before we make a decision, but yeah, I think both of those options are on the table. It's also feasible that this is a compiler issue. One of the options for hppas compiler is -mnoindex-loads, which eliminates the use of indexed addressing mode in loads/stores to which this problem seems related to. Will let you know |
I'm becoming increasingly convinced that this is a compiler bug. My observations so far:
Its also notable that this isn't a race condition as hppa build disables threading |
Then add -O1 or something else that fixes the issue here as workaround:
|
We're getting some odd errors in the lhash test on hppa. Analysis shows that the crash is happening randomly in various places, but always occurs during an indexed load of register r11 or r23. Root cause hasn't been completely determined, but given that: 1) hppa is an unadopted platform 2) asan/ubsan/threadsan shows no issues with the affected code elsewhere 3) The hppa build does not have threading enabled 4) reducing the optimization level to 01 quashes the problem The belief is that this is either a bug in gcc optimization, or an issue in the qemu emulator we use to test. Since this is causing CI failures, I'm proposing that we just lower the optimization level of the build to -01 to avoid the problem, and address it more throughly should an actual platform user encounter an error Fixes openssl#24272
2 CI on-push jobs have regressed.
run-checker (enable-asan enable-ubsan no-shared no-asm -DOPENSSL_SMALL_FOOTPRINT)
cross-compilation (hppa-linux-gnu, libc6-dev-hppa-cross, -static linux-generic32, no, -test_inclu...
The text was updated successfully, but these errors were encountered: