rowland/fb

Segfaulting on database connection

AnthonyDeSimone opened this issue · 5 comments

I'm running fb (0.7.4) with Ruby 2.0.0-p576 (x64) on a Windows 8 machine. When I attempt to connect to a database, Ruby sefgaults with no obviously useful information.

do you have the fbclient.dll in the path ?

http://stackoverflow.com/a/16697499/66242

Also could you create a backtrace

Sorry for the delay. I haven't had access to this machine. fbclient.dll is in the path.
Here is the backtrace:

irb(main):016:0> conn = db.connect
(irb):16: [BUG] Segmentation fault
ruby 2.1.3p242 (2014-09-19 revision 47630) [x64-mingw32]

-- Control frame information -----------------------------------------------
c:0019 p:---- s:0076 e:000075 CFUNC :connect
c:0018 p:0007 s:0073 E:000e70 EVAL (irb):16 [FINISH]
c:0017 p:---- s:0070 e:000069 CFUNC :eval
c:0016 p:0024 s:0063 e:000062 METHOD C:/Ruby21-x64/lib/ruby/2.1.0/irb/workspace.
rb:86
c:0015 p:0025 s:0056 e:000054 METHOD C:/Ruby21-x64/lib/ruby/2.1.0/irb/context.rb
:380
c:0014 p:0022 s:0050 e:000049 BLOCK C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:492
c:0013 p:0040 s:0042 e:000041 METHOD C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:624
c:0012 p:0009 s:0037 e:000036 BLOCK C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:489
c:0011 p:0118 s:0033 e:000032 BLOCK C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.r
b:247 [FINISH]
c:0010 p:---- s:0030 e:000029 CFUNC :loop
c:0009 p:0007 s:0027 e:000026 BLOCK C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.r
b:233 [FINISH]
c:0008 p:---- s:0025 e:000024 CFUNC :catch
c:0007 p:0015 s:0021 e:000020 METHOD C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.r
b:232
c:0006 p:0030 s:0018 E:0026c8 METHOD C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:488
c:0005 p:0008 s:0015 e:000014 BLOCK C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:397 [FI
NISH]
c:0004 p:---- s:0013 e:000012 CFUNC :catch
c:0003 p:0143 s:0009 E:000948 METHOD C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:396
c:0002 p:0021 s:0004 E:0008b8 EVAL C:/Ruby21-x64/bin/irb:11 [FINISH]
c:0001 p:0000 s:0002 E:002008 TOP [FINISH]

-- Ruby level backtrace information ----------------------------------------
C:/Ruby21-x64/bin/irb:11:in <main>' C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:396:instart'
C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:396:in catch' C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:397:inblock in start'
C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:488:in eval_input' C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.rb:232:ineach_top_level_statement'
C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.rb:232:in catch' C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.rb:233:inblock in each_top_level_sta
tement'
C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.rb:233:in loop' C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.rb:247:inblock (2 levels) in each_to
p_level_statement'
C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:489:in block in eval_input' C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:624:insignal_status'
C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb:492:in block (2 levels) in eval_input' C:/Ruby21-x64/lib/ruby/2.1.0/irb/context.rb:380:inevaluate'
C:/Ruby21-x64/lib/ruby/2.1.0/irb/workspace.rb:86:in evaluate' C:/Ruby21-x64/lib/ruby/2.1.0/irb/workspace.rb:86:ineval'
(irb):16:in irb_binding' (irb):16:inconnect'

-- C level backtrace information -------------------------------------------
C:\Windows\SYSTEM32\ntdll.dll(ZwWaitForSingleObject+0xa) [0x000007FCC3C82C2A]
C:\Windows\system32\KERNELBASE.dll(WaitForSingleObjectEx+0x9a) [0x000007FCC0DF10
EA]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_bugreport+0xa4) [0x000000006B4171
74]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_name_err_mesg_new+0x841) [0x00000000
6B2C9851]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_bug+0x45) [0x000000006B2CA595]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_check_safe_str+0x351) [0x000000006B3
98D91]
[0x0000000000401A85]
C:\Windows\SYSTEM32\ntdll.dll(_C_specific_handler+0x8e) [0x000007FCC3C9AB96]
C:\Windows\SYSTEM32\ntdll.dll(RtlLookupFunctionEntry+0x26d) [0x000007FCC3C99F4D]

