[info-mcl] RMCL 5.2 on Snow Leopard: floating point issues

Toomas Altosaar Toomas.Altosaar at hut.fi
Fri Oct 16 07:07:45 CDT 2009


>I thought the "MCL developers" were us!
>
>I get the same float problem (Mac Pro 2009, MacOS 10.6.1, RMCL 5.2b6).
>I loaded the patches in
><http://code.google.com/p/mcl/source/detail?r=ff3f7eb878e5d61e1a8e83f6d19b3a3ea86de346>
>but no fix of this float bug.
>
>I also get curious behavior on file & directory
>opening dialogs, slow, often very slow, and on
>some occasions a complete hang (spinning
>beachball).
>Also directory contents sometimes missing in List
>view (I have to climb back up the directory
>hierarchy to get visible contents).

Exactly the same problem observed here with List 
view, MCL 5.1b4, all running on 10.5.8 on PPC!

And when I start to climb back deeper to get some 
visible contents, more often than not I get the 
beachball (seems like "always" is the correct 
word these days).

No errors reported in AltConsole. Activity 
Monitor trace shows that MCL is waiting on a 
semaphore.

Obviously something broke between 10.4 and 10.5 
with the choose-file-dialog and 
choose-directory-dialog (they all end up calling 
basically the same routines underneath).

