Conversation
69319a4 to
12efa5f
Compare
|
I can not merge it as CI does not pass https://github.com/openzim/libzim/actions/runs/13341527314/job/37276707142?pr=955 seems related to this PR |
|
Putting the error messages here to consolidate information. I'll spin up local containers to test this and add it to my local testing procedure while I investigate / put in a fix. I just find it strange that it works on apple arm, doesn't work on regular arm, works on local fedora (gcc and clang), works on focal(22.04LTS)/jammy(20.04LTS) ubuntu, but doesn't work on ubuntu noble(24.04). Spending some time on this and if I can't figure it out I'll take out the template / noexecpt version for the simpler one so we can move on. Packages / build-deb (ubuntu-noble) Linux (linux-aarch64-dyn, true) Edit: WRT the stringop-overread errors on ubuntu-noble: Solution: explicitly add nullptr checks to make the problem compiler happy. WRT the aarch64 errors: Solution: remove I'll apply the current candidate solutions, squash, and monitor the CI runs to see if that does the trick. |
12efa5f to
417976b
Compare
UBSan was complaining about std::memcmp being called with nullptr arguments even when the count == 0. This adds a "safe" wrapper that will just return 0 if the count is 0 or if either of the pointers are nullptr.
417976b to
e152b1d
Compare
|
@kelson42 I applied fixes but was unable to reproduce the errors locally. I need to spend some time fighting SELinux on my system. Would you mind kicking off another CI run to see if those fixes worked? Thanks. |
Making undefined behavior sanitizer happy with tinyString.h
Closes #954