Skip to content

Instantly share code, notes, and snippets.

@cezarsa
Created December 6, 2009 00:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cezarsa/249945 to your computer and use it in GitHub Desktop.
Save cezarsa/249945 to your computer and use it in GitHub Desktop.
cezar@cezar-ubuntu:~/dev/rubinius$ bin/rbx -e "100000000.times { 1 + 1 }"
Stack dump:
0. Running pass 'Unnamed pass: implement Pass::getPassName()' on function '@0'
Error: signal SIGSEGV
bin/rbx[0x81c0db2]
[0x3e1400]
bin/rbx(_ZNK4llvm3Use14getImpliedUserEv+0x7)[0x8925137]
[0x8]
bin/rbx(_ZN4llvm11ConstantIntD0Ev+0x0)[0x88af8a0]
[0xe814245c]
cezar@cezar-ubuntu:~/dev/rubinius$ gdb --args bin/rbx -e "10000000.times { 1 + 1 }"
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/cezar/dev/rubinius/bin/rbx...done.
(gdb) run
Starting program: /home/cezar/dev/rubinius/bin/rbx -e 10000000.times\ \{\ 1\ +\ 1\ \}
[Thread debugging using libthread_db enabled]
[New Thread 0x1b46b70 (LWP 9130)]
[New Thread 0x49f0b70 (LWP 9135)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x49f0b70 (LWP 9135)]
0x08925137 in llvm::Use::getImpliedUser() const ()
(gdb) bt
#0 0x08925137 in llvm::Use::getImpliedUser() const ()
#1 0x089251fb in llvm::Use::getUser() const ()
#2 0x089251e6 in llvm::Use::getUser() const ()
#3 0x08277655 in llvm::value_use_iterator<llvm::User>::operator* (this=0x9183498, f=...)
at vm/external_libs/llvm/include/llvm/Use.h:198
#4 try_to_fold_addition (this=0x9183498, f=...) at vm/llvm/passes.cpp:223
#5 runOnFunction (this=0x9183498, f=...) at vm/llvm/passes.cpp:270
#6 0x08912298 in llvm::FPPassManager::runOnFunction(llvm::Function&) ()
#7 0x049f0084 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) quit
cezar@cezar-ubuntu:~/dev/rubinius_fresh$ bin/rbx -Xjit.show -Xjit.inline.debug -e "10000000.times { 1 + 1 }"
JIT: target search from primitive
JIT: queueing method: Hash#[]=
[[[ JIT Queued method 1/0 ]]]
JIT: queueing method: Object#__block__
[[[ JIT Queued block 2/0 ]]]
JIT: compiling Hash#[]=
inlining: Hash#redistribute into []= (Hash)
NOT inlining: Fixnum#* into redistribute. primitive: fixnum_mul
NOT inlining: Fixnum#* into redistribute. primitive: fixnum_mul
inlining: Hash#setup into redistribute (Hash)
inlining: Rubinius::Tuple#new into setup. generic primitive: jit_stub_tuple_allocate
inlining: primitive fixnum_lt into redistribute.
inlining: Rubinius::Tuple#[] into redistribute. primitive tuple_at
inlining: read to '@next' on Hash::Entry in #redistribute
inlining: writer to '@next' on Hash::Entry in #redistribute
inlining: read to '@key_hash' on Hash::Entry in #redistribute
inlining: Hash#key_index into redistribute (Hash)
inlining: Fixnum#& into key_index. primitive fixnum_and
inlining: Rubinius::Tuple#[] into redistribute. primitive tuple_at
inlining: writer to '@next' on Hash::Entry in #redistribute
inlining: Rubinius::Tuple#[]= into redistribute. primitive tuple_put
NOT inlining: hash. Cache contains 3
Fixnum 86
Symbol 420
String 136
inlining: Fixnum#& into []=. primitive fixnum_and
inlining: Rubinius::Tuple#[] into []=. primitive tuple_at
inlining: Hash::Entry#match? into []= (Hash::Entry)
inlining: Symbol#=== into match?. primitive symbol_s_eqq
inlining: Fixnum#=== into match?. primitive fixnum_s_eqq
inlining: primitive fixnum_equal into match?.
inlining: String#eql? into match?. generic primitive: jit_stub_string_equal
NOT inlining: equal?. Cache contains 2
Symbol 739
Fixnum 53
inlining: read to '@next' on Hash::Entry in #[]=
inlining: Hash::Entry#match? into []= (Hash::Entry)
inlining: Symbol#=== into match?. primitive symbol_s_eqq
inlining: Fixnum#=== into match?. primitive fixnum_s_eqq
inlining: primitive fixnum_equal into match?.
inlining: String#eql? into match?. generic primitive: jit_stub_string_equal
NOT inlining: equal?. Cache contains 2
Symbol 739
Fixnum 53
inlining: writer to '@value' on Hash::Entry in #[]=
inlining: read to '@next' on Hash::Entry in #[]=
NOT inlining: Hash#new_entry into []=. 544 + 69 > 573
inlining: writer to '@next' on Hash::Entry in #[]=
NOT inlining: Hash#new_entry into []=. 544 + 69 > 573
inlining: Rubinius::Tuple#[]= into []=. primitive tuple_put
[[[ JIT finished background compiling 1 (method) ]]]
JIT: compiling block in Object#__block__ near __unknown__.rb:1
Stack dump:
0. Running pass 'Unnamed pass: implement Pass::getPassName()' on function '@0'
Error: signal SIGSEGV
bin/rbx[0x81c0d82]
[0x4f3400]
bin/rbx(_ZNK4llvm3Use14getImpliedUserEv+0x28)[0x8924f38]
[0x8]
bin/rbx(_ZN4llvm11ConstantIntD0Ev+0x0)[0x88af680]
[0xe814245c]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment