Skip to content

Segmentation Fault with mysql2 #1416

@BabelOueb

Description

@BabelOueb

Hello,

I'm migrating a Redmine 3.2.0 application to a Debian 12 Bookworm server.
I configured the server with rbenv and ruby ​​2.3.3.
I'm able to install the gems via bundle version 1.11.2 using the original server's Gemfile under Debian 9 and its Gemfile.lock.

I had a Segmentation Fault issue with MySQL2 and the infamous incorrect version string between the library and the MariaDB client, but I resolved this issue by upgrading MySQL2 to version 0.5.6.

However, I still have a Segmentation Fault with MySQL2, but I no longer get the error message about the MariaDB version.

Mysql2 is compiled with the following options:

bundle config --local build.mysql2 --with-mysql-config=/usr/bin/mysql_config --with-openssl-dir=/opt/openssl-1.0.2u

/opt/openssl-1.0.2u is the directory where OpenSSL is compiled.

The variables are configured as follows:

export PATH=$HOME/.rbenv/shims:$PATH
export PATH=$HOME/.gem/ruby/2.3.0/bin:$PATH
export PATH=/opt/openssl-1.0.2u/bin:$PATH
export BUNDLER_WITHOUT="development test"
export LDFLAGS="-L/opt/openssl-1.0.2u/lib"
export CPPFLAGS="-I/opt/openssl-1.0.2u/include"

Here's the error I get when I run a command like:
RAILS_ENV=production bundle exec rake db:migrate

BigDecimal.new is deprecated; use BigDecimal() method instead.
{:uplevel=>1}
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: key "inodot" is duplicated and overwritten on line 466
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/mysql2-36ed43cd1519/lib/mysql2/mysql2.so: [BUG] Segmentation fault at 0x00000000000000
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0030 p:-11760065929212 s:0111 e:000110 TOP    [FINISH]
c:0029 p:---- s:0109 e:000108 CFUNC  :require
c:0028 p:0012 s:0105 e:000104 BLOCK  /home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274
c:0027 p:0059 s:0103 e:000102 METHOD /home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240
c:0026 p:0017 s:0098 e:000097 METHOD /home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274
c:0025 p:0306 s:0093 e:000092 TOP    /home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/mysql2-36ed43cd1519/lib/mysql2.rb:36 [FINISH]
c:0024 p:---- s:0088 e:000087 CFUNC  :require
c:0023 p:0042 s:0084 e:000083 BLOCK  /home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:77 [FINISH]
c:0022 p:---- s:0080 e:000079 CFUNC  :each
c:0021 p:0062 s:0077 e:000076 BLOCK  /home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:72 [FINISH]
c:0020 p:---- s:0071 e:000070 CFUNC  :each
c:0019 p:0038 s:0068 e:000067 METHOD /home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:61
c:0018 p:0019 s:0064 e:000063 METHOD /home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler.rb:99
c:0017 p:0054 s:0060 e:000059 TOP    /home/redmine/redmine-3.2.0/config/application.rb:5 [FINISH]
c:0016 p:---- s:0058 e:000057 CFUNC  :require
c:0015 p:0020 s:0054 e:000053 TOP    /home/redmine/redmine-3.2.0/config/environment.rb:2 [FINISH]
c:0014 p:---- s:0051 e:000050 CFUNC  :require
c:0013 p:0025 s:0047 e:000046 BLOCK  config.ru:3 [FINISH]
c:0012 p:---- s:0045 e:000044 CFUNC  :instance_eval
c:0011 p:0040 s:0042 e:000041 METHOD /home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rack-1.6.5/lib/rack/builder.rb:55 [FINISH]
c:0010 p:---- s:0037 e:000036 CFUNC  :new
c:0009 p:0015 s:0034 E:001420 EVAL   config.ru:1 [FINISH]
c:0008 p:---- s:0032 e:000031 CFUNC  :eval
c:0007 p:0163 s:0026 e:000025 METHOD /usr/share/passenger/helper-scripts/rack-preloader.rb:101
c:0006 p:0008 s:0019 e:000018 BLOCK  /usr/share/passenger/helper-scripts/rack-preloader.rb:189
c:0005 p:0023 s:0017 e:000016 METHOD /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:399
c:0004 p:0186 s:0011 e:000010 CLASS  /usr/share/passenger/helper-scripts/rack-preloader.rb:188
c:0003 p:0011 s:0006 e:000005 CLASS  /usr/share/passenger/helper-scripts/rack-preloader.rb:30
c:0002 p:0038 s:0004 E:000db0 EVAL   /usr/share/passenger/helper-scripts/rack-preloader.rb:29 [FINISH]
c:0001 p:0000 s:0002 E:001de0 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:399:in `run_block_and_record_step_progress'
/usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
config.ru:1:in `<main>'
config.ru:1:in `new'
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rack-1.6.5/lib/rack/builder.rb:55:in `initialize'
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rack-1.6.5/lib/rack/builder.rb:55:in `instance_eval'
config.ru:3:in `block in <main>'
config.ru:3:in `require'
/home/redmine/redmine-3.2.0/config/environment.rb:2:in `<top (required)>'
/home/redmine/redmine-3.2.0/config/environment.rb:2:in `require'
/home/redmine/redmine-3.2.0/config/application.rb:5:in `<top (required)>'
/home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler.rb:99:in `require'
/home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require'
/home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each'
/home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require'
/home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each'
/home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:77:in `block (2 levels) in require'
/home/***/.gem/ruby/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:77:in `require'
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/mysql2-36ed43cd1519/lib/mysql2.rb:36:in `<top (required)>'
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'

