Bug #1396
closedKernel.sleep fails with some Float values
Description
=begin
I'm on Mac OS X Leopard 10.5.6, running ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9]
irb(main):003:0> sleep (0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)
Errno::EINVAL: Invalid argument - sleep
from (irb):3:in sleep' from (irb):3 from :0 irb(main):004:0> x= (0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1) => 1.0 irb(main):005:0> x.inspect => "1.0" irb(main):006:0> sleep x Errno::EINVAL: Invalid argument - sleep from (irb):6:in
sleep'
from (irb):6
from :0
irb(main):007:0> sleep (x+0.0)
Errno::EINVAL: Invalid argument - sleep
from (irb):7:in sleep' from (irb):7 from :0 irb(main):018:0> sleep((x*100.0)/100.0) Errno::EINVAL: Invalid argument - sleep from (irb):18:in
sleep'
from (irb):18
from :0
irb(main):019:0> sleep((x*100.0).to_i/100.0)
=> 1
=end
Updated by znz (Kazuhiro NISHIYAMA) almost 16 years ago
=begin
I can reproduce on powerpc Mac OS X.
ppc-mac-mini:~ kazu$ build/ruby/ruby_1_8_7/ruby/ruby-1.8.7 -ve 'sleep(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)'
ruby 1.8.7 (2009-01-07 patchlevel 79) [powerpc-darwin9.6.0]
-e:1:in `sleep': Invalid argument - sleep (Errno::EINVAL)
from -e:1
ppc-mac-mini:~ kazu$ gdb --args build/ruby/ruby_1_8_7/ruby/ruby-1.8.7 -ve 'sleep(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)'
GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct 2 04:11:19 UTC 2007)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc-apple-darwin"...Reading symbols for shared libraries ..... done
(gdb) b select
Breakpoint 1 at 0x9fc08
Breakpoint 2 at 0x68160
Breakpoint 3 at 0x64d14
Breakpoint 4 at 0x49fdc
Breakpoint 5 at 0x49f98
warning: Multiple breakpoints were set.
Use the "delete" command to delete unwanted breakpoints.
(gdb) r
Starting program: /Users/kazu/build/ruby/ruby_1_8_7/ruby/ruby-1.8.7 -ve sleep(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)
Reading symbols for shared libraries ++++... done
Breakpoint 1 at 0x92ebac18
Breakpoint 2 at 0x92e83180
Breakpoint 3 at 0x92e7fd14
Breakpoint 4 at 0x92e64fdc
Breakpoint 5 at 0x92e64fb8
ruby 1.8.7 (2009-01-07 patchlevel 79) [powerpc-darwin9.6.0]
Breakpoint 3, 0x92e7fd14 in select$DARWIN_EXTSN ()
(gdb) up
#1 0x00145854 in rb_thread_wait_for (time={tv_sec = 0, tv_usec = 1000000}) at /Users/kazu/wc/ruby/branches/ruby_1_8_7/eval.c:11239
11239 n = select(0, 0, 0, 0, &time);
(gdb) p time
$1 = {
tv_sec = 0,
tv_usec = 1000000
}
(gdb)
=end
Updated by nobu (Nobuyoshi Nakada) almost 16 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r23259.
=end
Updated by shyouhei (Shyouhei Urabe) almost 16 years ago
- Status changed from Closed to Open
- Assignee set to shyouhei (Shyouhei Urabe)
=begin
=end
Updated by shyouhei (Shyouhei Urabe) over 15 years ago
- Status changed from Open to Closed
=begin
Applied in changeset r24060.
=end
Updated by shyouhei (Shyouhei Urabe) over 15 years ago
- Status changed from Closed to Open
- Assignee changed from shyouhei (Shyouhei Urabe) to wyhaines (Kirk Haines)
=begin
=end
Updated by shyouhei (Shyouhei Urabe) over 14 years ago
- Status changed from Open to Assigned
=begin
=end
Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
- Tracker changed from Backport to Bug
- Project changed from 11 to Ruby
- Description updated (diff)
- Status changed from Assigned to Closed
- ruby -v set to ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9]
- Backport set to 2.5: UNKNOWN, 2.6: UNKNOWN