datamapper / do

DataObjects
147 stars 73 forks source link

do_sqlite3 segfaults when trying to load extensions #28

Closed ashervb closed 12 years ago

ashervb commented 12 years ago

On MRI 1.9.3

require 'dm-core'

DataMapper.setup(:default, 'sqlite3::memory:')

repository.adapter.send(:with_connection ) {|c| c.extension.load_extension("...")}

Backtrace:

/tmp/test.rb:20: [BUG] Segmentation fault
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0030 p:---- s:0109 b:0109 l:000108 d:000108 CFUNC  :load_extension
c:0029 p:0019 s:0105 b:0105 l:000096 d:000104 BLOCK  /tmp/test.rb:20
c:0028 p:0017 s:0102 b:0102 l:000101 d:000101 METHOD /home/asher/.rvm/gems/ruby-1.9.3-p0/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:276
c:0027 p:0055 s:0097 b:0097 l:000096 d:000096 TOP    /tmp/test.rb:20
c:0026 p:---- s:0095 b:0095 l:000094 d:000094 FINISH
c:0025 p:---- s:0093 b:0093 l:000092 d:000092 CFUNC  :require
c:0024 p:0053 s:0089 b:0089 l:000088 d:000088 METHOD /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36
c:0023 p:0011 s:0082 b:0082 l:0014b8 d:000081 EVAL   (irb):1
c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH
c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC  :eval
c:0020 p:0028 s:0071 b:0071 l:000070 d:000070 METHOD /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/workspace.rb:80
c:0019 p:0033 s:0064 b:0063 l:000062 d:000062 METHOD /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/context.rb:254
c:0018 p:0031 s:0058 b:0058 l:002688 d:000057 BLOCK  /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:159
c:0017 p:0042 s:0050 b:0050 l:000049 d:000049 METHOD /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:273
c:0016 p:0011 s:0045 b:0045 l:002688 d:000044 BLOCK  /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:156
c:0015 p:0144 s:0041 b:0041 l:000024 d:000040 BLOCK  /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:243
c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH
c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC  :loop
c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK  /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:229
c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH
c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC  :catch
c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:228
c:0008 p:0046 s:0022 b:0022 l:002688 d:002688 METHOD /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:155
c:0007 p:0011 s:0019 b:0019 l:0010d8 d:000018 BLOCK  /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:70
c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC  :catch
c:0004 p:0183 s:0011 b:0011 l:0010d8 d:0010d8 METHOD /home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:69
c:0003 p:0142 s:0006 b:0006 l:000958 d:0006d8 EVAL   /home/asher/.rvm/rubies/ruby-1.9.3-p0/bin/irb:16
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000958 d:000958 TOP   

-- Ruby level backtrace information ----------------------------------------
/home/asher/.rvm/rubies/ruby-1.9.3-p0/bin/irb:16:in `<main>'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:69:in `start'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:69:in `catch'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:70:in `block in start'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:155:in `eval_input'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in `block (2 levels) in each_top_level_statement'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:156:in `block in eval_input'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:273:in `signal_status'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb.rb:159:in `block (2 levels) in eval_input'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/context.rb:254:in `evaluate'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/workspace.rb:80:in `evaluate'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/workspace.rb:80:in `eval'
(irb):1:in `irb_binding'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/tmp/test.rb:20:in `<top (required)>'
/home/asher/.rvm/gems/ruby-1.9.3-p0/gems/dm-do-adapter-1.2.0/lib/dm-do-adapter/adapter.rb:276:in `with_connection'
/tmp/test.rb:20:in `block in <top (required)>'
/tmp/test.rb:20:in `load_extension'

-- C level backtrace information -------------------------------------------
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x17bf2a) [0x7fec04fe8f2a] vm_dump.c:796
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x5f487) [0x7fec04ecc487] error.c:258
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_bug+0xb7) [0x7fec04ecd217] error.c:277
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x110d9f) [0x7fec04f7dd9f] signal.c:609
/lib/libpthread.so.0(+0xf270) [0x7fec04c60270]
/usr/lib/libsqlite3.so.0(+0x17761) [0x7fec00dc1761]
/usr/lib/libsqlite3.so.0(+0x246a5) [0x7fec00dce6a5]
/usr/lib/libsqlite3.so.0(+0x2ab38) [0x7fec00dd4b38]
/usr/lib/libsqlite3.so.0(+0x2ad89) [0x7fec00dd4d89]
/usr/lib/libsqlite3.so.0(sqlite3_load_extension+0xce) [0x7fec00de7dbe]
/home/asher/.rvm/gems/ruby-1.9.3-p0/gems/do_sqlite3-0.10.8/lib/do_sqlite3/do_sqlite3.so(do_sqlite3_cExtension_load_extension+0x7f) [0x7fec010522ff] do_sqlite3_extension.c:66
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x175761) [0x7fec04fe2761] vm_insnhelper.c:404
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x16b539) [0x7fec04fd8539] insns.def:1015
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x171a3a) [0x7fec04fdea3a] vm.c:1220
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_iseq_eval+0x1f0) [0x7fec04fe4660] vm.c:1447
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x681b3) [0x7fec04ed51b3] load.c:310
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_require_safe+0x5af) [0x7fec04ed661f] load.c:619
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x175761) [0x7fec04fe2761] vm_insnhelper.c:404
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x16b539) [0x7fec04fd8539] insns.def:1015
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x171a3a) [0x7fec04fdea3a] vm.c:1220
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x171ea5) [0x7fec04fdeea5] vm_eval.c:1030
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x17234f) [0x7fec04fdf34f] vm_eval.c:1071
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x175761) [0x7fec04fe2761] vm_insnhelper.c:404
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x16b539) [0x7fec04fd8539] insns.def:1015
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x171a3a) [0x7fec04fdea3a] vm.c:1220
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x17607f) [0x7fec04fe307f] vm.c:624
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_rescue2+0x16b) [0x7fec04ed30bb] eval.c:639
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x16744e) [0x7fec04fd444e] vm_eval.c:826
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x175761) [0x7fec04fe2761] vm_insnhelper.c:404
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x16b539) [0x7fec04fd8539] insns.def:1015
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x171a3a) [0x7fec04fdea3a] vm.c:1220
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x17675e) [0x7fec04fe375e] vm.c:654
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_catch_obj+0xbe) [0x7fec04fd612e] vm_eval.c:1534
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x1691de) [0x7fec04fd61de] vm_eval.c:1510
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x175761) [0x7fec04fe2761] vm_insnhelper.c:404
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x16b539) [0x7fec04fd8539] insns.def:1015
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x171a3a) [0x7fec04fdea3a] vm.c:1220
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x17675e) [0x7fec04fe375e] vm.c:654
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_catch_obj+0xbe) [0x7fec04fd612e] vm_eval.c:1534
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x1691de) [0x7fec04fd61de] vm_eval.c:1510
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x175761) [0x7fec04fe2761] vm_insnhelper.c:404
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x16b539) [0x7fec04fd8539] insns.def:1015
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x171a3a) [0x7fec04fdea3a] vm.c:1220
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_iseq_eval_main+0xaf) [0x7fec04fe475f] vm.c:1461
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(+0x64e92) [0x7fec04ed1e92] eval.c:204
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(ruby_exec_node+0x1d) [0x7fec04ed2c4d] eval.c:251
/home/asher/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(ruby_run_node+0x1e) [0x7fec04ed4bfe] eval.c:244
irb() [0x40089b]
/lib/libc.so.6(__libc_start_main+0xed) [0x7fec03f9a38d]
irb() [0x4008c9]