-- Machine register context ------------------------------------------------
 RIP: 0x00007eff674d6867 RBP: 0x00005590cf573830 RSP: 0x00007ffc25209dd8
 RAX: 0x0000000000000000 RBX: 0x00005590d38ff450 RCX: 0x0000000000000100
 RDX: 0x0000000000000002 RDI: 0x0000000000000000 RSI: 0x0000000000000000
  R8: 0x00005590cf578600  R9: 0x000000000000000e R10: 0xd0db1174f35de706
 R11: 0x00007eff67554c60 R12: 0x0000000000000002 R13: 0x00005590cf577518
 R14: 0x00005590d4743fe0 R15: 0x00007eff66a6d4a0 EFL: 0x0000000000010207

-- C level backtrace information -------------------------------------------
Unexpected size of .debug_line in /home/***/.rbenv/versions/2.3.3/bin/ruby
Unexpected size of .debug_line in /home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/mysql2-36ed43cd1519/lib/mysql2/mysql2.so
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8a34044]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8a0aea5]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b891837e]
/lib/x86_64-linux-gnu/libc.so.6 [0x7eff673bd050]
/lib/x86_64-linux-gnu/libc.so.6 [0x7eff674d6867]
/opt/openssl-1.0.2u/lib/libcrypto.so.1.0.0(getrn+0x7c) [0x7eff66b25d6c]
/opt/openssl-1.0.2u/lib/libcrypto.so.1.0.0(lh_insert+0xbf) [0x7eff66b2605f]
/opt/openssl-1.0.2u/lib/libcrypto.so.1.0.0(OBJ_NAME_add+0x70) [0x7eff66a6d8f0]
/lib/x86_64-linux-gnu/libcrypto.so.3 [0x7eff62befa2c]
/lib/x86_64-linux-gnu/libcrypto.so.3 [0x7eff62c32269]
/lib/x86_64-linux-gnu/libc.so.6 [0x7eff6740f057]
/lib/x86_64-linux-gnu/libcrypto.so.3(CRYPTO_THREAD_run_once+0x9) [0x7eff62c3fa19]
/lib/x86_64-linux-gnu/libcrypto.so.3(OPENSSL_init_crypto+0x323) [0x7eff62c327e3]
/lib/x86_64-linux-gnu/libssl.so.3(OPENSSL_init_ssl+0x31) [0x7eff6372f711]
/usr/lib/x86_64-linux-gnu/libmariadb.so.3 [0x7eff637e253a]
/usr/lib/x86_64-linux-gnu/libmariadb.so.3 [0x7eff637c8136]
/lib/x86_64-linux-gnu/libc.so.6 [0x7eff6740f057]
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/mysql2-36ed43cd1519/lib/mysql2/mysql2.so(init_mysql2_client+0x11) [0x7eff65635a51]
/home/***/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/mysql2-36ed43cd1519/lib/mysql2/mysql2.so(Init_mysql2+0x6d) [0x7eff6563039d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(dln_load+0x106) [0x5590b89bffc6]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b89a6e10]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8863e64]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_f_require+0x13) [0x5590b88643d3]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8996812]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8862571]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8864372]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_f_require+0x13) [0x5590b88643d3]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899688d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_yield+0x1fc) [0x5590b89a5e0c]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_ary_each+0x3c) [0x5590b89c3bcc]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899695d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_yield+0x1fc) [0x5590b89a5e0c]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_ary_each+0x3c) [0x5590b89c3bcc]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899695d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8862571]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8864372]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_f_require+0x13) [0x5590b88643d3]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899688d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8862571]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8864372]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_f_require+0x13) [0x5590b88643d3]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899688d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b89a4de6]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899695d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899c2ea]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(rb_class_new_instance+0x21) [0x5590b88c46b1]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899695d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899a841]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899ad60]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b898e1da]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b899688d]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b8999d8a]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b885d7e9]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(ruby_run_node+0x2f) [0x5590b88605ff]
Passenger AppPreloader: /home/redmine/redmine-3.2.0 [0x5590b885d40b]
/lib/x86_64-linux-gnu/libc.so.6 [0x7eff673a824a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7eff673a8305]
Passenger AppPreloader: /home/redmine/redmine-3.2.0(_start+0x21) [0x5590b885d431]

If you have any questions or ideas for a resolution, I'd love to hear them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions