[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-bugs
Subject:    [Bug 235320] usr.bin/units: What does this error message really mean: units: memory overflow in unit
From:       bugzilla-noreply () freebsd ! org
Date:       2019-01-30 13:41:59
Message-ID: bug-235320-227 () https ! bugs ! freebsd ! org/bugzilla/
[Download RAW message or body]

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@FreeBSD.org
          Reporter: 0mp@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 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.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic