#272 √ resolved
Charles Oliver Nutter

[BUG] Crash running Borasky's MatrixBenchmark to size 64

Reported by Charles Oliver Nutter | January 23rd, 2008 @ 02:11 AM | in 1.0 preview

The next test will run about 8 times (or more) as long as the last one.
Just "Enter" to continue, or enter a non-empty string to quit:
Hilbert matrix of dimension 64 times its inverse = identity? 
An error has occured: Bus violation (SIGBUS) (10)

Ruby backtrace:
  0x128f30 Numeric#<=>+0 in kernel/core/numeric.rb:119
  0x128ec8 Bignum#<=>+12 in kernel/bootstrap/bignum.rb:84
  0x128e5c Comparable#__internal_compare__+12 in kernel/core/comparable.rb:93
  0x128df4 Comparable#<+15 in kernel/core/comparable.rb:68
  0x128da0 Numeric#abs+6 in kernel/core/numeric.rb:53
  0x128d38 Bignum#%+94 in kernel/core/bignum.rb:20
  0x128cc8 Numeric#%+70 in kernel/core/numeric.rb:37
  0x128c60 Fixnum#%+12 in kernel/bootstrap/fixnum.rb:31
  0x128bec Integer#gcd+37 in /Users/headius/NetBeansProjects/rubinius/lib/rational.rb:443
  0x128b7c Class#reduce+70 in /Users/headius/NetBeansProjects/rubinius/lib/rational.rb:78
  0x128b10 Object#Rational+49 in /Users/headius/NetBeansProjects/rubinius/lib/rational.rb:35
  0x128a98 Rational#*+49 in /Users/headius/NetBeansProjects/rubinius/lib/rational.rb:177
  0x128a20 Rational#*+72 in /Users/headius/NetBeansProjects/rubinius/lib/rational.rb:179
  0x1289b8 <none>#<block>+40 in stdlib/matrix.rb:614
  0x116448 Integer#upto+25 in kernel/core/integer.rb:24
  0x115f9c <none>#<block>+111 in stdlib/matrix.rb:612
  0x115f34 Proc#call+22 in kernel/core/proc.rb:66
 0x1400b34 Integer#upto+25 in kernel/core/integer.rb:24
 0x1400c90 Range#each+101 in kernel/core/range.rb:139
 0x1400bb0 <none>#<block>+184 in stdlib/matrix.rb:603
 0x1400d14 Proc#call+22 in kernel/core/proc.rb:66
 0x1400e14 Integer#upto+25 in kernel/core/integer.rb:24
 0x1400f14 Range#each+101 in kernel/core/range.rb:139
 0x14007c0 Matrix#inverse_from+46 in stdlib/matrix.rb:592
 0x1400958 Matrix#inv+35 in stdlib/matrix.rb:581
 0x1400c04 <none>#<block>+37 in ../cougar/MatrixBenchmark/MatrixBenchmark.rb:9
 0x1400d7c Class#measure+37 in stdlib/benchmark.rb:296
 0x1400e84 Object#do_benchmark+14 in ../cougar/MatrixBenchmark/MatrixBenchmark.rb:13
 0x1400fc0 Class#__script__+79 in ../cougar/MatrixBenchmark/MatrixBenchmark.rb:26
 0x140109c CompiledMethod#as_script+81 in kernel/core/compiled_method.rb:202
 0x1401240 Class#single_load+388 in kernel/core/compile.rb:203
 0x14012cc Class#load_from_extension+237 in kernel/core/compile.rb:281
 0x140133c Class#__script__+1021 in kernel/loader.rb:174

VM Registers:
IP: 0012
SP: 0236
Exception: none

Comments and changes to this ticket

  • Eero Saynatkari

    Eero Saynatkari January 26th, 2008 @ 02:35 PM

    • → State changed from “new” to “open”
    • → Title changed from “Crash running Borasky's MatrixBenchmark to size 64” to “[BUG] Crash running Borasky's MatrixBenchmark to size 64”
  • Tom Mornini

    Tom Mornini February 14th, 2008 @ 03:21 AM

    I think this can be closed now.

    ~/Desktop/rbx: shotgun/rubinius test/benchmark/borasky/bm_MatrixBenchmark.rb
    Hilbert matrix of dimension 1 times its inverse = identity? true
      0.001290   0.000000   0.001290 (  0.001307)
    
    The next test will run about 8 times (or more) as long as the last one.
    Just "Enter" to continue, or enter a non-empty string to quit:
    Hilbert matrix of dimension 2 times its inverse = identity? true
      0.002059   0.000000   0.002059 (  0.002068)
    
    The next test will run about 8 times (or more) as long as the last one.
    Just "Enter" to continue, or enter a non-empty string to quit:
    Hilbert matrix of dimension 4 times its inverse = identity? true
      0.031237   0.000000   0.031237 (  0.031284)
    
    The next test will run about 8 times (or more) as long as the last one.
    Just "Enter" to continue, or enter a non-empty string to quit:
    Hilbert matrix of dimension 8 times its inverse = identity? true
      0.061162   0.000000   0.061162 (  0.061171)
    
    The next test will run about 8 times (or more) as long as the last one.
    Just "Enter" to continue, or enter a non-empty string to quit:
    Hilbert matrix of dimension 16 times its inverse = identity? true
      0.530011   0.000000   0.530011 (  0.530019)
    
    The next test will run about 8 times (or more) as long as the last one.
    Just "Enter" to continue, or enter a non-empty string to quit:
    Hilbert matrix of dimension 32 times its inverse = identity? true
      5.734422   0.000000   5.734422 (  5.734431)
    
    The next test will run about 8 times (or more) as long as the last one.
    Just "Enter" to continue, or enter a non-empty string to quit:
    Hilbert matrix of dimension 64 times its inverse = identity? true
     83.340881   0.000000  83.340881 ( 83.340890)
    
    The next test will run about 8 times (or more) as long as the last one.
    Just "Enter" to continue, or enter a non-empty string to quit:
    
  • Brian Ford

    Brian Ford February 14th, 2008 @ 10:54 AM

    • → State changed from “open” to “resolved”

    Quite the speed improvement, too. Good times.

Please Login or create a free account to add a new comment.

You can update this ticket by sending an email to from your email client. (help)

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »