View Problem Report: 12070
Audit Trail:
From: Laurent <laurent.orseau@gmail.com>
To: bugs@racket-lang.org, bug-notification@racket-lang.org
Cc:
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Thu, 21 Jul 2011 12:05:15 +0200
--bcaec54306e871612f04a8917dbc
Content-Type: text/plain; charset=ISO-8859-1
This bug doesn't appear to happen in 5.1.1
--bcaec54306e871612f04a8917dbc
Content-Type: text/html; charset=ISO-8859-1
This bug doesn't appear to happen in 5.1.1<br>
--bcaec54306e871612f04a8917dbc--
From: Robby Findler <robby@eecs.northwestern.edu>
To: laurent.orseau@gmail.com, bugs@racket-lang.org
Cc: nobody@racket-lang.org, bug-notification@racket-lang.org
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Thu, 21 Jul 2011 06:33:43 -0500
FWIW, I don't see this; it may be possible that your drracket's heap
got corrupted by some other bug that led to this (strange) behavior.
Do you see it from a fresh drracket (where you actually exit the
process and start a new one)?
Robby
On Thu, Jul 21, 2011 at 3:36 AM, <laurent.orseau@gmail.com> wrote:
> A new problem report is waiting at
> http://bugs.racket-lang.org/query/?cmd=view&pr=12070
>
> Reported by Laurent Orseau for release: 5.1.2.3--2011-07-18(5efe700/a)
>
> *** Description:
> Hi,
>
> In some cases, some floating point operations return 0.0 instead of the correct result.
>
> Follow this exact sequence:
> 1) Close all DrRacket windows
> 2) Open a new DrRacket window
> 3) Type the following program:
> #lang racket
> (* 95 .33)
>
> 4) Evaluate. On my screen, this displays 0.0!
> 5) After the last line, add "33.33"
> 6) Evaluate. You should see :
> 0.0
> 33.33
> 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after 95)
> 8) Evaluate. You should see:
> 31.35
> 33.33
>
> From now on in this DrRacket session, there should be no further miscalculations.
>
> This is a very strange behavior.
>
> Good luck!
> Laurent
>
> *** How to repeat:
>
>
> *** Environment:
> unix "Linux laurent-desktop 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 athlon i386 GNU/Linux" (i386-linux/3m) (get-display-depth) = 32
> Human Language: french
> (current-memory-use) 132653224
>
> Collections:
> ("/home/laurent/.racket/5.1.2.3/collects"
> (non-existent-path))
> ("/usr/racket-5.1.2.3/collects"
> ("scribblings" "setup" "mred" "combinator-parser" "teachpack" "s-exp" "eopl" "framework" "ffi" "make" "sgl" "reader" "macro-debugger" "raco" "datalog" "scriblib" "test-box-recovery" "icons" "defaults" "2htdp" "errortrace" "picturing-programs" "rnrs" "launcher" "lazy" "test-engine" "dynext" "at-exp" "lang" "parser-tools" "mzcom" "browser" "scribble" "algol60" "unstable" "xml" "hierlist" "preprocessor" "syntax" "slideshow" "file" "racket" "openssl" "wxme" "plot" "info-domain" "r5rs" "graphics" "games" "frtime" "rackunit" "gui-debugger" "trace" "mzscheme" "redex" "texpict" "version" "net" "htdp" "racklog" "syntax-color" "plai" "drracket" "help" "stepper" "config" "readline" "data" "web-server" "srfi" "embedded-gui" "tex2page" "mrlib" "planet" "mzlib" "mysterx" "xrepl" "string-constants" "profile" "scheme" "html" "typed" "r6rs" "typed-scheme" "slatex" "swindle" "drscheme" "deinprogramm" "repo-time-stamp" "schemeunit" "compiler"))
>
> Computer Language: (("Déterminer le langage à partir du code source") (#(#t print mixed-fraction-e #f #t none) (default) #() "#lang racket\n" #t #t))
>
>
From: Robby Findler <robby@eecs.northwestern.edu>
To: Laurent <laurent.orseau@gmail.com>
Cc: Matthew Flatt <mflatt@cs.utah.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Thu, 21 Jul 2011 06:38:28 -0500
Neato (cc'ing Matthew and the bug system).
On Thu, Jul 21, 2011 at 6:36 AM, Laurent <laurent.orseau@gmail.com> wrote:
> Yes, it happens from fresh process. In fact, it *only* happens in a fresh
> process, because afterwards it works normally.
> I also reinstalled the new nightly in a different directory, and I see the
> same behavior.
>
> On Thu, Jul 21, 2011 at 13:33, Robby Findler <robby@eecs.northwestern.edu>
> wrote:
>>
>> FWIW, I don't see this; it may be possible that your drracket's heap
>> got corrupted by some other bug that led to this (strange) behavior.
>> Do you see it from a fresh drracket (where you actually exit the
>> process and start a new one)?
>>
>> Robby
From: Matthew Flatt <mflatt@cs.utah.edu>
To: Robby Findler <robby@eecs.northwestern.edu>
Cc: Laurent <laurent.orseau@gmail.com>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Thu, 21 Jul 2011 14:13:53 -0600
I haven't been able to replicate the problem on my machine.
Can you tell whether it's an arithmetic bug or a printing bug? Does
(define x (* 99 0.33))
x
(zero? x)
print 0.0? And if so, does it show #t or #f after?
From: Laurent <laurent.orseau@gmail.com>
To: Matthew Flatt <mflatt@cs.utah.edu>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Thu, 21 Jul 2011 22:21:40 +0200
--bcaec520f257ea9af404a89a1923
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
On Thu, Jul 21, 2011 at 22:13, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> I haven't been able to replicate the problem on my machine.
>
> Can you tell whether it's an arithmetic bug or a printing bug? Does
>
> (define x (* 99 0.33))
> x
> (zero? x)
>
> print 0.0? And if so, does it show #t or #f after?
>
Output:
Bienvenue dans DrRacket, version 5.1.2.3--2011-07-19(d9ae1d0/a) [3m].
Langage: racket [personnalis=E9]; memory limit: 128 MB.
0.0
#t
>
But now there is something very weird... I still have 5.1.1.2, and I have
run this version too.
There too I see the bug.
So the problem is very likely to be on my machine only.
But I really don't see where that comes from!
Any guess? Some common library?
Thanks,
Laurent
--bcaec520f257ea9af404a89a1923
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<div class=3D"gmail_quote">On Thu, Jul 21, 2011 at 22:13, Matthew Flatt <sp=
an dir=3D"ltr"><<a href=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu=
</a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I haven't been able to replicate the problem on my machine.<br>
<br>
Can you tell whether it's an arithmetic bug or a printing bug? Does<br>
<br>
=A0(define x (* 99 0.33))<br>
=A0x<br>
=A0(zero? x)<br>
<br>
print 0.0? And if so, does it show #t or #f after?<br></blockquote><div><br=
>Output:<br><br>Bienvenue dans DrRacket, version 5.1.2.3--2011-07-19(d9ae1d=
0/a) [3m].<br>Langage: racket [personnalis=E9]; memory limit: 128 MB.<br>
0.0<br>#t<br>>=A0 <br><br><br>But now there is something very weird... I=
still have 5.1.1.2, and I have run this version too.<br>There too I see th=
e bug.<br>So the problem is very likely to be on my machine only.<br>But I =
really don't see where that comes from!<br>
<br>Any guess? Some common library?<br><br>Thanks,<br>Laurent<br></div></di=
v>
--bcaec520f257ea9af404a89a1923--
From: Matthew Flatt <mflatt@cs.utah.edu>
To: Laurent <laurent.orseau@gmail.com>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Thu, 21 Jul 2011 15:54:30 -0600
At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> But now there is something very weird... I still have 5.1.1.2, and I have
> run this version too.
> There too I see the bug.
I think we turned on places between version 5.1.1 and 5.1.1.2.
What happens if you build with `--disable-places'?
You should be able to use a binary built with `--disable-places' with
the rest of your existing 5.1.2.3 build. Make a fresh build directory
for `configure' and `make', and then start DrRacket with
racket/racket3m -l drracket
If your installation isn't an in-place build, add a -X flag to the
command line:
racket/racket3m -X <prefix>/collects -l drracket
From: Laurent <laurent.orseau@gmail.com>
To: Matthew Flatt <mflatt@cs.utah.edu>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Fri, 22 Jul 2011 11:33:05 +0200
--bcaec520f2573e5e4404a8a52848
Content-Type: text/plain; charset=ISO-8859-1
On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> > But now there is something very weird... I still have 5.1.1.2, and I have
> > run this version too.
> > There too I see the bug.
>
Also tested with 5.1.0.3 and it's buggy too...
>
> I think we turned on places between version 5.1.1 and 5.1.1.2.
>
> What happens if you build with `--disable-places'?
>
>
> You should be able to use a binary built with `--disable-places' with
> the rest of your existing 5.1.2.3 build. Make a fresh build directory
> for `configure' and `make', and then start DrRacket with
>
> racket/racket3m -l drracket
>
same bug.
Laurent
--bcaec520f2573e5e4404a8a52848
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<br><br><div class=3D"gmail_quote">On Thu, Jul 21, 2011 at 23:54, Matthew F=
latt <span dir=3D"ltr"><<a href=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.=
utah.edu</a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class=3D"im">At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:<br>
> But now there is something very weird... I still have 5.1.1.2, and I h=
ave<br>
> run this version too.<br>
> There too I see the bug.<br></div></blockquote><div><br>Also tested wi=
th 5.1.0.3 and it's buggy too... <br>=A0</div><blockquote class=3D"gmai=
l_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204=
, 204, 204); padding-left: 1ex;">
<div class=3D"im">
<br>
</div>I think we turned on places between version 5.1.1 and 5.1.1.2.<br>
<br>
What happens if you build with `--disable-places'?<br>
<br>
<br>
You should be able to use a binary built with `--disable-places' with<b=
r>
the rest of your existing 5.1.2.3 build. Make a fresh build directory<br>
for `configure' and `make', and then start DrRacket with<br>
<br>
=A0racket/racket3m -l drracket<br></blockquote><div><br>same bug.<br><br>L=
aurent</div></div>
--bcaec520f2573e5e4404a8a52848--
From: Matthew Flatt <mflatt@cs.utah.edu>
To: Laurent <laurent.orseau@gmail.com>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Fri, 22 Jul 2011 07:04:18 -0600
Does disabling the JIT have any effect? (You can set the PLTNOMZJIT
environment variable.)
My only guess at the moment is that the JIT is mangling the FP stack. I
don't think the JIT evaluates the `(* 99 0.33)' expression, because it
should be constant-folded away, but other JIT-generated code could
break non-JIT calculations by leaving the x87 FP stack in a bad state.
At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
> On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <mflatt@cs.utah.edu> wrote:
>
> > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> > > But now there is something very weird... I still have 5.1.1.2, and I have
> > > run this version too.
> > > There too I see the bug.
> >
>
> Also tested with 5.1.0.3 and it's buggy too...
>
>
> >
> > I think we turned on places between version 5.1.1 and 5.1.1.2.
> >
> > What happens if you build with `--disable-places'?
> >
> >
> > You should be able to use a binary built with `--disable-places' with
> > the rest of your existing 5.1.2.3 build. Make a fresh build directory
> > for `configure' and `make', and then start DrRacket with
> >
> > racket/racket3m -l drracket
> >
>
> same bug.
>
> Laurent
From: Laurent <laurent.orseau@gmail.com>
To: Matthew Flatt <mflatt@cs.utah.edu>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Tue, 16 Aug 2011 10:12:11 +0200
--001517503e82f5f52d04aa9af005
Content-Type: text/plain; charset=ISO-8859-1
Hi,
Sorry for the delay. I've downloaded v5.1.3.1, and the problem remains.
Tried disabling the JIT, but still not better (although one trial worked
correctly, the next one didn't).
Maybe the problems lies in the parts that are not freshly reinstalled each
time, like planet packages or the like?
Laurent
On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> Does disabling the JIT have any effect? (You can set the PLTNOMZJIT
> environment variable.)
>
> My only guess at the moment is that the JIT is mangling the FP stack. I
> don't think the JIT evaluates the `(* 99 0.33)' expression, because it
> should be constant-folded away, but other JIT-generated code could
> break non-JIT calculations by leaving the x87 FP stack in a bad state.
>
> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> >
> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> > > > But now there is something very weird... I still have 5.1.1.2, and I
> have
> > > > run this version too.
> > > > There too I see the bug.
> > >
> >
> > Also tested with 5.1.0.3 and it's buggy too...
> >
> >
> > >
> > > I think we turned on places between version 5.1.1 and 5.1.1.2.
> > >
> > > What happens if you build with `--disable-places'?
> > >
> > >
> > > You should be able to use a binary built with `--disable-places' with
> > > the rest of your existing 5.1.2.3 build. Make a fresh build directory
> > > for `configure' and `make', and then start DrRacket with
> > >
> > > racket/racket3m -l drracket
> > >
> >
> > same bug.
> >
> > Laurent
>
--001517503e82f5f52d04aa9af005
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hi,<br><br>Sorry for the delay. I've downloaded v5.1.3.1, and the probl=
em remains.<br>Tried disabling the JIT, but still not better (although one =
trial worked correctly, the next one didn't).<br><br>Maybe the problems=
lies in the parts that are not freshly reinstalled each time, like planet =
packages or the like?<br>
<br>Laurent<br><br><div class=3D"gmail_quote">On Fri, Jul 22, 2011 at 15:04=
, Matthew Flatt <span dir=3D"ltr"><<a href=3D"mailto:mflatt@cs.utah.edu"=
>mflatt@cs.utah.edu</a>></span> wrote:<br><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;=
">
Does disabling the JIT have any effect? (You can set the PLTNOMZJIT<br>
environment variable.)<br>
<br>
My only guess at the moment is that the JIT is mangling the FP stack. I<br>
don't think the JIT evaluates the `(* 99 0.33)' expression, because=
it<br>
should be constant-folded away, but other JIT-generated code could<br>
break non-JIT calculations by leaving the x87 FP stack in a bad state.<br>
<div><div></div><div class=3D"h5"><br>
At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<br>
> On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <<a href=3D"mailto:mfl=
att@cs.utah.edu">mflatt@cs.utah.edu</a>> wrote:<br>
><br>
> > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:<br>
> > > But now there is something very weird... I still have 5.1.1.=
2, and I have<br>
> > > run this version too.<br>
> > > There too I see the bug.<br>
> ><br>
><br>
> Also tested with 5.1.0.3 and it's buggy too...<br>
><br>
><br>
> ><br>
> > I think we turned on places between version 5.1.1 and 5.1.1.2.<br=
>
> ><br>
> > What happens if you build with `--disable-places'?<br>
> ><br>
> ><br>
> > You should be able to use a binary built with `--disable-places&#=
39; with<br>
> > the rest of your existing 5.1.2.3 build. Make a fresh build direc=
tory<br>
> > for `configure' and `make', and then start DrRacket with<=
br>
> ><br>
> > =A0racket/racket3m -l drracket<br>
> ><br>
><br>
> same bug.<br>
><br>
> Laurent<br>
</div></div></blockquote></div><br>
--001517503e82f5f52d04aa9af005--
From: Laurent <laurent.orseau@gmail.com>
To: Matthew Flatt <mflatt@cs.utah.edu>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Wed, 24 Aug 2011 11:33:55 +0200
--000e0cd15666fca6eb04ab3d034f
Content-Type: text/plain; charset=ISO-8859-1
The initial report was:
> Follow this exact sequence:
> 1) Close all DrRacket windows
> 2) Open a new DrRacket window
> 3) Type the following program:
> #lang racket
> (* 95 .33)
>
> 4) Evaluate. On my screen, this displays 0.0!
> 5) After the last line, add "33.33"
> 6) Evaluate. You should see :
> 0.0
> 33.33
> 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after 95)
> 8) Evaluate. You should see:
> 31.35
> 33.33
>
which has a 2 mistakes (and I *did* check several times!), corrected in red:
Follow this exact sequence:
1) Close all DrRacket windows
2) Open a new DrRacket window
3) Type the following program:
#lang racket
(* 95 .33)
4) Evaluate. On my screen, this displays 0.0!
5) After the last line, add "33.33"
6) Evaluate. You should see :
0.0
33.0
7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a . after 95)
8) Evaluate. You should see:
31.35
33.33
Maybe this makes more sense.
I also updated my system, installed 5.3.3, but nothing has changed.
Have you got any other similar report?
Laurent
On Tue, Aug 16, 2011 at 10:12, Laurent <laurent.orseau@gmail.com> wrote:
> Hi,
>
> Sorry for the delay. I've downloaded v5.1.3.1, and the problem remains.
> Tried disabling the JIT, but still not better (although one trial worked
> correctly, the next one didn't).
>
> Maybe the problems lies in the parts that are not freshly reinstalled each
> time, like planet packages or the like?
>
> Laurent
>
>
> On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <mflatt@cs.utah.edu> wrote:
>
>> Does disabling the JIT have any effect? (You can set the PLTNOMZJIT
>> environment variable.)
>>
>> My only guess at the moment is that the JIT is mangling the FP stack. I
>> don't think the JIT evaluates the `(* 99 0.33)' expression, because it
>> should be constant-folded away, but other JIT-generated code could
>> break non-JIT calculations by leaving the x87 FP stack in a bad state.
>>
>> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
>> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <mflatt@cs.utah.edu>
>> wrote:
>> >
>> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
>> > > > But now there is something very weird... I still have 5.1.1.2, and I
>> have
>> > > > run this version too.
>> > > > There too I see the bug.
>> > >
>> >
>> > Also tested with 5.1.0.3 and it's buggy too...
>> >
>> >
>> > >
>> > > I think we turned on places between version 5.1.1 and 5.1.1.2.
>> > >
>> > > What happens if you build with `--disable-places'?
>> > >
>> > >
>> > > You should be able to use a binary built with `--disable-places' with
>> > > the rest of your existing 5.1.2.3 build. Make a fresh build directory
>> > > for `configure' and `make', and then start DrRacket with
>> > >
>> > > racket/racket3m -l drracket
>> > >
>> >
>> > same bug.
>> >
>> > Laurent
>>
>
>
--000e0cd15666fca6eb04ab3d034f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
The initial report was:<br><blockquote style=3D"margin: 0pt 0pt 0pt 0.8ex; =
border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class=3D"gma=
il_quote"><tt>Follow this exact sequence:</tt><br><tt>
1) Close all DrRacket windows</tt><br><tt>
2) Open a new DrRacket window</tt><br><tt>
3) Type the following program:</tt><br><tt>
#lang racket </tt><br><tt>
(* 95 .33)</tt><br><tt>
</tt><br><tt>
4) Evaluate. On my screen, this displays 0.0!</tt><br><tt>
5) After the last line, add "33.33"</tt><br><tt>
6) Evaluate. You should see :</tt><br><tt>
0.0</tt><br><tt>
33.33</tt><br><tt>
7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after 95)</tt>=
<br><tt>
8) Evaluate. You should see:</tt><br><tt>
31.35</tt><br><tt>
33.33</tt><br></blockquote><br>which has a 2 mistakes (and I *did* check se=
veral times!), corrected in red:<br><br><tt>Follow this exact sequence:<br>
1) Close all DrRacket windows<br>
2) Open a new DrRacket window<br>
3) Type the following program:<br>
#lang racket <br>
(* 95 .33)<br>
<br>
4) Evaluate. On my screen, this displays 0.0!<br>
5) After the last line, add "33.33"<br>
6) Evaluate. You should see :<br>
0.0<br>
33.<span style=3D"color: rgb(255, 0, 0);">0</span><br>
7) Modify the (* 95 .33) line into (* 95<b><span style=3D"color: rgb(255, 0=
, 0);">.</span></b> .33). (just add a . after 95)<br>
8) Evaluate. You should see:<br>
31.35<br>
33.33</tt><br><br>Maybe this makes more sense.<br><br>I also updated my sys=
tem, installed 5.3.3, but nothing has changed.<br><br>Have you=A0 got any o=
ther similar report?<br><br>Laurent<br><br><br><div class=3D"gmail_quote">
On Tue, Aug 16, 2011 at 10:12, Laurent <span dir=3D"ltr"><<a href=3D"mai=
lto:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>></span> wrote=
:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex;">
Hi,<br><br>Sorry for the delay. I've downloaded v5.1.3.1, and the probl=
em remains.<br>Tried disabling the JIT, but still not better (although one =
trial worked correctly, the next one didn't).<br><br>Maybe the problems=
lies in the parts that are not freshly reinstalled each time, like planet =
packages or the like?<br>
<font color=3D"#888888">
<br>Laurent</font><div><div></div><div class=3D"h5"><br><br><div class=3D"g=
mail_quote">On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <span dir=3D"ltr">=
<<a href=3D"mailto:mflatt@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.=
edu</a>></span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Does disabling the JIT have any effect? (You can set the PLTNOMZJIT<br>
environment variable.)<br>
<br>
My only guess at the moment is that the JIT is mangling the FP stack. I<br>
don't think the JIT evaluates the `(* 99 0.33)' expression, because=
it<br>
should be constant-folded away, but other JIT-generated code could<br>
break non-JIT calculations by leaving the x87 FP stack in a bad state.<br>
<div><div></div><div><br>
At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<br>
> On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <<a href=3D"mailto:mfl=
att@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>> wrote:<br>
><br>
> > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:<br>
> > > But now there is something very weird... I still have 5.1.1.=
2, and I have<br>
> > > run this version too.<br>
> > > There too I see the bug.<br>
> ><br>
><br>
> Also tested with 5.1.0.3 and it's buggy too...<br>
><br>
><br>
> ><br>
> > I think we turned on places between version 5.1.1 and 5.1.1.2.<br=
>
> ><br>
> > What happens if you build with `--disable-places'?<br>
> ><br>
> ><br>
> > You should be able to use a binary built with `--disable-places&#=
39; with<br>
> > the rest of your existing 5.1.2.3 build. Make a fresh build direc=
tory<br>
> > for `configure' and `make', and then start DrRacket with<=
br>
> ><br>
> > =A0racket/racket3m -l drracket<br>
> ><br>
><br>
> same bug.<br>
><br>
> Laurent<br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>
--000e0cd15666fca6eb04ab3d034f--
From: Matthew Flatt <mflatt@cs.utah.edu>
To: Laurent <laurent.orseau@gmail.com>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Wed, 24 Aug 2011 05:25:18 -0600
Thanks for the update. Unforutnately, I still haven't been able to
replicate the behavior. We've had no similar reports so far.
Does your gcc use 387 or SSE instruction for floating point by default?
If you set CFLAGS to either -mfpmath=387 or -mfpmath=sse to switch from
the default, does it change the behavior?
At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:
> The initial report was:
>
> > Follow this exact sequence:
> > 1) Close all DrRacket windows
> > 2) Open a new DrRacket window
> > 3) Type the following program:
> > #lang racket
> > (* 95 .33)
> >
> > 4) Evaluate. On my screen, this displays 0.0!
> > 5) After the last line, add "33.33"
> > 6) Evaluate. You should see :
> > 0.0
> > 33.33
> > 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after 95)
> > 8) Evaluate. You should see:
> > 31.35
> > 33.33
> >
>
> which has a 2 mistakes (and I *did* check several times!), corrected in red:
>
> Follow this exact sequence:
> 1) Close all DrRacket windows
> 2) Open a new DrRacket window
> 3) Type the following program:
> #lang racket
> (* 95 .33)
>
> 4) Evaluate. On my screen, this displays 0.0!
> 5) After the last line, add "33.33"
> 6) Evaluate. You should see :
> 0.0
> 33.0
> 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a . after 95)
> 8) Evaluate. You should see:
> 31.35
> 33.33
>
> Maybe this makes more sense.
>
> I also updated my system, installed 5.3.3, but nothing has changed.
>
> Have you got any other similar report?
>
> Laurent
>
>
> On Tue, Aug 16, 2011 at 10:12, Laurent <laurent.orseau@gmail.com> wrote:
>
> > Hi,
> >
> > Sorry for the delay. I've downloaded v5.1.3.1, and the problem remains.
> > Tried disabling the JIT, but still not better (although one trial worked
> > correctly, the next one didn't).
> >
> > Maybe the problems lies in the parts that are not freshly reinstalled each
> > time, like planet packages or the like?
> >
> > Laurent
> >
> >
> > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> >
> >> Does disabling the JIT have any effect? (You can set the PLTNOMZJIT
> >> environment variable.)
> >>
> >> My only guess at the moment is that the JIT is mangling the FP stack. I
> >> don't think the JIT evaluates the `(* 99 0.33)' expression, because it
> >> should be constant-folded away, but other JIT-generated code could
> >> break non-JIT calculations by leaving the x87 FP stack in a bad state.
> >>
> >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
> >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <mflatt@cs.utah.edu>
> >> wrote:
> >> >
> >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> >> > > > But now there is something very weird... I still have 5.1.1.2, and I
> >> have
> >> > > > run this version too.
> >> > > > There too I see the bug.
> >> > >
> >> >
> >> > Also tested with 5.1.0.3 and it's buggy too...
> >> >
> >> >
> >> > >
> >> > > I think we turned on places between version 5.1.1 and 5.1.1.2.
> >> > >
> >> > > What happens if you build with `--disable-places'?
> >> > >
> >> > >
> >> > > You should be able to use a binary built with `--disable-places' with
> >> > > the rest of your existing 5.1.2.3 build. Make a fresh build directory
> >> > > for `configure' and `make', and then start DrRacket with
> >> > >
> >> > > racket/racket3m -l drracket
> >> > >
> >> >
> >> > same bug.
> >> >
> >> > Laurent
> >>
> >
> >
From: Laurent <laurent.orseau@gmail.com>
To: Matthew Flatt <mflatt@cs.utah.edu>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Wed, 24 Aug 2011 14:21:01 +0200
--001517503e82c502e904ab3f597c
Content-Type: text/plain; charset=ISO-8859-1
Apparently, it uses 387, but i see no -mfpmath flag:
# GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)
# compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR version
3.0.0-p8, MPC version 0.9
# GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
# options passed: -fpreprocessed test.i -mtune=generic -march=i686
# -fverbose-asm -fstack-protector
# options enabled: -falign-loops -fargument-alias -fauto-inc-dec
# -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cfi-asm
# -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcse-lm
# -fident -finline-functions-called-once -fira-share-save-slots
# -fira-share-spill-slots -fivopts -fkeep-static-consts
# -fleading-underscore -fmath-errno -fmerge-debug-strings
# -fmove-loop-invariants -fpcc-struct-return -fpeephole
# -fsched-critical-path-heuristic -fsched-dep-count-heuristic
# -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic
# -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic
# -fsched-stalled-insns-dep -fshow-column -fsigned-zeros
# -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfields
# -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im
# -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=
# -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop
# -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time
# -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
# -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp
# -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs
Is there somewhere in the Makefile, configure, where I need to change that?
Laurent
On Wed, Aug 24, 2011 at 13:25, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> Thanks for the update. Unforutnately, I still haven't been able to
> replicate the behavior. We've had no similar reports so far.
>
> Does your gcc use 387 or SSE instruction for floating point by default?
> If you set CFLAGS to either -mfpmath=387 or -mfpmath=sse to switch from
> the default, does it change the behavior?
>
> At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:
> > The initial report was:
> >
> > > Follow this exact sequence:
> > > 1) Close all DrRacket windows
> > > 2) Open a new DrRacket window
> > > 3) Type the following program:
> > > #lang racket
> > > (* 95 .33)
> > >
> > > 4) Evaluate. On my screen, this displays 0.0!
> > > 5) After the last line, add "33.33"
> > > 6) Evaluate. You should see :
> > > 0.0
> > > 33.33
> > > 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after 95)
> > > 8) Evaluate. You should see:
> > > 31.35
> > > 33.33
> > >
> >
> > which has a 2 mistakes (and I *did* check several times!), corrected in
> red:
> >
> > Follow this exact sequence:
> > 1) Close all DrRacket windows
> > 2) Open a new DrRacket window
> > 3) Type the following program:
> > #lang racket
> > (* 95 .33)
> >
> > 4) Evaluate. On my screen, this displays 0.0!
> > 5) After the last line, add "33.33"
> > 6) Evaluate. You should see :
> > 0.0
> > 33.0
> > 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a . after 95)
> > 8) Evaluate. You should see:
> > 31.35
> > 33.33
> >
> > Maybe this makes more sense.
> >
> > I also updated my system, installed 5.3.3, but nothing has changed.
> >
> > Have you got any other similar report?
> >
> > Laurent
> >
> >
> > On Tue, Aug 16, 2011 at 10:12, Laurent <laurent.orseau@gmail.com> wrote:
> >
> > > Hi,
> > >
> > > Sorry for the delay. I've downloaded v5.1.3.1, and the problem remains.
> > > Tried disabling the JIT, but still not better (although one trial
> worked
> > > correctly, the next one didn't).
> > >
> > > Maybe the problems lies in the parts that are not freshly reinstalled
> each
> > > time, like planet packages or the like?
> > >
> > > Laurent
> > >
> > >
> > > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <mflatt@cs.utah.edu>
> wrote:
> > >
> > >> Does disabling the JIT have any effect? (You can set the PLTNOMZJIT
> > >> environment variable.)
> > >>
> > >> My only guess at the moment is that the JIT is mangling the FP stack.
> I
> > >> don't think the JIT evaluates the `(* 99 0.33)' expression, because it
> > >> should be constant-folded away, but other JIT-generated code could
> > >> break non-JIT calculations by leaving the x87 FP stack in a bad state.
> > >>
> > >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
> > >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <mflatt@cs.utah.edu>
> > >> wrote:
> > >> >
> > >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> > >> > > > But now there is something very weird... I still have 5.1.1.2,
> and I
> > >> have
> > >> > > > run this version too.
> > >> > > > There too I see the bug.
> > >> > >
> > >> >
> > >> > Also tested with 5.1.0.3 and it's buggy too...
> > >> >
> > >> >
> > >> > >
> > >> > > I think we turned on places between version 5.1.1 and 5.1.1.2.
> > >> > >
> > >> > > What happens if you build with `--disable-places'?
> > >> > >
> > >> > >
> > >> > > You should be able to use a binary built with `--disable-places'
> with
> > >> > > the rest of your existing 5.1.2.3 build. Make a fresh build
> directory
> > >> > > for `configure' and `make', and then start DrRacket with
> > >> > >
> > >> > > racket/racket3m -l drracket
> > >> > >
> > >> >
> > >> > same bug.
> > >> >
> > >> > Laurent
> > >>
> > >
> > >
>
--001517503e82c502e904ab3f597c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Apparently, it uses 387, but i see no -mfpmath flag:<br><br># GNU C (Ubuntu=
/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)<br>#=A0=A0=A0 compil=
ed by GNU C version 4.5.2, GMP version 4.3.2, MPFR version 3.0.0-p8, MPC ve=
rsion 0.9<br>
# GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D1=
31072<br># options passed:=A0 -fpreprocessed test.i -mtune=3Dgeneric -march=
=3Di686<br># -fverbose-asm -fstack-protector<br># options enabled:=A0 -fali=
gn-loops -fargument-alias -fauto-inc-dec<br>
# -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cfi-asm=
<br># -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcse=
-lm<br># -fident -finline-functions-called-once -fira-share-save-slots<br>
# -fira-share-spill-slots -fivopts -fkeep-static-consts<br># -fleading-unde=
rscore -fmath-errno -fmerge-debug-strings<br># -fmove-loop-invariants -fpcc=
-struct-return -fpeephole<br># -fsched-critical-path-heuristic -fsched-dep-=
count-heuristic<br>
# -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic<br=
># -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic<br># -fs=
ched-stalled-insns-dep -fshow-column -fsigned-zeros<br># -fsplit-ivs-in-unr=
oller -fstack-protector -fstrict-volatile-bitfields<br>
# -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im<br># -ftree-=
loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=3D<br># -ftree-p=
hiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop<br># -ftree-slp-vectoriz=
e -ftree-vect-loop-version -funit-at-a-time<br>
# -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m80387<br=
># -m96bit-long-double -maccumulate-outgoing-args -malign-stringops<br># -m=
fancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp<br># -mno-red=
-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs<br>
<br><br>Is there somewhere in the Makefile, configure, where I need to chan=
ge that?<br><br>Laurent<br><br><div class=3D"gmail_quote">On Wed, Aug 24, 2=
011 at 13:25, Matthew Flatt <span dir=3D"ltr"><<a href=3D"mailto:mflatt@=
cs.utah.edu">mflatt@cs.utah.edu</a>></span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Thanks for the update. Unforutnately, I sti=
ll haven't been able to<br>
replicate the behavior. We've had no similar reports so far.<br>
<br>
Does your gcc use 387 or SSE instruction for floating point by default?<br>
If you set CFLAGS to either -mfpmath=3D387 or -mfpmath=3Dsse to switch from=
<br>
the default, does it change the behavior?<br>
<div><div></div><div class=3D"h5"><br>
At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:<br>
> The initial report was:<br>
><br>
> > Follow this exact sequence:<br>
> > 1) Close all DrRacket windows<br>
> > 2) Open a new DrRacket window<br>
> > 3) Type the following program:<br>
> > #lang racket<br>
> > (* 95 .33)<br>
> ><br>
> > 4) Evaluate. On my screen, this displays 0.0!<br>
> > 5) After the last line, add "33.33"<br>
> > 6) Evaluate. You should see :<br>
> > 0.0<br>
> > 33.33<br>
> > 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . afte=
r 95)<br>
> > 8) Evaluate. You should see:<br>
> > 31.35<br>
> > 33.33<br>
> ><br>
><br>
> which has a 2 mistakes (and I *did* check several times!), corrected i=
n red:<br>
><br>
> Follow this exact sequence:<br>
> 1) Close all DrRacket windows<br>
> 2) Open a new DrRacket window<br>
> 3) Type the following program:<br>
> #lang racket<br>
> (* 95 .33)<br>
><br>
> 4) Evaluate. On my screen, this displays 0.0!<br>
> 5) After the last line, add "33.33"<br>
> 6) Evaluate. You should see :<br>
> 0.0<br>
> 33.0<br>
> 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a . after =
95)<br>
> 8) Evaluate. You should see:<br>
> 31.35<br>
> 33.33<br>
><br>
> Maybe this makes more sense.<br>
><br>
> I also updated my system, installed 5.3.3, but nothing has changed.<br=
>
><br>
> Have you =A0got any other similar report?<br>
><br>
> Laurent<br>
><br>
><br>
> On Tue, Aug 16, 2011 at 10:12, Laurent <<a href=3D"mailto:laurent.o=
rseau@gmail.com">laurent.orseau@gmail.com</a>> wrote:<br>
><br>
> > Hi,<br>
> ><br>
> > Sorry for the delay. I've downloaded v5.1.3.1, and the proble=
m remains.<br>
> > Tried disabling the JIT, but still not better (although one trial=
worked<br>
> > correctly, the next one didn't).<br>
> ><br>
> > Maybe the problems lies in the parts that are not freshly reinsta=
lled each<br>
> > time, like planet packages or the like?<br>
> ><br>
> > Laurent<br>
> ><br>
> ><br>
> > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <<a href=3D"mailt=
o:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>> wrote:<br>
> ><br>
> >> Does disabling the JIT have any effect? (You can set the PLTN=
OMZJIT<br>
> >> environment variable.)<br>
> >><br>
> >> My only guess at the moment is that the JIT is mangling the F=
P stack. I<br>
> >> don't think the JIT evaluates the `(* 99 0.33)' expre=
ssion, because it<br>
> >> should be constant-folded away, but other JIT-generated code =
could<br>
> >> break non-JIT calculations by leaving the x87 FP stack in a b=
ad state.<br>
> >><br>
> >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<br>
> >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <<a href=
=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>><br>
> >> wrote:<br>
> >> ><br>
> >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:<=
br>
> >> > > > But now there is something very weird... I sti=
ll have 5.1.1.2, and I<br>
> >> have<br>
> >> > > > run this version too.<br>
> >> > > > There too I see the bug.<br>
> >> > ><br>
> >> ><br>
> >> > Also tested with 5.1.0.3 and it's buggy too...<br>
> >> ><br>
> >> ><br>
> >> > ><br>
> >> > > I think we turned on places between version 5.1.1 a=
nd 5.1.1.2.<br>
> >> > ><br>
> >> > > What happens if you build with `--disable-places=
9;?<br>
> >> > ><br>
> >> > ><br>
> >> > > You should be able to use a binary built with `--di=
sable-places' with<br>
> >> > > the rest of your existing 5.1.2.3 build. Make a fre=
sh build directory<br>
> >> > > for `configure' and `make', and then start =
DrRacket with<br>
> >> > ><br>
> >> > > =A0racket/racket3m -l drracket<br>
> >> > ><br>
> >> ><br>
> >> > same bug.<br>
> >> ><br>
> >> > Laurent<br>
> >><br>
> ><br>
> ><br>
</div></div></blockquote></div><br>
--001517503e82c502e904ab3f597c--
From: Matthew Flatt <mflatt@cs.utah.edu>
To: Laurent <laurent.orseau@gmail.com>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Wed, 24 Aug 2011 06:26:06 -0600
Configuring with
env CFLAGS="-mfpmath=sse" configure
shoudl work.
At Wed, 24 Aug 2011 14:21:01 +0200, Laurent wrote:
> Apparently, it uses 387, but i see no -mfpmath flag:
>
> # GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)
> # compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR version
> 3.0.0-p8, MPC version 0.9
> # GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> # options passed: -fpreprocessed test.i -mtune=generic -march=i686
> # -fverbose-asm -fstack-protector
> # options enabled: -falign-loops -fargument-alias -fauto-inc-dec
> # -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cfi-asm
> # -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcse-lm
> # -fident -finline-functions-called-once -fira-share-save-slots
> # -fira-share-spill-slots -fivopts -fkeep-static-consts
> # -fleading-underscore -fmath-errno -fmerge-debug-strings
> # -fmove-loop-invariants -fpcc-struct-return -fpeephole
> # -fsched-critical-path-heuristic -fsched-dep-count-heuristic
> # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic
> # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic
> # -fsched-stalled-insns-dep -fshow-column -fsigned-zeros
> # -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfields
> # -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im
> # -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=
> # -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop
> # -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time
> # -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
> # -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
> # -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp
> # -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs
>
>
> Is there somewhere in the Makefile, configure, where I need to change that?
>
> Laurent
>
> On Wed, Aug 24, 2011 at 13:25, Matthew Flatt <mflatt@cs.utah.edu> wrote:
>
> > Thanks for the update. Unforutnately, I still haven't been able to
> > replicate the behavior. We've had no similar reports so far.
> >
> > Does your gcc use 387 or SSE instruction for floating point by default?
> > If you set CFLAGS to either -mfpmath=387 or -mfpmath=sse to switch from
> > the default, does it change the behavior?
> >
> > At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:
> > > The initial report was:
> > >
> > > > Follow this exact sequence:
> > > > 1) Close all DrRacket windows
> > > > 2) Open a new DrRacket window
> > > > 3) Type the following program:
> > > > #lang racket
> > > > (* 95 .33)
> > > >
> > > > 4) Evaluate. On my screen, this displays 0.0!
> > > > 5) After the last line, add "33.33"
> > > > 6) Evaluate. You should see :
> > > > 0.0
> > > > 33.33
> > > > 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after 95)
> > > > 8) Evaluate. You should see:
> > > > 31.35
> > > > 33.33
> > > >
> > >
> > > which has a 2 mistakes (and I *did* check several times!), corrected in
> > red:
> > >
> > > Follow this exact sequence:
> > > 1) Close all DrRacket windows
> > > 2) Open a new DrRacket window
> > > 3) Type the following program:
> > > #lang racket
> > > (* 95 .33)
> > >
> > > 4) Evaluate. On my screen, this displays 0.0!
> > > 5) After the last line, add "33.33"
> > > 6) Evaluate. You should see :
> > > 0.0
> > > 33.0
> > > 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a . after 95)
> > > 8) Evaluate. You should see:
> > > 31.35
> > > 33.33
> > >
> > > Maybe this makes more sense.
> > >
> > > I also updated my system, installed 5.3.3, but nothing has changed.
> > >
> > > Have you got any other similar report?
> > >
> > > Laurent
> > >
> > >
> > > On Tue, Aug 16, 2011 at 10:12, Laurent <laurent.orseau@gmail.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > Sorry for the delay. I've downloaded v5.1.3.1, and the problem remains.
> > > > Tried disabling the JIT, but still not better (although one trial
> > worked
> > > > correctly, the next one didn't).
> > > >
> > > > Maybe the problems lies in the parts that are not freshly reinstalled
> > each
> > > > time, like planet packages or the like?
> > > >
> > > > Laurent
> > > >
> > > >
> > > > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <mflatt@cs.utah.edu>
> > wrote:
> > > >
> > > >> Does disabling the JIT have any effect? (You can set the PLTNOMZJIT
> > > >> environment variable.)
> > > >>
> > > >> My only guess at the moment is that the JIT is mangling the FP stack.
> > I
> > > >> don't think the JIT evaluates the `(* 99 0.33)' expression, because it
> > > >> should be constant-folded away, but other JIT-generated code could
> > > >> break non-JIT calculations by leaving the x87 FP stack in a bad state.
> > > >>
> > > >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
> > > >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <mflatt@cs.utah.edu>
> > > >> wrote:
> > > >> >
> > > >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> > > >> > > > But now there is something very weird... I still have 5.1.1.2,
> > and I
> > > >> have
> > > >> > > > run this version too.
> > > >> > > > There too I see the bug.
> > > >> > >
> > > >> >
> > > >> > Also tested with 5.1.0.3 and it's buggy too...
> > > >> >
> > > >> >
> > > >> > >
> > > >> > > I think we turned on places between version 5.1.1 and 5.1.1.2.
> > > >> > >
> > > >> > > What happens if you build with `--disable-places'?
> > > >> > >
> > > >> > >
> > > >> > > You should be able to use a binary built with `--disable-places'
> > with
> > > >> > > the rest of your existing 5.1.2.3 build. Make a fresh build
> > directory
> > > >> > > for `configure' and `make', and then start DrRacket with
> > > >> > >
> > > >> > > racket/racket3m -l drracket
> > > >> > >
> > > >> >
> > > >> > same bug.
> > > >> >
> > > >> > Laurent
> > > >>
> > > >
> > > >
> >
From: Laurent <laurent.orseau@gmail.com>
To: Matthew Flatt <mflatt@cs.utah.edu>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Wed, 24 Aug 2011 14:41:32 +0200
--000e0cd24764f540c704ab3fa258
Content-Type: text/plain; charset=ISO-8859-1
Then I have a lot of:
warning: SSE instruction set disabled, using 387 arithmetics
when making
And this did not create the drracket executable.
However, if I run gracket3m, I get the same problem:
Welcome to Racket v5.1.2.3.
This is a simple window for evaluating Racket expressions.
Quit now and run DrRacket to get a better window.
The current input port always returns eof.
> 33.33
33.0
Laurent
On Wed, Aug 24, 2011 at 14:26, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> Configuring with
>
> env CFLAGS="-mfpmath=sse" configure
>
> shoudl work.
>
> At Wed, 24 Aug 2011 14:21:01 +0200, Laurent wrote:
> > Apparently, it uses 387, but i see no -mfpmath flag:
> >
> > # GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)
> > # compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR version
> > 3.0.0-p8, MPC version 0.9
> > # GGC heuristics: --param ggc-min-expand=100 --param
> ggc-min-heapsize=131072
> > # options passed: -fpreprocessed test.i -mtune=generic -march=i686
> > # -fverbose-asm -fstack-protector
> > # options enabled: -falign-loops -fargument-alias -fauto-inc-dec
> > # -fbranch-count-reg -fcommon -fdelete-null-pointer-checks
> -fdwarf2-cfi-asm
> > # -fearly-inlining -feliminate-unused-debug-types -ffunction-cse
> -fgcse-lm
> > # -fident -finline-functions-called-once -fira-share-save-slots
> > # -fira-share-spill-slots -fivopts -fkeep-static-consts
> > # -fleading-underscore -fmath-errno -fmerge-debug-strings
> > # -fmove-loop-invariants -fpcc-struct-return -fpeephole
> > # -fsched-critical-path-heuristic -fsched-dep-count-heuristic
> > # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic
> > # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic
> > # -fsched-stalled-insns-dep -fshow-column -fsigned-zeros
> > # -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfields
> > # -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im
> > # -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=
> > # -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop
> > # -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time
> > # -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
> > # -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
> > # -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp
> > # -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs
> >
> >
> > Is there somewhere in the Makefile, configure, where I need to change
> that?
> >
> > Laurent
> >
> > On Wed, Aug 24, 2011 at 13:25, Matthew Flatt <mflatt@cs.utah.edu> wrote:
> >
> > > Thanks for the update. Unforutnately, I still haven't been able to
> > > replicate the behavior. We've had no similar reports so far.
> > >
> > > Does your gcc use 387 or SSE instruction for floating point by default?
> > > If you set CFLAGS to either -mfpmath=387 or -mfpmath=sse to switch from
> > > the default, does it change the behavior?
> > >
> > > At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:
> > > > The initial report was:
> > > >
> > > > > Follow this exact sequence:
> > > > > 1) Close all DrRacket windows
> > > > > 2) Open a new DrRacket window
> > > > > 3) Type the following program:
> > > > > #lang racket
> > > > > (* 95 .33)
> > > > >
> > > > > 4) Evaluate. On my screen, this displays 0.0!
> > > > > 5) After the last line, add "33.33"
> > > > > 6) Evaluate. You should see :
> > > > > 0.0
> > > > > 33.33
> > > > > 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after
> 95)
> > > > > 8) Evaluate. You should see:
> > > > > 31.35
> > > > > 33.33
> > > > >
> > > >
> > > > which has a 2 mistakes (and I *did* check several times!), corrected
> in
> > > red:
> > > >
> > > > Follow this exact sequence:
> > > > 1) Close all DrRacket windows
> > > > 2) Open a new DrRacket window
> > > > 3) Type the following program:
> > > > #lang racket
> > > > (* 95 .33)
> > > >
> > > > 4) Evaluate. On my screen, this displays 0.0!
> > > > 5) After the last line, add "33.33"
> > > > 6) Evaluate. You should see :
> > > > 0.0
> > > > 33.0
> > > > 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a . after
> 95)
> > > > 8) Evaluate. You should see:
> > > > 31.35
> > > > 33.33
> > > >
> > > > Maybe this makes more sense.
> > > >
> > > > I also updated my system, installed 5.3.3, but nothing has changed.
> > > >
> > > > Have you got any other similar report?
> > > >
> > > > Laurent
> > > >
> > > >
> > > > On Tue, Aug 16, 2011 at 10:12, Laurent <laurent.orseau@gmail.com>
> wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Sorry for the delay. I've downloaded v5.1.3.1, and the problem
> remains.
> > > > > Tried disabling the JIT, but still not better (although one trial
> > > worked
> > > > > correctly, the next one didn't).
> > > > >
> > > > > Maybe the problems lies in the parts that are not freshly
> reinstalled
> > > each
> > > > > time, like planet packages or the like?
> > > > >
> > > > > Laurent
> > > > >
> > > > >
> > > > > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <mflatt@cs.utah.edu>
> > > wrote:
> > > > >
> > > > >> Does disabling the JIT have any effect? (You can set the
> PLTNOMZJIT
> > > > >> environment variable.)
> > > > >>
> > > > >> My only guess at the moment is that the JIT is mangling the FP
> stack.
> > > I
> > > > >> don't think the JIT evaluates the `(* 99 0.33)' expression,
> because it
> > > > >> should be constant-folded away, but other JIT-generated code could
> > > > >> break non-JIT calculations by leaving the x87 FP stack in a bad
> state.
> > > > >>
> > > > >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
> > > > >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <
> mflatt@cs.utah.edu>
> > > > >> wrote:
> > > > >> >
> > > > >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
> > > > >> > > > But now there is something very weird... I still have
> 5.1.1.2,
> > > and I
> > > > >> have
> > > > >> > > > run this version too.
> > > > >> > > > There too I see the bug.
> > > > >> > >
> > > > >> >
> > > > >> > Also tested with 5.1.0.3 and it's buggy too...
> > > > >> >
> > > > >> >
> > > > >> > >
> > > > >> > > I think we turned on places between version 5.1.1 and 5.1.1.2.
> > > > >> > >
> > > > >> > > What happens if you build with `--disable-places'?
> > > > >> > >
> > > > >> > >
> > > > >> > > You should be able to use a binary built with
> `--disable-places'
> > > with
> > > > >> > > the rest of your existing 5.1.2.3 build. Make a fresh build
> > > directory
> > > > >> > > for `configure' and `make', and then start DrRacket with
> > > > >> > >
> > > > >> > > racket/racket3m -l drracket
> > > > >> > >
> > > > >> >
> > > > >> > same bug.
> > > > >> >
> > > > >> > Laurent
> > > > >>
> > > > >
> > > > >
> > >
>
--000e0cd24764f540c704ab3fa258
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Then I have a lot of:<br>warning: SSE instruction set disabled, using 387 a=
rithmetics<br>when making<br><br>And this did not create the drracket execu=
table.<br>However, if I run gracket3m, I get the same problem:<br><br>Welco=
me to Racket v5.1.2.3.<br>
This is a simple window for evaluating Racket expressions.<br>Quit now and =
run DrRacket to get a better window.<br>The current input port always retur=
ns eof.<br>> 33.33<br>33.0<br><br>Laurent<br><br><br><div class=3D"gmail=
_quote">
On Wed, Aug 24, 2011 at 14:26, Matthew Flatt <span dir=3D"ltr"><<a href=
=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>></span> wrote:<br>=
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">
Configuring with<br>
<br>
=A0env CFLAGS=3D"-mfpmath=3Dsse" configure<br>
<br>
shoudl work.<br>
<div><div></div><div class=3D"h5"><br>
At Wed, 24 Aug 2011 14:21:01 +0200, Laurent wrote:<br>
> Apparently, it uses 387, but i see no -mfpmath flag:<br>
><br>
> # GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)<=
br>
> # =A0 =A0compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR vers=
ion<br>
> 3.0.0-p8, MPC version 0.9<br>
> # GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsiz=
e=3D131072<br>
> # options passed: =A0-fpreprocessed test.i -mtune=3Dgeneric -march=3Di=
686<br>
> # -fverbose-asm -fstack-protector<br>
> # options enabled: =A0-falign-loops -fargument-alias -fauto-inc-dec<br=
>
> # -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cf=
i-asm<br>
> # -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcs=
e-lm<br>
> # -fident -finline-functions-called-once -fira-share-save-slots<br>
> # -fira-share-spill-slots -fivopts -fkeep-static-consts<br>
> # -fleading-underscore -fmath-errno -fmerge-debug-strings<br>
> # -fmove-loop-invariants -fpcc-struct-return -fpeephole<br>
> # -fsched-critical-path-heuristic -fsched-dep-count-heuristic<br>
> # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heurist=
ic<br>
> # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic<br>
> # -fsched-stalled-insns-dep -fshow-column -fsigned-zeros<br>
> # -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfield=
s<br>
> # -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im<br>
> # -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=3D=
<br>
> # -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop<br>
> # -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time<br>
> # -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m803=
87<br>
> # -m96bit-long-double -maccumulate-outgoing-args -malign-stringops<br>
> # -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp<br>
> # -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs<br>
><br>
><br>
> Is there somewhere in the Makefile, configure, where I need to change =
that?<br>
><br>
> Laurent<br>
><br>
> On Wed, Aug 24, 2011 at 13:25, Matthew Flatt <<a href=3D"mailto:mfl=
att@cs.utah.edu">mflatt@cs.utah.edu</a>> wrote:<br>
><br>
> > Thanks for the update. Unforutnately, I still haven't been ab=
le to<br>
> > replicate the behavior. We've had no similar reports so far.<=
br>
> ><br>
> > Does your gcc use 387 or SSE instruction for floating point by de=
fault?<br>
> > If you set CFLAGS to either -mfpmath=3D387 or -mfpmath=3Dsse to s=
witch from<br>
> > the default, does it change the behavior?<br>
> ><br>
> > At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:<br>
> > > The initial report was:<br>
> > ><br>
> > > > Follow this exact sequence:<br>
> > > > 1) Close all DrRacket windows<br>
> > > > 2) Open a new DrRacket window<br>
> > > > 3) Type the following program:<br>
> > > > #lang racket<br>
> > > > (* 95 .33)<br>
> > > ><br>
> > > > 4) Evaluate. On my screen, this displays 0.0!<br>
> > > > 5) After the last line, add "33.33"<br>
> > > > 6) Evaluate. You should see :<br>
> > > > 0.0<br>
> > > > 33.33<br>
> > > > 7) Modify the (* 95 .33) line into (* 95 .33). (just ad=
d a . after 95)<br>
> > > > 8) Evaluate. You should see:<br>
> > > > 31.35<br>
> > > > 33.33<br>
> > > ><br>
> > ><br>
> > > which has a 2 mistakes (and I *did* check several times!), c=
orrected in<br>
> > red:<br>
> > ><br>
> > > Follow this exact sequence:<br>
> > > 1) Close all DrRacket windows<br>
> > > 2) Open a new DrRacket window<br>
> > > 3) Type the following program:<br>
> > > #lang racket<br>
> > > (* 95 .33)<br>
> > ><br>
> > > 4) Evaluate. On my screen, this displays 0.0!<br>
> > > 5) After the last line, add "33.33"<br>
> > > 6) Evaluate. You should see :<br>
> > > 0.0<br>
> > > 33.0<br>
> > > 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add =
a . after 95)<br>
> > > 8) Evaluate. You should see:<br>
> > > 31.35<br>
> > > 33.33<br>
> > ><br>
> > > Maybe this makes more sense.<br>
> > ><br>
> > > I also updated my system, installed 5.3.3, but nothing has c=
hanged.<br>
> > ><br>
> > > Have you =A0got any other similar report?<br>
> > ><br>
> > > Laurent<br>
> > ><br>
> > ><br>
> > > On Tue, Aug 16, 2011 at 10:12, Laurent <<a href=3D"mailto=
:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>> wrote:<br>
> > ><br>
> > > > Hi,<br>
> > > ><br>
> > > > Sorry for the delay. I've downloaded v5.1.3.1, and =
the problem remains.<br>
> > > > Tried disabling the JIT, but still not better (although=
one trial<br>
> > worked<br>
> > > > correctly, the next one didn't).<br>
> > > ><br>
> > > > Maybe the problems lies in the parts that are not fresh=
ly reinstalled<br>
> > each<br>
> > > > time, like planet packages or the like?<br>
> > > ><br>
> > > > Laurent<br>
> > > ><br>
> > > ><br>
> > > > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <<a hre=
f=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>><br>
> > wrote:<br>
> > > ><br>
> > > >> Does disabling the JIT have any effect? (You can se=
t the PLTNOMZJIT<br>
> > > >> environment variable.)<br>
> > > >><br>
> > > >> My only guess at the moment is that the JIT is mang=
ling the FP stack.<br>
> > I<br>
> > > >> don't think the JIT evaluates the `(* 99 0.33)&=
#39; expression, because it<br>
> > > >> should be constant-folded away, but other JIT-gener=
ated code could<br>
> > > >> break non-JIT calculations by leaving the x87 FP st=
ack in a bad state.<br>
> > > >><br>
> > > >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<=
br>
> > > >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt &=
lt;<a href=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>><br>
> > > >> wrote:<br>
> > > >> ><br>
> > > >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laure=
nt wrote:<br>
> > > >> > > > But now there is something very weir=
d... I still have 5.1.1.2,<br>
> > and I<br>
> > > >> have<br>
> > > >> > > > run this version too.<br>
> > > >> > > > There too I see the bug.<br>
> > > >> > ><br>
> > > >> ><br>
> > > >> > Also tested with 5.1.0.3 and it's buggy to=
o...<br>
> > > >> ><br>
> > > >> ><br>
> > > >> > ><br>
> > > >> > > I think we turned on places between versi=
on 5.1.1 and 5.1.1.2.<br>
> > > >> > ><br>
> > > >> > > What happens if you build with `--disable=
-places'?<br>
> > > >> > ><br>
> > > >> > ><br>
> > > >> > > You should be able to use a binary built =
with `--disable-places'<br>
> > with<br>
> > > >> > > the rest of your existing 5.1.2.3 build. =
Make a fresh build<br>
> > directory<br>
> > > >> > > for `configure' and `make', and t=
hen start DrRacket with<br>
> > > >> > ><br>
> > > >> > > =A0racket/racket3m -l drracket<br>
> > > >> > ><br>
> > > >> ><br>
> > > >> > same bug.<br>
> > > >> ><br>
> > > >> > Laurent<br>
> > > >><br>
> > > ><br>
> > > ><br>
> ><br>
</div></div></blockquote></div><br>
--000e0cd24764f540c704ab3fa258--
Responsible changed from "nobody" to "mflatt" by samth at Wed, 31 Aug 2011 22:03:19 -0400
Reason>>> m
From: Laurent <laurent.orseau@gmail.com>
To: Matthew Flatt <mflatt@cs.utah.edu>
Cc: Robby Findler <robby@eecs.northwestern.edu>, bugs <bugs@racket-lang.org>
Subject: Re: [racket-bug] all/12070: Floating point operations returns 0.0
instead of result!
Date: Thu, 1 Sep 2011 15:09:53 +0200
--bcaec51dd17512d99804abe0f777
Content-Type: text/plain; charset=ISO-8859-1
This bug doesn't happen on a different machine with Ubuntu Maverick.
I suspect there is an incompatible element on the faulty computer... Now,
how can I find what this element is?
Laurent
On Wed, Aug 24, 2011 at 14:41, Laurent <laurent.orseau@gmail.com> wrote:
> Then I have a lot of:
> warning: SSE instruction set disabled, using 387 arithmetics
> when making
>
> And this did not create the drracket executable.
> However, if I run gracket3m, I get the same problem:
>
> Welcome to Racket v5.1.2.3.
> This is a simple window for evaluating Racket expressions.
> Quit now and run DrRacket to get a better window.
> The current input port always returns eof.
> > 33.33
> 33.0
>
> Laurent
>
>
>
> On Wed, Aug 24, 2011 at 14:26, Matthew Flatt <mflatt@cs.utah.edu> wrote:
>
>> Configuring with
>>
>> env CFLAGS="-mfpmath=sse" configure
>>
>> shoudl work.
>>
>> At Wed, 24 Aug 2011 14:21:01 +0200, Laurent wrote:
>> > Apparently, it uses 387, but i see no -mfpmath flag:
>> >
>> > # GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)
>> > # compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR version
>> > 3.0.0-p8, MPC version 0.9
>> > # GGC heuristics: --param ggc-min-expand=100 --param
>> ggc-min-heapsize=131072
>> > # options passed: -fpreprocessed test.i -mtune=generic -march=i686
>> > # -fverbose-asm -fstack-protector
>> > # options enabled: -falign-loops -fargument-alias -fauto-inc-dec
>> > # -fbranch-count-reg -fcommon -fdelete-null-pointer-checks
>> -fdwarf2-cfi-asm
>> > # -fearly-inlining -feliminate-unused-debug-types -ffunction-cse
>> -fgcse-lm
>> > # -fident -finline-functions-called-once -fira-share-save-slots
>> > # -fira-share-spill-slots -fivopts -fkeep-static-consts
>> > # -fleading-underscore -fmath-errno -fmerge-debug-strings
>> > # -fmove-loop-invariants -fpcc-struct-return -fpeephole
>> > # -fsched-critical-path-heuristic -fsched-dep-count-heuristic
>> > # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heuristic
>> > # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic
>> > # -fsched-stalled-insns-dep -fshow-column -fsigned-zeros
>> > # -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfields
>> > # -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im
>> > # -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=
>> > # -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop
>> > # -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time
>> > # -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
>> > # -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
>> > # -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp
>> > # -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs
>> >
>> >
>> > Is there somewhere in the Makefile, configure, where I need to change
>> that?
>> >
>> > Laurent
>> >
>> > On Wed, Aug 24, 2011 at 13:25, Matthew Flatt <mflatt@cs.utah.edu>
>> wrote:
>> >
>> > > Thanks for the update. Unforutnately, I still haven't been able to
>> > > replicate the behavior. We've had no similar reports so far.
>> > >
>> > > Does your gcc use 387 or SSE instruction for floating point by
>> default?
>> > > If you set CFLAGS to either -mfpmath=387 or -mfpmath=sse to switch
>> from
>> > > the default, does it change the behavior?
>> > >
>> > > At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:
>> > > > The initial report was:
>> > > >
>> > > > > Follow this exact sequence:
>> > > > > 1) Close all DrRacket windows
>> > > > > 2) Open a new DrRacket window
>> > > > > 3) Type the following program:
>> > > > > #lang racket
>> > > > > (* 95 .33)
>> > > > >
>> > > > > 4) Evaluate. On my screen, this displays 0.0!
>> > > > > 5) After the last line, add "33.33"
>> > > > > 6) Evaluate. You should see :
>> > > > > 0.0
>> > > > > 33.33
>> > > > > 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . after
>> 95)
>> > > > > 8) Evaluate. You should see:
>> > > > > 31.35
>> > > > > 33.33
>> > > > >
>> > > >
>> > > > which has a 2 mistakes (and I *did* check several times!), corrected
>> in
>> > > red:
>> > > >
>> > > > Follow this exact sequence:
>> > > > 1) Close all DrRacket windows
>> > > > 2) Open a new DrRacket window
>> > > > 3) Type the following program:
>> > > > #lang racket
>> > > > (* 95 .33)
>> > > >
>> > > > 4) Evaluate. On my screen, this displays 0.0!
>> > > > 5) After the last line, add "33.33"
>> > > > 6) Evaluate. You should see :
>> > > > 0.0
>> > > > 33.0
>> > > > 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a .
>> after 95)
>> > > > 8) Evaluate. You should see:
>> > > > 31.35
>> > > > 33.33
>> > > >
>> > > > Maybe this makes more sense.
>> > > >
>> > > > I also updated my system, installed 5.3.3, but nothing has changed.
>> > > >
>> > > > Have you got any other similar report?
>> > > >
>> > > > Laurent
>> > > >
>> > > >
>> > > > On Tue, Aug 16, 2011 at 10:12, Laurent <laurent.orseau@gmail.com>
>> wrote:
>> > > >
>> > > > > Hi,
>> > > > >
>> > > > > Sorry for the delay. I've downloaded v5.1.3.1, and the problem
>> remains.
>> > > > > Tried disabling the JIT, but still not better (although one trial
>> > > worked
>> > > > > correctly, the next one didn't).
>> > > > >
>> > > > > Maybe the problems lies in the parts that are not freshly
>> reinstalled
>> > > each
>> > > > > time, like planet packages or the like?
>> > > > >
>> > > > > Laurent
>> > > > >
>> > > > >
>> > > > > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <mflatt@cs.utah.edu>
>> > > wrote:
>> > > > >
>> > > > >> Does disabling the JIT have any effect? (You can set the
>> PLTNOMZJIT
>> > > > >> environment variable.)
>> > > > >>
>> > > > >> My only guess at the moment is that the JIT is mangling the FP
>> stack.
>> > > I
>> > > > >> don't think the JIT evaluates the `(* 99 0.33)' expression,
>> because it
>> > > > >> should be constant-folded away, but other JIT-generated code
>> could
>> > > > >> break non-JIT calculations by leaving the x87 FP stack in a bad
>> state.
>> > > > >>
>> > > > >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:
>> > > > >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt <
>> mflatt@cs.utah.edu>
>> > > > >> wrote:
>> > > > >> >
>> > > > >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:
>> > > > >> > > > But now there is something very weird... I still have
>> 5.1.1.2,
>> > > and I
>> > > > >> have
>> > > > >> > > > run this version too.
>> > > > >> > > > There too I see the bug.
>> > > > >> > >
>> > > > >> >
>> > > > >> > Also tested with 5.1.0.3 and it's buggy too...
>> > > > >> >
>> > > > >> >
>> > > > >> > >
>> > > > >> > > I think we turned on places between version 5.1.1 and
>> 5.1.1.2.
>> > > > >> > >
>> > > > >> > > What happens if you build with `--disable-places'?
>> > > > >> > >
>> > > > >> > >
>> > > > >> > > You should be able to use a binary built with
>> `--disable-places'
>> > > with
>> > > > >> > > the rest of your existing 5.1.2.3 build. Make a fresh build
>> > > directory
>> > > > >> > > for `configure' and `make', and then start DrRacket with
>> > > > >> > >
>> > > > >> > > racket/racket3m -l drracket
>> > > > >> > >
>> > > > >> >
>> > > > >> > same bug.
>> > > > >> >
>> > > > >> > Laurent
>> > > > >>
>> > > > >
>> > > > >
>> > >
>>
>
>
--bcaec51dd17512d99804abe0f777
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
This bug doesn't happen on a different machine with Ubuntu Maverick.<br=
>I suspect there is an incompatible element on the faulty computer... Now, =
how can I find what this element is?<br><br>Laurent<br><br><div class=3D"gm=
ail_quote">
On Wed, Aug 24, 2011 at 14:41, Laurent <span dir=3D"ltr"><<a href=3D"mai=
lto:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>></span> wrote=
:<br><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; =
border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Then I have a lot of:<br>warning: SSE instruction set disabled, using 387 a=
rithmetics<br>when making<br><br>And this did not create the drracket execu=
table.<br>However, if I run gracket3m, I get the same problem:<br><br>
Welcome to Racket v5.1.2.3.<br>
This is a simple window for evaluating Racket expressions.<br>Quit now and =
run DrRacket to get a better window.<br>The current input port always retur=
ns eof.<br>> 33.33<br>33.0<br><font color=3D"#888888"><br>Laurent</font>=
<div>
<div></div><div class=3D"h5"><br><br><br><div class=3D"gmail_quote">
On Wed, Aug 24, 2011 at 14:26, Matthew Flatt <span dir=3D"ltr"><<a href=
=3D"mailto:mflatt@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>>=
</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0p=
t 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"=
>
Configuring with<br>
<br>
=A0env CFLAGS=3D"-mfpmath=3Dsse" configure<br>
<br>
shoudl work.<br>
<div><div></div><div><br>
At Wed, 24 Aug 2011 14:21:01 +0200, Laurent wrote:<br>
> Apparently, it uses 387, but i see no -mfpmath flag:<br>
><br>
> # GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)<=
br>
> # =A0 =A0compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR vers=
ion<br>
> 3.0.0-p8, MPC version 0.9<br>
> # GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsiz=
e=3D131072<br>
> # options passed: =A0-fpreprocessed test.i -mtune=3Dgeneric -march=3Di=
686<br>
> # -fverbose-asm -fstack-protector<br>
> # options enabled: =A0-falign-loops -fargument-alias -fauto-inc-dec<br=
>
> # -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cf=
i-asm<br>
> # -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcs=
e-lm<br>
> # -fident -finline-functions-called-once -fira-share-save-slots<br>
> # -fira-share-spill-slots -fivopts -fkeep-static-consts<br>
> # -fleading-underscore -fmath-errno -fmerge-debug-strings<br>
> # -fmove-loop-invariants -fpcc-struct-return -fpeephole<br>
> # -fsched-critical-path-heuristic -fsched-dep-count-heuristic<br>
> # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heurist=
ic<br>
> # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic<br>
> # -fsched-stalled-insns-dep -fshow-column -fsigned-zeros<br>
> # -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfield=
s<br>
> # -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im<br>
> # -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=3D=
<br>
> # -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop<br>
> # -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time<br>
> # -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m803=
87<br>
> # -m96bit-long-double -maccumulate-outgoing-args -malign-stringops<br>
> # -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp<br>
> # -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs<br>
><br>
><br>
> Is there somewhere in the Makefile, configure, where I need to change =
that?<br>
><br>
> Laurent<br>
><br>
> On Wed, Aug 24, 2011 at 13:25, Matthew Flatt <<a href=3D"mailto:mfl=
att@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>> wrote:<br>
><br>
> > Thanks for the update. Unforutnately, I still haven't been ab=
le to<br>
> > replicate the behavior. We've had no similar reports so far.<=
br>
> ><br>
> > Does your gcc use 387 or SSE instruction for floating point by de=
fault?<br>
> > If you set CFLAGS to either -mfpmath=3D387 or -mfpmath=3Dsse to s=
witch from<br>
> > the default, does it change the behavior?<br>
> ><br>
> > At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:<br>
> > > The initial report was:<br>
> > ><br>
> > > > Follow this exact sequence:<br>
> > > > 1) Close all DrRacket windows<br>
> > > > 2) Open a new DrRacket window<br>
> > > > 3) Type the following program:<br>
> > > > #lang racket<br>
> > > > (* 95 .33)<br>
> > > ><br>
> > > > 4) Evaluate. On my screen, this displays 0.0!<br>
> > > > 5) After the last line, add "33.33"<br>
> > > > 6) Evaluate. You should see :<br>
> > > > 0.0<br>
> > > > 33.33<br>
> > > > 7) Modify the (* 95 .33) line into (* 95 .33). (just ad=
d a . after 95)<br>
> > > > 8) Evaluate. You should see:<br>
> > > > 31.35<br>
> > > > 33.33<br>
> > > ><br>
> > ><br>
> > > which has a 2 mistakes (and I *did* check several times!), c=
orrected in<br>
> > red:<br>
> > ><br>
> > > Follow this exact sequence:<br>
> > > 1) Close all DrRacket windows<br>
> > > 2) Open a new DrRacket window<br>
> > > 3) Type the following program:<br>
> > > #lang racket<br>
> > > (* 95 .33)<br>
> > ><br>
> > > 4) Evaluate. On my screen, this displays 0.0!<br>
> > > 5) After the last line, add "33.33"<br>
> > > 6) Evaluate. You should see :<br>
> > > 0.0<br>
> > > 33.0<br>
> > > 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add =
a . after 95)<br>
> > > 8) Evaluate. You should see:<br>
> > > 31.35<br>
> > > 33.33<br>
> > ><br>
> > > Maybe this makes more sense.<br>
> > ><br>
> > > I also updated my system, installed 5.3.3, but nothing has c=
hanged.<br>
> > ><br>
> > > Have you =A0got any other similar report?<br>
> > ><br>
> > > Laurent<br>
> > ><br>
> > ><br>
> > > On Tue, Aug 16, 2011 at 10:12, Laurent <<a href=3D"mailto=
:laurent.orseau@gmail.com" target=3D"_blank">laurent.orseau@gmail.com</a>&g=
t; wrote:<br>
> > ><br>
> > > > Hi,<br>
> > > ><br>
> > > > Sorry for the delay. I've downloaded v5.1.3.1, and =
the problem remains.<br>
> > > > Tried disabling the JIT, but still not better (although=
one trial<br>
> > worked<br>
> > > > correctly, the next one didn't).<br>
> > > ><br>
> > > > Maybe the problems lies in the parts that are not fresh=
ly reinstalled<br>
> > each<br>
> > > > time, like planet packages or the like?<br>
> > > ><br>
> > > > Laurent<br>
> > > ><br>
> > > ><br>
> > > > On Fri, Jul 22, 2011 at 15:04, Matthew Flatt <<a hre=
f=3D"mailto:mflatt@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>>=
;<br>
> > wrote:<br>
> > > ><br>
> > > >> Does disabling the JIT have any effect? (You can se=
t the PLTNOMZJIT<br>
> > > >> environment variable.)<br>
> > > >><br>
> > > >> My only guess at the moment is that the JIT is mang=
ling the FP stack.<br>
> > I<br>
> > > >> don't think the JIT evaluates the `(* 99 0.33)&=
#39; expression, because it<br>
> > > >> should be constant-folded away, but other JIT-gener=
ated code could<br>
> > > >> break non-JIT calculations by leaving the x87 FP st=
ack in a bad state.<br>
> > > >><br>
> > > >> At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<=
br>
> > > >> > On Thu, Jul 21, 2011 at 23:54, Matthew Flatt &=
lt;<a href=3D"mailto:mflatt@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.e=
du</a>><br>
> > > >> wrote:<br>
> > > >> ><br>
> > > >> > > At Thu, 21 Jul 2011 22:21:40 +0200, Laure=
nt wrote:<br>
> > > >> > > > But now there is something very weir=
d... I still have 5.1.1.2,<br>
> > and I<br>
> > > >> have<br>
> > > >> > > > run this version too.<br>
> > > >> > > > There too I see the bug.<br>
> > > >> > ><br>
> > > >> ><br>
> > > >> > Also tested with 5.1.0.3 and it's buggy to=
o...<br>
> > > >> ><br>
> > > >> ><br>
> > > >> > ><br>
> > > >> > > I think we turned on places between versi=
on 5.1.1 and 5.1.1.2.<br>
> > > >> > ><br>
> > > >> > > What happens if you build with `--disable=
-places'?<br>
> > > >> > ><br>
> > > >> > ><br>
> > > >> > > You should be able to use a binary built =
with `--disable-places'<br>
> > with<br>
> > > >> > > the rest of your existing 5.1.2.3 build. =
Make a fresh build<br>
> > directory<br>
> > > >> > > for `configure' and `make', and t=
hen start DrRacket with<br>
> > > >> > ><br>
> > > >> > > =A0racket/racket3m -l drracket<br>
> > > >> > ><br>
> > > >> ><br>
> > > >> > same bug.<br>
> > > >> ><br>
> > > >> > Laurent<br>
> > > >><br>
> > > ><br>
> > > ><br>
> ><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>
--bcaec51dd17512d99804abe0f777--
State changed from "open" to "closed" by mflatt@racket-lang.org at Wed, 28 Dec 2011 20:32:17 -0500
Reason>>> A commit by mflatt@racket-lang.org has resolved this report
http://git.racket-lang.org/plt/commit/580c952e46