>
>At 2:06 PM +0800 09/10/16, Chun Tian wrote:
>>Hi, Alexander
>>
>>Thanks, this time I can reproduce the bug too.
>>
>>Let's see how MCL developers handle this issue.
>>
>>--binghe
>>
>>çð 2009-10-16ÅC13:58ÅC Alexander Repenning é ì¼ÅF
>>
>>>   The problem manifests itself with returning every float value as 0.0
>>>   which is a likely source of causing division by zero float error.
>>>
>>>   I still do not know what causes this problem. There is no obvious CL
>>>   code that could explain this. However, there is good news, or at
>>>   least good enough news. I can now replicate the bug. Tracking the
>>>   bug in a large code base finally turned up this unlikely culprit:
>>>
>>>   Welcome to Macintosh Common Lisp Version 5.2!
>>>   ? 3.3
>>>   3.3
>>>   ? (choose-directory-dialog)
>>>   #P"Double Ristretto:Users:alex:Desktop:RMCL 5.2:level-1:"
>>>   ? 3.3
>>>   0.0
>>>   ?
>>>
>>>   OS X 10.6.1, Core 2 Duo, 2.6 Ghz MacBook Pro with a fresh copy of
>>>   RMCL from Google Code.
>>>
>>>   time to sleep...
>>>
>>>   Alex
>>>
>>>
>>>
>>>   On Oct 15, 2009, at 9:30 PM, Chun Tian wrote:
>>>
>>>>   Hi again,
>>>>
>>>>>   (this is in a Listerner 1 process "initial" breaking after the error
>>>>>   occurring for the first time resulting in float /0 errors)
>>>>
>>>>   What does above mean? I try to eval something like (/ 1.0 0.0) first,
>>>>   but the rest of those float tests are still keep the same.
>>>>
>>>>   --binghe
>>>>
>>>>   çð 2009-10-16ÅC11:26ÅC Chun Tian é ì¼ÅF
>>>>
>>>>>   Hi, Alexander
>>>>>
>>>>>   Hmmm ... I'm also in Snow Leopard using RMCL 5.2, but your tests are
>>>>>   all fine here:
>>>>>
>>>>>   Welcome to Macintosh Common Lisp Version 5.2!
>>>>>   ? 3
>>>>>   3
>>>>>   ? 3.0
>>>>>   3.0
>>>>>   ? *read-default-float-format*
>>>>>   SINGLE-FLOAT
>>>>>   ? (setq *read-default-float-format* 'short-float)
>>>>>   SHORT-FLOAT
>>>>>   ? 3
>>>>>   3
>>>>>   ? 3.3
>>>>>   3.3
>>>>>   ? (float 3)
>>>>>   3.0
>>>>>   ? (+ 4.5 5.5)
>>>>>   10.0
>>>>>   ?
>>>>>
>>>>>   This is Mac OS X 10.6.1 on Intel Core 2 Duo 2.66GHz (MacBookPro5,2).
>>>>>   I just want to clarify that not everyone met the same issue as you
>>>>>   (I'm sorry for that).
>>>>>
>>>>>   Regards,
>>>>>
>>>>>   Chun Tian (binghe)
>>>>>
>>>>>   çð 2009-10-16ÅC4:38ÅC Alexander Repenning é ì¼ÅF
>>>>>
>>>>>>   getting closer to WHAT is happening but not WHY. Keep in mind this
>>>>>>   worked on Leopard but not Snow Leopard. I would assume this is has
>>>>>>   something to do with the new version of Rosetta. Here are some
>>>>>>   stunning listener interactions (this is in a Listerner 1 process
>>>>>>   "initial" breaking after the error occurring for the first time
>>>>>>   resulting in float /0 errors):
>>>>>>
>>>>>>   1 > 3
>>>>>>   3
>>>>>>   ;; OK
>>>>>>   1 > 3.0
>>>>>>   1.06099791E-315
>>>>>>   ;; HUH!!!
>>>>>>
>>>>>>   1 > (setq *read-default-float-format* 'short-float)
>>>>>>   SHORT-FLOAT
>>>>>>   1 > 3
>>>>>>   3
>>>>>>   1 > 3.3
>>>>>>   0.0
>>>>>>   1 > (float 3)
>>>>>>   0.0
>>>>>>   1 > (+ 4.5 5.5)
>  >>>>>  0.0
>>>>>>
>>>>>>   Looks as if ANY kind of float returned is a 0.0
>>>>>>
>>>>>>   Meanwhile, in the regular listerner things are still working as
>>>>>>   expected.
>>>>>>
>>>>>>   I am stumped at the moment and would appreciate any pointer or even
>>>>>>   wild guesses on how RMCL could possibly enter this state.
>>>>>>
>>>>>>   So far I have only seen the problem in process initial but I am not
>>>>>>   sure if this is relevant.
>>>>>>
>>>>>>   all the best,  Alex
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>   On Oct 14, 2009, at 2:57 PM, Terje Norderhaug wrote:
>>>>>>
>>>>>>>   On Oct 14, 2009, at 9:15 AM, Alexander Repenning wrote:
>>>>>>>>   What kinds of  issues do people have out there with RMCL 5.2 and
>>>>>>>>   Snow Leopard (OS X, 10.6.1)?
>>   >>>>>>
>>>>>>>>   Things almost work here but there are some strange floating point
>>>>>>>>   issues (with shorts).
>>>>>>>>
>>>>>>>>   At least we get further, ironically, with RCML 5.2 than CCL 1.3
>>>>>>>>   which immediately quits. What is the version of CCL one should
>>>>>>>>   use
>>>>>>>>   to work under OS X 10.6.1?
>>>>>>>
>>>>>>>   Are these the same as the problems discussed in issue 8 at
>>   >>>>> mcl.googlecode.com?
>>>>>>>
>>   >>>>> http://code.google.com/p/mcl/issues/detail?id=8
>>>>>>>
>>>>>>>   Gary made some changes to the floating point functionality, but
>>>>>>>   come
>>>>>>>   to think about it, these changes may not have been propagated into
>>>>>>>   the distribution yet:
>>>>>>>
>>   >>>>> http://code.google.com/p/mcl/source/detail?
>>   >>>>> r=ff3f7eb878e5d61e1a8e83f6d19b3a3ea86de346
>>>>>>>
>>>>>>>   -- Terje
>>   >>>>> _______________________________________________
>
>_______________________________________________
>info-mcl mailing list
>info-mcl at clozure.com
>http://clozure.com/mailman/listinfo/info-mcl




More information about the info-mcl mailing list