View gist:064fc55f0c333d37a4f5
1 2 3 4 5 6 7 8 9
$ make
mkdir -p target
clang -Wextra -Wall -pedantic -std=c++11 src/register.cpp src/variable_scope.cpp src/heap.cpp src/compiled_code.cpp src/call_frame.cpp src/instruction.cpp src/object.cpp -o target/aeon
/usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
/tmp/register-9740a5.o: In function `std::vector<aeon::Object*, std::allocator<aeon::Object*> >::_M_range_check(unsigned long) const':
src/register.cpp:(.text._ZNKSt6vectorIPN4aeon6ObjectESaIS2_EE14_M_range_checkEm[_ZNKSt6vectorIPN4aeon6ObjectESaIS2_EE14_M_range_checkEm]+0x5a): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
/tmp/register-9740a5.o: In function `void std::vector<aeon::Object*, std::allocator<aeon::Object*> >::_M_insert_aux<aeon::Object*>(__gnu_cxx::__normal_iterator<aeon::Object**, std::vector<aeon::Object*, std::allocator<aeon::Object*> > >, aeon::Object*&&)':
src/register.cpp:(.text._ZNSt6vectorIPN4aeon6ObjectESaIS2_EE13
View gist:52e7079707e703e5357c
1 2 3 4 5 6 7 8 9
Starting program: /home/yorickpeterse/.rubies/rbx-git/bin/rbx -Xcapi.lock /tmp/crashssl.rb
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
rubysl-openssl: 2.3.1
rubysl-digest: 2.0.7
Starting threads...
An exception occurred running /tmp/crashssl.rb:
 
Expected digest "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" to equal "83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab" (RuntimeError)
View gist:197dc855828b3f4538cf
1 2 3 4 5 6 7 8 9
$ ruby /tmp/crashssl.rb
rubysl-openssl: 2.3.1
rubysl-digest: 2.0.7
Starting threads...
An exception occurred running /tmp/crashssl.rb:
 
Expected digest "70b9d40465992fa71a861e050481fb1a4bed5c8aa127272e7bf5838a3b0ab240" to equal "83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab" (RuntimeError)
 
Backtrace:
View openssl.rb
1 2 3 4 5 6 7 8 9 10
rubysl-openssl: 2.3.0
rubysl-digest: 2.0.7
Starting threads...
expected 56397360f80a778204fb02da0c6590613ae45f7b5335f8cd8db46a809bd33ce5 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab
expected 56397360f80a778204fb02da0c6590613ae45f7b5335f8cd8db46a809bd33ce5 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab
expected 70b9d40465992fa71a861e050481fb1a4bed5c8aa127272e7bf5838a3b0ab240 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab
expected 70b9d40465992fa71a861e050481fb1a4bed5c8aa127272e7bf5838a3b0ab240 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab
expected 9292f26a8d1ce66f44eda88a679821f650e1d523ce6d1cff9d3e2ebfc79a3499 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab
expected 9292f26a8d1ce66f44eda88a679821f650e1d523ce6d1cff9d3e2ebfc79a3499 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab
expected 70b9d40465992fa71a861e050481fb1a4bed5c8aa127272e7bf5838a3b0ab24
View openssl.rb
1 2 3 4 5 6 7 8 9 10
require 'openssl'
require 'thread'
 
puts "rubysl-openssl: #{RubySL::OpenSSL::VERSION}"
puts "rubysl-digest: #{RubySL::Digest::VERSION}"
 
Thread.abort_on_exception = true
 
input = 'the cake is possibly a lie'
digest = Digest::SHA256.new
View gist:4124a5097e652825188d
1 2 3 4 5 6 7 8 9 10
Starting threads...
An exception occurred running /tmp/openssl.rb:
 
Expected digest "9292f26a8d1ce66f44eda88a679821f650e1d523ce6d1cff9d3e2ebfc79a3499" to equal "83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab" (RuntimeError)
 
Backtrace:
 
{ } in Object#__script__ at /tmp/openssl.rb:24
Kernel(Object)#loop at kernel/common/kernel.rb:511
{ } in Object#__script__ at /tmp/openssl.rb:17
View gist:50edd3fa47e63214caaf
1 2 3 4 5 6 7 8 9 10
irb(main):006:0> digest1 = OpenSSL::Digest::SHA256.new
=> #<OpenSSL::Digest::SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
irb(main):007:0> digest2 = OpenSSL::Digest::SHA256.new
=> #<OpenSSL::Digest::SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
irb(main):008:0> digest1.update('the cake is possibly a lie')
=> #<OpenSSL::Digest::SHA256: 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab>
irb(main):009:0> digest2.update('the cake is possibly a lie')
=> #<OpenSSL::Digest::SHA256: 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab>
irb(main):010:0> digest1.hexdigest
=> "83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab"
View crash_with_capi_lock
1 2 3 4 5 6 7 8 9 10
Starting threads...
An exception occurred running /tmp/openssl_thread.rb:
 
Expected digest "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" to equal "83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab" (RuntimeError)
 
Backtrace:
 
{ } in Object#__script__ at /tmp/openssl_thread.rb:23
Kernel(Object)#loop at kernel/common/kernel.rb:511
{ } in Object#__script__ at /tmp/openssl_thread.rb:16
View gist:9588b2e71492a7ce2375
1 2 3 4 5 6 7 8 9 10
$ rake
cp wat.gemspec tmp/x86_64-linux/stage/wat.gemspec
install -c tmp/x86_64-linux/wat/2.2.1/wat.so lib/wat.so
cp tmp/x86_64-linux/wat/2.2.1/wat.so tmp/x86_64-linux/stage/lib/wat.so
Snippet: Struct.new(:foo, :bar) [OK]
Snippet: Struct.new(:foo, :bar).new -e:1: [BUG] Segmentation fault at 0x00000000000018
Snippet: Struct.new(:foo, :bar).new.class [OK]
Snippet: Struct.new(:foo, :bar).class -e:1:in `rb_struct_s_members': uninitialized struct (TypeError)
Snippet: Struct.new('WTF', :foo, :bar) [OK]
Snippet: Struct.new('WTF', :foo, :bar).new -e:1: [BUG] Segmentation fault at 0x00000000000018
View gist:b0ce0fb339f9004f1de7
1 2 3 4 5 6 7 8 9 10
rb_struct_s_members(Struct.new(:foo, :bar)) # => segfault
rb_struct_s_members(Struct.new(:foo, :bar).new) # => segfault
rb_struct_s_members(Struct.new(:foo, :bar).new.class) # => segfault
rb_struct_s_members(Struct.new(:foo, :bar).class) # => TypeError: uninitialized struct
rb_struct_s_members(Struct.new('WTF', :foo, :bar)) # => segfault
rb_struct_s_members(Struct.new('WTF', :foo, :bar).new) # => segfault
rb_struct_s_members(Struct.new('WTF', :foo, :bar).new(5, 6)) # => segfault
rb_struct_s_members(Class.new(Struct)) # => TypeError: uninitialized struct
rb_struct_s_members(Class.new(Struct).new(:foo, :bar)) # => segfault
rb_struct_s_members(Class.new(Struct).new(:foo, :bar).new) # => segfault
Something went wrong with that request. Please try again.