[Bug 235320] usr.bin/units: What does this error message really mean: units: memory overflow in unit reduction

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jan 30 13:42:02 UTC 2019


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: bugs at FreeBSD.org
          Reporter: 0mp at FreeBSD.org

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 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 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.


More information about the freebsd-bugs mailing list