https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235320
Bug ID: 235320
Summary: usr.bin/units: What does this error message really
mean: units: memory overflow in unit reduction
Product: Base System
Version: 11.2-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: [email protected]
Reporter: [email protected]
I use the following one-liner to test:
> sh -c 'units "$(yes m | head -n "$1")" "$(yes cm | head -n "$1")"' sh $N
When N is at most 154 then units(1) handles the conversion as expected. For
example, for N=154:
> * 1e+308
> / 1e-308
For N from 155 to 333 the output is as follows:
> * inf
> / 0
While for N from 334 to 500 the output seems a little bit broken. Here is the
output of N=500:
> units: memory overflow in unit reduction
> conformability error
> 1 m^334
> 0 centi m centi m centi m centi m centi m centi m centi m centi m
> centi m centi m centi m centi m centi m centi m centi m centi m centi m centi
> m centi m centi m centi m centi m centi m centi m centi m centi m centi m
> centi m centi m centi m centi m centi m centi m centi m centi m centi m centi
> m centi m centi m centi m centi m centi m centi m centi m centi m centi m
> centi m centi m centi m centi m centi m centi m centi m centi m centi m centi
> m centi m centi m centi m centi m centi m centi m centi m centi m centi m
> centi m centi m centi m centi m centi m centi m centi m centi m centi m centi
> m centi m centi m centi m centi m centi m centi m centi m centi m centi m
> centi m centi m centi m centi m centi m centi m centi m centi m centi m centi
> m centi m centi m centi m centi m centi m centi m centi m centi m centi m
> centi m centi m centi m centi m centi m centi m centi m centi m centi m centi
> m centi m centi m centi m centi m centi m centi m centi m centi m centi m
> centi m ce
nti m centi m centi m centi m centi m centi m centi m centi m centi m centi m
centi m centi m centi m centi m centi m centi m centi m centi m centi m centi m
centi m centi m centi m centi m centi m centi m centi m centi m centi m centi m
centi m centi m centi m centi m centi m centi m centi m centi m centi m centi m
centi m centi m centi m centi cm m^166
For N >= 501 the output is:
> units: memory overflow in unit reduction
> units: memory overflow in unit reduction
> units: memory overflow in unit reduction
> conformability error
> 1 m^500
> 1 centi cm^499
I'd like to document this behavior but I am not sure what really is expected to
happen in those edge cases.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"