On 2026-10-15 08:25 UTC Arturo Bernal wrote:
> Hi,
> 
> ap_size_parameter_parse() (added in #829) and the LimitXMLRequestBody test
> from #825 depend on how strtoll() handles input containing no digits at
> all, such as "abc", "+", or "-".
> 
> glibc does not set errno in this case, while FreeBSD libc and musl set
> EINVAL, which apr_strtoff() propagates.
> 
> The configuration is rejected either way, but on those systems
> ap_size_parameter_parse() returned APR_ERANGE instead of APR_EINVAL,
> contrary to its documented contract, and test_core_010_002 fails.
> 
> I verified this on a FreeBSD 14.5 VM, where test_core_010_002 fails for
> abc123, "+", and "-", and on Alpine 3.17, where apr_strtoff() returns EINVAL
> for the same kind of no-conversion input.
> 
> The fix is in #848; it also incorporates the #847 change to use the common
> parser for LimitXMLRequestBody.
> 
> Our CI currently builds on Ubuntu/glibc and Windows, so it cannot catch
> this kind of libc difference. Would there be interest in adding a job that
> builds trunk on Alpine/musl in a container and runs at least the core
> pytest suite?
> 
> FreeBSD would require a VM and is probably not worth the additional CI cost.
> 
> If people agree, I can prepare a separate PR for linux.yml once these fixes
> are in.


Have you checked:
* https://github.com/marketplace/actions/freebsd-vm
* https://github.com/figma/actions-freebsd-vm

Reply via email to