[prev in list] [next in list] [prev in thread] [next in thread]
List: cygwin
Subject: Re: Probable bug
From: Takashi Yano via Cygwin <cygwin () cygwin ! com>
Date: 2023-07-31 9:41:06
Message-ID: 20230731184106.90479ed81692c3c3a9fd41a9 () nifty ! ne ! jp
[Download RAW message or body]
On Sun, 30 Jul 2023 20:37:35 +0900
Takashi Yano wrote:
> On Sun, 30 Jul 2023 07:29:10 -0400
> Eliot Moss wrote:
> > On 7/30/2023 5:38 AM, natan_b--- via Cygwin wrote:
> > > Hi Guys
> > >
> > > very short.
> > >
> > > prog.c
> > >
> > > #include <stdio.h>
> > >
> > > int main()
> > > {
> > > float a=1.283;
> > > while(1)
> > > printf( "%f", a );
> > > }
> > >
> > > run with
> > > $ ./prog.exe >/dev/null
> > >
> > > in windows monitor process the process increase it's memory it arrive to many Gb.
> > > It's not a machine problem, other PC have same problem.
> > >
> > > Same program in wsl and MSYS2 works well!
> >
> > This probably has to do with output buffering, and may happen even without
> > the >/dev/null since there are no line ends in the output. It may work with
> > stdbuf -o0 (as in: stdbuf -o0 ./prog.exe >/dev/null) but may cause the program
> > to run more slowly (each character is sent to the device, when then immediately
> > discards it). It would seem you're hoping for the internal libraries to
> > recognize the case of writing to /dev/null ...
>
> I also suspected that, however, it was not correct.
>
> while (1) sprintf(buf, "%f\n", a);
>
> has the same problem. :-(
I looked into this problem, and found the cause.
This is the serious bug in the commit:
commit a4705d387f7874f9a5de3ee67861773a17691643
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date: Wed Dec 1 06:11:32 2021 +0900
ldtoa: Import gdtoa from OpenBSD.
- This patch uses gdtoa imported from OpenBSD if newlib configure
option "--enable-newlib-use-gdtoa=no" is NOT specified. gdtoa
provides more accurate output and faster conversion than legacy
ldtoa, while it requires more heap memory.
Please let me consider how to fix that.
--
Takashi Yano <takashi.yano@nifty.ne.jp>
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic