default   Racket Bugs
Main PageQuick QueryStandard QueryAdvanced QueryHelp
Log in

View Problem Report: 12070

send email to interested parties or send email followup to audit-trail
Reporter's email: laurent dot orseau at gmail dot com
Number: 12070
Category: mzscheme
Synopsis: Floating point operations returns 0.0 instead of result!
Class: sw-bug
Responsible: mflatt
Notify-List:
Severity: critical
Priority: medium
State: closed
Confidential: no
Arrival-Date: Thu Jul 21 04:36:01 -0400 2011
Closed-Date: Wed Dec 28 20:32:17 -0500 2011
Last-Modified: Wed Dec 28 20:32:17 -0500 2011
Originator: Laurent Orseau
Organization: plt
Submitter-Id: unknown
Release: 5.1.2.3--2011-07-18(5efe700/a)
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))
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
File Attachments:
How-To-Repeat:
Fix:
Release-Note:
Unformatted:

send email to interested parties or send email followup to audit-trail

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&#39;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">&lt;<a href=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu=
 </a>&gt;</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&#39;t been able to replicate the problem on my machine.<br>
 <br>
 Can you tell whether it&#39;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>&gt;=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&#39;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">&lt;<a href=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.=
 utah.edu</a>&gt;</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>
 &gt; But now there is something very weird... I still have 5.1.1.2, and I h=
 ave<br>
 &gt; run this version too.<br>
 &gt; There too I see the bug.<br></div></blockquote><div><br>Also tested wi=
 th 5.1.0.3 and it&#39;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&#39;?<br>
 <br>
 <br>
 You should be able to use a binary built with `--disable-places&#39; with<b=
 r>
 the rest of your existing 5.1.2.3 build. Make a fresh build directory<br>
 for `configure&#39; and `make&#39;, 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&#39;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&#39;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">&lt;<a href=3D"mailto:mflatt@cs.utah.edu"=
 >mflatt@cs.utah.edu</a>&gt;</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&#39;t think the JIT evaluates the `(* 99 0.33)&#39; 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>
 &gt; On Thu, Jul 21, 2011 at 23:54, Matthew Flatt &lt;<a href=3D"mailto:mfl=
 att@cs.utah.edu">mflatt@cs.utah.edu</a>&gt; wrote:<br>
 &gt;<br>
 &gt; &gt; At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:<br>
 &gt; &gt; &gt; But now there is something very weird... I still have 5.1.1.=
 2, and I have<br>
 &gt; &gt; &gt; run this version too.<br>
 &gt; &gt; &gt; There too I see the bug.<br>
 &gt; &gt;<br>
 &gt;<br>
 &gt; Also tested with 5.1.0.3 and it&#39;s buggy too...<br>
 &gt;<br>
 &gt;<br>
 &gt; &gt;<br>
 &gt; &gt; I think we turned on places between version 5.1.1 and 5.1.1.2.<br=
 >
 &gt; &gt;<br>
 &gt; &gt; What happens if you build with `--disable-places&#39;?<br>
 &gt; &gt;<br>
 &gt; &gt;<br>
 &gt; &gt; You should be able to use a binary built with `--disable-places&#=
 39; with<br>
 &gt; &gt; the rest of your existing 5.1.2.3 build. Make a fresh build direc=
 tory<br>
 &gt; &gt; for `configure&#39; and `make&#39;, and then start DrRacket with<=
 br>
 &gt; &gt;<br>
 &gt; &gt; =A0racket/racket3m -l drracket<br>
 &gt; &gt;<br>
 &gt;<br>
 &gt; same bug.<br>
 &gt;<br>
 &gt; 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 &quot;33.33&quot;</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 &quot;33.33&quot;<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">&lt;<a href=3D"mai=
 lto:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>&gt;</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&#39;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&#39;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">=
 &lt;<a href=3D"mailto:mflatt@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.=
 edu</a>&gt;</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&#39;t think the JIT evaluates the `(* 99 0.33)&#39; 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>
 &gt; On Thu, Jul 21, 2011 at 23:54, Matthew Flatt &lt;<a href=3D"mailto:mfl=
 att@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>&gt; wrote:<br>
 &gt;<br>
 &gt; &gt; At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:<br>
 &gt; &gt; &gt; But now there is something very weird... I still have 5.1.1.=
 2, and I have<br>
 &gt; &gt; &gt; run this version too.<br>
 &gt; &gt; &gt; There too I see the bug.<br>
 &gt; &gt;<br>
 &gt;<br>
 &gt; Also tested with 5.1.0.3 and it&#39;s buggy too...<br>
 &gt;<br>
 &gt;<br>
 &gt; &gt;<br>
 &gt; &gt; I think we turned on places between version 5.1.1 and 5.1.1.2.<br=
 >
 &gt; &gt;<br>
 &gt; &gt; What happens if you build with `--disable-places&#39;?<br>
 &gt; &gt;<br>
 &gt; &gt;<br>
 &gt; &gt; You should be able to use a binary built with `--disable-places&#=
 39; with<br>
 &gt; &gt; the rest of your existing 5.1.2.3 build. Make a fresh build direc=
 tory<br>
 &gt; &gt; for `configure&#39; and `make&#39;, and then start DrRacket with<=
 br>
 &gt; &gt;<br>
 &gt; &gt; =A0racket/racket3m -l drracket<br>
 &gt; &gt;<br>
 &gt;<br>
 &gt; same bug.<br>
 &gt;<br>
 &gt; 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">&lt;<a href=3D"mailto:mflatt@=
 cs.utah.edu">mflatt@cs.utah.edu</a>&gt;</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&#39;t been able to<br>
 replicate the behavior. We&#39;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>
 &gt; The initial report was:<br>
 &gt;<br>
 &gt; &gt; Follow this exact sequence:<br>
 &gt; &gt; 1) Close all DrRacket windows<br>
 &gt; &gt; 2) Open a new DrRacket window<br>
 &gt; &gt; 3) Type the following program:<br>
 &gt; &gt; #lang racket<br>
 &gt; &gt; (* 95 .33)<br>
 &gt; &gt;<br>
 &gt; &gt; 4) Evaluate. On my screen, this displays 0.0!<br>
 &gt; &gt; 5) After the last line, add &quot;33.33&quot;<br>
 &gt; &gt; 6) Evaluate. You should see :<br>
 &gt; &gt; 0.0<br>
 &gt; &gt; 33.33<br>
 &gt; &gt; 7) Modify the (* 95 .33) line into (* 95 .33). (just add a . afte=
 r 95)<br>
 &gt; &gt; 8) Evaluate. You should see:<br>
 &gt; &gt; 31.35<br>
 &gt; &gt; 33.33<br>
 &gt; &gt;<br>
 &gt;<br>
 &gt; which has a 2 mistakes (and I *did* check several times!), corrected i=
 n red:<br>
 &gt;<br>
 &gt; Follow this exact sequence:<br>
 &gt; 1) Close all DrRacket windows<br>
 &gt; 2) Open a new DrRacket window<br>
 &gt; 3) Type the following program:<br>
 &gt; #lang racket<br>
 &gt; (* 95 .33)<br>
 &gt;<br>
 &gt; 4) Evaluate. On my screen, this displays 0.0!<br>
 &gt; 5) After the last line, add &quot;33.33&quot;<br>
 &gt; 6) Evaluate. You should see :<br>
 &gt; 0.0<br>
 &gt; 33.0<br>
 &gt; 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add a . after =
 95)<br>
 &gt; 8) Evaluate. You should see:<br>
 &gt; 31.35<br>
 &gt; 33.33<br>
 &gt;<br>
 &gt; Maybe this makes more sense.<br>
 &gt;<br>
 &gt; I also updated my system, installed 5.3.3, but nothing has changed.<br=
 >
 &gt;<br>
 &gt; Have you =A0got any other similar report?<br>
 &gt;<br>
 &gt; Laurent<br>
 &gt;<br>
 &gt;<br>
 &gt; On Tue, Aug 16, 2011 at 10:12, Laurent &lt;<a href=3D"mailto:laurent.o=
 rseau@gmail.com">laurent.orseau@gmail.com</a>&gt; wrote:<br>
 &gt;<br>
 &gt; &gt; Hi,<br>
 &gt; &gt;<br>
 &gt; &gt; Sorry for the delay. I&#39;ve downloaded v5.1.3.1, and the proble=
 m remains.<br>
 &gt; &gt; Tried disabling the JIT, but still not better (although one trial=
  worked<br>
 &gt; &gt; correctly, the next one didn&#39;t).<br>
 &gt; &gt;<br>
 &gt; &gt; Maybe the problems lies in the parts that are not freshly reinsta=
 lled each<br>
 &gt; &gt; time, like planet packages or the like?<br>
 &gt; &gt;<br>
 &gt; &gt; Laurent<br>
 &gt; &gt;<br>
 &gt; &gt;<br>
 &gt; &gt; On Fri, Jul 22, 2011 at 15:04, Matthew Flatt &lt;<a href=3D"mailt=
 o:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt; wrote:<br>
 &gt; &gt;<br>
 &gt; &gt;&gt; Does disabling the JIT have any effect? (You can set the PLTN=
 OMZJIT<br>
 &gt; &gt;&gt; environment variable.)<br>
 &gt; &gt;&gt;<br>
 &gt; &gt;&gt; My only guess at the moment is that the JIT is mangling the F=
 P stack. I<br>
 &gt; &gt;&gt; don&#39;t think the JIT evaluates the `(* 99 0.33)&#39; expre=
 ssion, because it<br>
 &gt; &gt;&gt; should be constant-folded away, but other JIT-generated code =
 could<br>
 &gt; &gt;&gt; break non-JIT calculations by leaving the x87 FP stack in a b=
 ad state.<br>
 &gt; &gt;&gt;<br>
 &gt; &gt;&gt; At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<br>
 &gt; &gt;&gt; &gt; On Thu, Jul 21, 2011 at 23:54, Matthew Flatt &lt;<a href=
 =3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt;<br>
 &gt; &gt;&gt; wrote:<br>
 &gt; &gt;&gt; &gt;<br>
 &gt; &gt;&gt; &gt; &gt; At Thu, 21 Jul 2011 22:21:40 +0200, Laurent wrote:<=
 br>
 &gt; &gt;&gt; &gt; &gt; &gt; But now there is something very weird... I sti=
 ll have 5.1.1.2, and I<br>
 &gt; &gt;&gt; have<br>
 &gt; &gt;&gt; &gt; &gt; &gt; run this version too.<br>
 &gt; &gt;&gt; &gt; &gt; &gt; There too I see the bug.<br>
 &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt;&gt; &gt;<br>
 &gt; &gt;&gt; &gt; Also tested with 5.1.0.3 and it&#39;s buggy too...<br>
 &gt; &gt;&gt; &gt;<br>
 &gt; &gt;&gt; &gt;<br>
 &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt;&gt; &gt; &gt; I think we turned on places between version 5.1.1 a=
 nd 5.1.1.2.<br>
 &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt;&gt; &gt; &gt; What happens if you build with `--disable-places&#3=
 9;?<br>
 &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt;&gt; &gt; &gt; You should be able to use a binary built with `--di=
 sable-places&#39; with<br>
 &gt; &gt;&gt; &gt; &gt; the rest of your existing 5.1.2.3 build. Make a fre=
 sh build directory<br>
 &gt; &gt;&gt; &gt; &gt; for `configure&#39; and `make&#39;, and then start =
 DrRacket with<br>
 &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt;&gt; &gt; &gt; =A0racket/racket3m -l drracket<br>
 &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt;&gt; &gt;<br>
 &gt; &gt;&gt; &gt; same bug.<br>
 &gt; &gt;&gt; &gt;<br>
 &gt; &gt;&gt; &gt; Laurent<br>
 &gt; &gt;&gt;<br>
 &gt; &gt;<br>
 &gt; &gt;<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>&gt; 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">&lt;<a href=
 =3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt;</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&quot;-mfpmath=3Dsse&quot; 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>
 &gt; Apparently, it uses 387, but i see no -mfpmath flag:<br>
 &gt;<br>
 &gt; # GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)<=
 br>
 &gt; # =A0 =A0compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR vers=
 ion<br>
 &gt; 3.0.0-p8, MPC version 0.9<br>
 &gt; # GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsiz=
 e=3D131072<br>
 &gt; # options passed: =A0-fpreprocessed test.i -mtune=3Dgeneric -march=3Di=
 686<br>
 &gt; # -fverbose-asm -fstack-protector<br>
 &gt; # options enabled: =A0-falign-loops -fargument-alias -fauto-inc-dec<br=
 >
 &gt; # -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cf=
 i-asm<br>
 &gt; # -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcs=
 e-lm<br>
 &gt; # -fident -finline-functions-called-once -fira-share-save-slots<br>
 &gt; # -fira-share-spill-slots -fivopts -fkeep-static-consts<br>
 &gt; # -fleading-underscore -fmath-errno -fmerge-debug-strings<br>
 &gt; # -fmove-loop-invariants -fpcc-struct-return -fpeephole<br>
 &gt; # -fsched-critical-path-heuristic -fsched-dep-count-heuristic<br>
 &gt; # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heurist=
 ic<br>
 &gt; # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic<br>
 &gt; # -fsched-stalled-insns-dep -fshow-column -fsigned-zeros<br>
 &gt; # -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfield=
 s<br>
 &gt; # -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im<br>
 &gt; # -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=3D=
 <br>
 &gt; # -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop<br>
 &gt; # -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time<br>
 &gt; # -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m803=
 87<br>
 &gt; # -m96bit-long-double -maccumulate-outgoing-args -malign-stringops<br>
 &gt; # -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp<br>
 &gt; # -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs<br>
 &gt;<br>
 &gt;<br>
 &gt; Is there somewhere in the Makefile, configure, where I need to change =
 that?<br>
 &gt;<br>
 &gt; Laurent<br>
 &gt;<br>
 &gt; On Wed, Aug 24, 2011 at 13:25, Matthew Flatt &lt;<a href=3D"mailto:mfl=
 att@cs.utah.edu">mflatt@cs.utah.edu</a>&gt; wrote:<br>
 &gt;<br>
 &gt; &gt; Thanks for the update. Unforutnately, I still haven&#39;t been ab=
 le to<br>
 &gt; &gt; replicate the behavior. We&#39;ve had no similar reports so far.<=
 br>
 &gt; &gt;<br>
 &gt; &gt; Does your gcc use 387 or SSE instruction for floating point by de=
 fault?<br>
 &gt; &gt; If you set CFLAGS to either -mfpmath=3D387 or -mfpmath=3Dsse to s=
 witch from<br>
 &gt; &gt; the default, does it change the behavior?<br>
 &gt; &gt;<br>
 &gt; &gt; At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:<br>
 &gt; &gt; &gt; The initial report was:<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Follow this exact sequence:<br>
 &gt; &gt; &gt; &gt; 1) Close all DrRacket windows<br>
 &gt; &gt; &gt; &gt; 2) Open a new DrRacket window<br>
 &gt; &gt; &gt; &gt; 3) Type the following program:<br>
 &gt; &gt; &gt; &gt; #lang racket<br>
 &gt; &gt; &gt; &gt; (* 95 .33)<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; 4) Evaluate. On my screen, this displays 0.0!<br>
 &gt; &gt; &gt; &gt; 5) After the last line, add &quot;33.33&quot;<br>
 &gt; &gt; &gt; &gt; 6) Evaluate. You should see :<br>
 &gt; &gt; &gt; &gt; 0.0<br>
 &gt; &gt; &gt; &gt; 33.33<br>
 &gt; &gt; &gt; &gt; 7) Modify the (* 95 .33) line into (* 95 .33). (just ad=
 d a . after 95)<br>
 &gt; &gt; &gt; &gt; 8) Evaluate. You should see:<br>
 &gt; &gt; &gt; &gt; 31.35<br>
 &gt; &gt; &gt; &gt; 33.33<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; which has a 2 mistakes (and I *did* check several times!), c=
 orrected in<br>
 &gt; &gt; red:<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Follow this exact sequence:<br>
 &gt; &gt; &gt; 1) Close all DrRacket windows<br>
 &gt; &gt; &gt; 2) Open a new DrRacket window<br>
 &gt; &gt; &gt; 3) Type the following program:<br>
 &gt; &gt; &gt; #lang racket<br>
 &gt; &gt; &gt; (* 95 .33)<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; 4) Evaluate. On my screen, this displays 0.0!<br>
 &gt; &gt; &gt; 5) After the last line, add &quot;33.33&quot;<br>
 &gt; &gt; &gt; 6) Evaluate. You should see :<br>
 &gt; &gt; &gt; 0.0<br>
 &gt; &gt; &gt; 33.0<br>
 &gt; &gt; &gt; 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add =
 a . after 95)<br>
 &gt; &gt; &gt; 8) Evaluate. You should see:<br>
 &gt; &gt; &gt; 31.35<br>
 &gt; &gt; &gt; 33.33<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Maybe this makes more sense.<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; I also updated my system, installed 5.3.3, but nothing has c=
 hanged.<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Have you =A0got any other similar report?<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Laurent<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; On Tue, Aug 16, 2011 at 10:12, Laurent &lt;<a href=3D"mailto=
 :laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>&gt; wrote:<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Hi,<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Sorry for the delay. I&#39;ve downloaded v5.1.3.1, and =
 the problem remains.<br>
 &gt; &gt; &gt; &gt; Tried disabling the JIT, but still not better (although=
  one trial<br>
 &gt; &gt; worked<br>
 &gt; &gt; &gt; &gt; correctly, the next one didn&#39;t).<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Maybe the problems lies in the parts that are not fresh=
 ly reinstalled<br>
 &gt; &gt; each<br>
 &gt; &gt; &gt; &gt; time, like planet packages or the like?<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Laurent<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; On Fri, Jul 22, 2011 at 15:04, Matthew Flatt &lt;<a hre=
 f=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt;<br>
 &gt; &gt; wrote:<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; Does disabling the JIT have any effect? (You can se=
 t the PLTNOMZJIT<br>
 &gt; &gt; &gt; &gt;&gt; environment variable.)<br>
 &gt; &gt; &gt; &gt;&gt;<br>
 &gt; &gt; &gt; &gt;&gt; My only guess at the moment is that the JIT is mang=
 ling the FP stack.<br>
 &gt; &gt; I<br>
 &gt; &gt; &gt; &gt;&gt; don&#39;t think the JIT evaluates the `(* 99 0.33)&=
 #39; expression, because it<br>
 &gt; &gt; &gt; &gt;&gt; should be constant-folded away, but other JIT-gener=
 ated code could<br>
 &gt; &gt; &gt; &gt;&gt; break non-JIT calculations by leaving the x87 FP st=
 ack in a bad state.<br>
 &gt; &gt; &gt; &gt;&gt;<br>
 &gt; &gt; &gt; &gt;&gt; At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<=
 br>
 &gt; &gt; &gt; &gt;&gt; &gt; On Thu, Jul 21, 2011 at 23:54, Matthew Flatt &=
 lt;<a href=3D"mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt;<br>
 &gt; &gt; &gt; &gt;&gt; wrote:<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; At Thu, 21 Jul 2011 22:21:40 +0200, Laure=
 nt wrote:<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; But now there is something very weir=
 d... I still have 5.1.1.2,<br>
 &gt; &gt; and I<br>
 &gt; &gt; &gt; &gt;&gt; have<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; run this version too.<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; There too I see the bug.<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; Also tested with 5.1.0.3 and it&#39;s buggy to=
 o...<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; I think we turned on places between versi=
 on 5.1.1 and 5.1.1.2.<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; What happens if you build with `--disable=
 -places&#39;?<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; You should be able to use a binary built =
 with `--disable-places&#39;<br>
 &gt; &gt; with<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; the rest of your existing 5.1.2.3 build. =
 Make a fresh build<br>
 &gt; &gt; directory<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; for `configure&#39; and `make&#39;, and t=
 hen start DrRacket with<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; =A0racket/racket3m -l drracket<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; same bug.<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; Laurent<br>
 &gt; &gt; &gt; &gt;&gt;<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt;<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&#39;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">&lt;<a href=3D"mai=
 lto:laurent.orseau@gmail.com">laurent.orseau@gmail.com</a>&gt;</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>&gt; 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">&lt;<a href=
 =3D"mailto:mflatt@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>&gt;=
 </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&quot;-mfpmath=3Dsse&quot; configure<br>
 <br>
 shoudl work.<br>
 <div><div></div><div><br>
 At Wed, 24 Aug 2011 14:21:01 +0200, Laurent wrote:<br>
 &gt; Apparently, it uses 387, but i see no -mfpmath flag:<br>
 &gt;<br>
 &gt; # GNU C (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (i686-linux-gnu)<=
 br>
 &gt; # =A0 =A0compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR vers=
 ion<br>
 &gt; 3.0.0-p8, MPC version 0.9<br>
 &gt; # GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsiz=
 e=3D131072<br>
 &gt; # options passed: =A0-fpreprocessed test.i -mtune=3Dgeneric -march=3Di=
 686<br>
 &gt; # -fverbose-asm -fstack-protector<br>
 &gt; # options enabled: =A0-falign-loops -fargument-alias -fauto-inc-dec<br=
 >
 &gt; # -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cf=
 i-asm<br>
 &gt; # -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcs=
 e-lm<br>
 &gt; # -fident -finline-functions-called-once -fira-share-save-slots<br>
 &gt; # -fira-share-spill-slots -fivopts -fkeep-static-consts<br>
 &gt; # -fleading-underscore -fmath-errno -fmerge-debug-strings<br>
 &gt; # -fmove-loop-invariants -fpcc-struct-return -fpeephole<br>
 &gt; # -fsched-critical-path-heuristic -fsched-dep-count-heuristic<br>
 &gt; # -fsched-group-heuristic -fsched-interblock -fsched-last-insn-heurist=
 ic<br>
 &gt; # -fsched-rank-heuristic -fsched-spec -fsched-spec-insn-heuristic<br>
 &gt; # -fsched-stalled-insns-dep -fshow-column -fsigned-zeros<br>
 &gt; # -fsplit-ivs-in-unroller -fstack-protector -fstrict-volatile-bitfield=
 s<br>
 &gt; # -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-im<br>
 &gt; # -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=3D=
 <br>
 &gt; # -ftree-phiprop -ftree-pta -ftree-reassoc -ftree-scev-cprop<br>
 &gt; # -ftree-slp-vectorize -ftree-vect-loop-version -funit-at-a-time<br>
 &gt; # -fvect-cost-model -fverbose-asm -fzero-initialized-in-bss -m32 -m803=
 87<br>
 &gt; # -m96bit-long-double -maccumulate-outgoing-args -malign-stringops<br>
 &gt; # -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc -mieee-fp<br>
 &gt; # -mno-red-zone -mno-sse4 -mpush-args -msahf -mtls-direct-seg-refs<br>
 &gt;<br>
 &gt;<br>
 &gt; Is there somewhere in the Makefile, configure, where I need to change =
 that?<br>
 &gt;<br>
 &gt; Laurent<br>
 &gt;<br>
 &gt; On Wed, Aug 24, 2011 at 13:25, Matthew Flatt &lt;<a href=3D"mailto:mfl=
 att@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>&gt; wrote:<br>
 &gt;<br>
 &gt; &gt; Thanks for the update. Unforutnately, I still haven&#39;t been ab=
 le to<br>
 &gt; &gt; replicate the behavior. We&#39;ve had no similar reports so far.<=
 br>
 &gt; &gt;<br>
 &gt; &gt; Does your gcc use 387 or SSE instruction for floating point by de=
 fault?<br>
 &gt; &gt; If you set CFLAGS to either -mfpmath=3D387 or -mfpmath=3Dsse to s=
 witch from<br>
 &gt; &gt; the default, does it change the behavior?<br>
 &gt; &gt;<br>
 &gt; &gt; At Wed, 24 Aug 2011 11:33:55 +0200, Laurent wrote:<br>
 &gt; &gt; &gt; The initial report was:<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Follow this exact sequence:<br>
 &gt; &gt; &gt; &gt; 1) Close all DrRacket windows<br>
 &gt; &gt; &gt; &gt; 2) Open a new DrRacket window<br>
 &gt; &gt; &gt; &gt; 3) Type the following program:<br>
 &gt; &gt; &gt; &gt; #lang racket<br>
 &gt; &gt; &gt; &gt; (* 95 .33)<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; 4) Evaluate. On my screen, this displays 0.0!<br>
 &gt; &gt; &gt; &gt; 5) After the last line, add &quot;33.33&quot;<br>
 &gt; &gt; &gt; &gt; 6) Evaluate. You should see :<br>
 &gt; &gt; &gt; &gt; 0.0<br>
 &gt; &gt; &gt; &gt; 33.33<br>
 &gt; &gt; &gt; &gt; 7) Modify the (* 95 .33) line into (* 95 .33). (just ad=
 d a . after 95)<br>
 &gt; &gt; &gt; &gt; 8) Evaluate. You should see:<br>
 &gt; &gt; &gt; &gt; 31.35<br>
 &gt; &gt; &gt; &gt; 33.33<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; which has a 2 mistakes (and I *did* check several times!), c=
 orrected in<br>
 &gt; &gt; red:<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Follow this exact sequence:<br>
 &gt; &gt; &gt; 1) Close all DrRacket windows<br>
 &gt; &gt; &gt; 2) Open a new DrRacket window<br>
 &gt; &gt; &gt; 3) Type the following program:<br>
 &gt; &gt; &gt; #lang racket<br>
 &gt; &gt; &gt; (* 95 .33)<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; 4) Evaluate. On my screen, this displays 0.0!<br>
 &gt; &gt; &gt; 5) After the last line, add &quot;33.33&quot;<br>
 &gt; &gt; &gt; 6) Evaluate. You should see :<br>
 &gt; &gt; &gt; 0.0<br>
 &gt; &gt; &gt; 33.0<br>
 &gt; &gt; &gt; 7) Modify the (* 95 .33) line into (* 95*.* .33). (just add =
 a . after 95)<br>
 &gt; &gt; &gt; 8) Evaluate. You should see:<br>
 &gt; &gt; &gt; 31.35<br>
 &gt; &gt; &gt; 33.33<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Maybe this makes more sense.<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; I also updated my system, installed 5.3.3, but nothing has c=
 hanged.<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Have you =A0got any other similar report?<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; Laurent<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; On Tue, Aug 16, 2011 at 10:12, Laurent &lt;<a href=3D"mailto=
 :laurent.orseau@gmail.com" target=3D"_blank">laurent.orseau@gmail.com</a>&g=
 t; wrote:<br>
 &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Hi,<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Sorry for the delay. I&#39;ve downloaded v5.1.3.1, and =
 the problem remains.<br>
 &gt; &gt; &gt; &gt; Tried disabling the JIT, but still not better (although=
  one trial<br>
 &gt; &gt; worked<br>
 &gt; &gt; &gt; &gt; correctly, the next one didn&#39;t).<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Maybe the problems lies in the parts that are not fresh=
 ly reinstalled<br>
 &gt; &gt; each<br>
 &gt; &gt; &gt; &gt; time, like planet packages or the like?<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; Laurent<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt; On Fri, Jul 22, 2011 at 15:04, Matthew Flatt &lt;<a hre=
 f=3D"mailto:mflatt@cs.utah.edu" target=3D"_blank">mflatt@cs.utah.edu</a>&gt=
 ;<br>
 &gt; &gt; wrote:<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; Does disabling the JIT have any effect? (You can se=
 t the PLTNOMZJIT<br>
 &gt; &gt; &gt; &gt;&gt; environment variable.)<br>
 &gt; &gt; &gt; &gt;&gt;<br>
 &gt; &gt; &gt; &gt;&gt; My only guess at the moment is that the JIT is mang=
 ling the FP stack.<br>
 &gt; &gt; I<br>
 &gt; &gt; &gt; &gt;&gt; don&#39;t think the JIT evaluates the `(* 99 0.33)&=
 #39; expression, because it<br>
 &gt; &gt; &gt; &gt;&gt; should be constant-folded away, but other JIT-gener=
 ated code could<br>
 &gt; &gt; &gt; &gt;&gt; break non-JIT calculations by leaving the x87 FP st=
 ack in a bad state.<br>
 &gt; &gt; &gt; &gt;&gt;<br>
 &gt; &gt; &gt; &gt;&gt; At Fri, 22 Jul 2011 11:33:05 +0200, Laurent wrote:<=
 br>
 &gt; &gt; &gt; &gt;&gt; &gt; 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>&gt;<br>
 &gt; &gt; &gt; &gt;&gt; wrote:<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; At Thu, 21 Jul 2011 22:21:40 +0200, Laure=
 nt wrote:<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; But now there is something very weir=
 d... I still have 5.1.1.2,<br>
 &gt; &gt; and I<br>
 &gt; &gt; &gt; &gt;&gt; have<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; run this version too.<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; There too I see the bug.<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; Also tested with 5.1.0.3 and it&#39;s buggy to=
 o...<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; I think we turned on places between versi=
 on 5.1.1 and 5.1.1.2.<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; What happens if you build with `--disable=
 -places&#39;?<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; You should be able to use a binary built =
 with `--disable-places&#39;<br>
 &gt; &gt; with<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; the rest of your existing 5.1.2.3 build. =
 Make a fresh build<br>
 &gt; &gt; directory<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; for `configure&#39; and `make&#39;, and t=
 hen start DrRacket with<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt; =A0racket/racket3m -l drracket<br>
 &gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; same bug.<br>
 &gt; &gt; &gt; &gt;&gt; &gt;<br>
 &gt; &gt; &gt; &gt;&gt; &gt; Laurent<br>
 &gt; &gt; &gt; &gt;&gt;<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt; &gt;<br>
 &gt; &gt;<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