C:\Windows\SYSTEM32\ntdll.dll(DbgPrint+0x484) [0x000007FCC3C9B220]
C:\Windows\SYSTEM32\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x000007FCC3C84BB
A]
C:\Ruby21-x64\lib\ruby\gems\2.1.0\extensions\x64-mingw32\2.1.0\fb-0.7.4\fb.so(In
it_fb+0xc20) [0x0000000066D88D20]
[0x0000000066D83E43]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_error_arity+0x1c6) [0x000000006B4021
F6]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_f_send+0x5c1) [0x000000006B40CF91]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x1628) [0x000000
006B406A18]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x5a5d) [0x000000
006B40AE4D]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_undef+0x847) [0x000000006B411C27]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_f_eval+0x89) [0x000000006B4125D9]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_error_arity+0x1c6) [0x000000006B4021
F6]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x1628) [0x000000
006B406A18]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x5a5d) [0x000000
006B40AE4D]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_get_insns_address_table+0x4f2) [0
x000000006B412C12]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_rescue2+0xf5) [0x000000006B2D27C5]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_f_notimplement+0x4b3) [0x000000006B4
003C3]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_error_arity+0x1c6) [0x000000006B4021
F6]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_f_send+0x5c1) [0x000000006B40CF91]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x1f71) [0x000000
006B407361]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x5a5d) [0x000000
006B40AE4D]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_funcall+0x413) [0x000000006B40BF43]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_get_insns_address_table+0x6c) [0x
000000006B41278C]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_get_insns_address_table+0x16c) [0
x000000006B41288C]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_get_insns_address_table+0x209) [0
x000000006B412929]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_error_arity+0x1c6) [0x000000006B4021
F6]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_f_send+0x5c1) [0x000000006B40CF91]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x1f71) [0x000000
006B407361]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x5a5d) [0x000000
006B40AE4D]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_funcall+0x413) [0x000000006B40BF43]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_get_insns_address_table+0x6c) [0x
000000006B41278C]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_get_insns_address_table+0x16c) [0
x000000006B41288C]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_get_insns_address_table+0x209) [0
x000000006B412929]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_error_arity+0x1c6) [0x000000006B4021
F6]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_f_send+0x5c1) [0x000000006B40CF91]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x1f71) [0x000000
006B407361]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_vm_localjump_error+0x5a5d) [0x000000
006B40AE4D]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_iseq_eval_main+0x1d0) [0x000000006B4
13C50]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(rb_check_copyable+0x304a) [0x000000006B
2CF36A]
C:\Ruby21-x64\bin\x64-msvcrt-ruby210.dll(ruby_run_node+0x51) [0x000000006B2D2281
]
[0x0000000000402D14]
[0x00000000004013D7]
[0x00000000004014F8]
C:\Windows\system32\KERNEL32.DLL(BaseThreadInitThunk+0x1a) [0x000007FCC1541842]

-- Other runtime information -----------------------------------------------

  • Loaded script: irb

  • Loaded features:

    0 enumerator.so
    1 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/enc/encdb.so
    2 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/enc/iso_8859_1.so
    3 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/enc/trans/transdb.so
    4 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/rbconfig.rb
    5 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/compatibility.rb
    6 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/defaults.rb
    7 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/deprecate.rb
    8 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/errors.rb
    9 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/version.rb
    10 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/requirement.rb
    11 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/platform.rb
    12 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/basic_specification.rb
    13 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/stub_specification.rb
    14 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/util/stringio.rb
    15 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/specification.rb
    16 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/exceptions.rb
    17 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/defaults/operating_system.rb
    18 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb
    19 thread.rb
    20 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/thread.so
    21 C:/Ruby21-x64/lib/ruby/2.1.0/monitor.rb
    22 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb
    23 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems.rb
    24 C:/Ruby21-x64/lib/ruby/2.1.0/e2mmap.rb
    25 C:/Ruby21-x64/lib/ruby/2.1.0/irb/init.rb
    26 C:/Ruby21-x64/lib/ruby/2.1.0/irb/workspace.rb
    27 C:/Ruby21-x64/lib/ruby/2.1.0/irb/inspector.rb
    28 C:/Ruby21-x64/lib/ruby/2.1.0/irb/context.rb
    29 C:/Ruby21-x64/lib/ruby/2.1.0/irb/extend-command.rb
    30 C:/Ruby21-x64/lib/ruby/2.1.0/irb/output-method.rb
    31 C:/Ruby21-x64/lib/ruby/2.1.0/irb/notifier.rb
    32 C:/Ruby21-x64/lib/ruby/2.1.0/irb/slex.rb
    33 C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-token.rb
    34 C:/Ruby21-x64/lib/ruby/2.1.0/irb/ruby-lex.rb
    35 C:/Ruby21-x64/lib/ruby/2.1.0/irb/src_encoding.rb
    36 C:/Ruby21-x64/lib/ruby/2.1.0/irb/magic-file.rb
    37 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/enc/euc_jp.so
    38 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/enc/windows_31j.so
    39 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/etc.so
    40 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/dl.so
    41 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/fiddle.so
    42 C:/Ruby21-x64/lib/ruby/2.1.0/fiddle/function.rb
    43 C:/Ruby21-x64/lib/ruby/2.1.0/fiddle/closure.rb
    44 C:/Ruby21-x64/lib/ruby/2.1.0/fiddle.rb
    45 C:/Ruby21-x64/lib/ruby/2.1.0/dl.rb
    46 C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/rbreadline.rb
    47 C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/readline.rb
    48 C:/Ruby21-x64/lib/ruby/2.1.0/irb/input-method.rb
    49 C:/Ruby21-x64/lib/ruby/2.1.0/irb/locale.rb
    50 C:/Ruby21-x64/lib/ruby/2.1.0/irb.rb
    51 C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/path_support.rb
    52 C:/Ruby21-x64/lib/ruby/2.1.0/x64-mingw32/date_core.so
    53 C:/Ruby21-x64/lib/ruby/2.1.0/date/format.rb
    54 C:/Ruby21-x64/lib/ruby/2.1.0/date.rb
    55 C:/Ruby21-x64/lib/ruby/2.1.0/time.rb
    56 C:/Ruby21-x64/lib/ruby/gems/2.1.0/extensions/x64-mingw32/2.1.0/fb-0.7.4/fb
    .so

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

please use x64-64bit mingw ruby also firebird x64 , see the related issue

http://stackoverflow.com/a/31059903/66242

another option is to use firebird 32bit version , so you need to match mingw/ruby/firebird with the same bits (32/64)

This can be closed as it seems to be a 32/64 bits lib missmatch

tested with both ruby/mingw/firebird all 32bit and then all 64bit

Thanks