【问题标题】:MacOS Passenger Ruby PG Gem Segmentation FaultMacOS 乘客 Ruby PG Gem 分段错误
【发布时间】:2016-11-11 23:42:33
【问题描述】:

由于某种原因,分段错误使我的网站甚至无法加载第一页。我重新安装了 rubies,更新了 gems,重新安装了 postgresql 和 nginx,检查了我的 nginx.conf 文件,并仔细阅读了日志。目前我只通过 RVM 安装了一个 Ruby 2.3.1,而 IRB 就像一个魅力。乘客说预加载器发现了一个错误。

从外观上看,它使用的是 Ruby 2.0.0p648 解释器,但 2.3.1 是唯一安装的版本。我能以某种方式改变它吗?我已将 rvm 设置为使用,并将 --default 设置为 2.3.1,这就是它所显示的,但它会以某种方式不断回到 2.0.0。似乎 RVM 的设置不会更新。我难住了。

    An error occurred while starting up the preloader. It exited before signalling successful startup back to Phusion Passenger. Please read this article for more information about this problem.
    Raw process output:

    /Users/rich/.rvm/gems/ruby-2.3.1/gems/pg-0.19.0/lib/pg_ext.bundle: [BUG] Segmentation fault
    ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

    -- Crash Report log information --------------------------------------------
         See Crash Report log file under the one of following:
             * ~/Library/Logs/CrashReporter
             * /Library/Logs/CrashReporter
             * ~/Library/Logs/DiagnosticReports
             * /Library/Logs/DiagnosticReports
         the more detail of.

    -- Control frame information -----------------------------------------------
    c:0023 p:-17535534978622 s:0081 e:000080 TOP    [FINISH]
    c:0022 p:---- s:0079 e:000078 CFUNC  :require
    c:0021 p:0009 s:0075 e:000074 TOP    /Users/rich/.rvm/gems/ruby-2.3.1/gems/pg-0.19.0/lib/pg.rb:4 [FINISH]
    c:0020 p:---- s:0071 e:000070 CFUNC  :require
    c:0019 p:0039 s:0067 e:000066 BLOCK  /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:91 [FINISH]
    c:0018 p:---- s:0063 e:000062 CFUNC  :each
    c:0017 p:0055 s:0060 e:000059 BLOCK  /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:86 [FINISH]
    c:0016 p:---- s:0054 e:000053 CFUNC  :each
    c:0015 p:0032 s:0051 e:000050 METHOD /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:75
    c:0014 p:0013 s:0047 e:000046 METHOD /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler.rb:106
    c:0013 p:0027 s:0043 e:000042 TOP    /Library/WebServer/Documents/HQ/app.rb:7 [FINISH]
    c:0012 p:---- s:0041 e:000040 CFUNC  :require
    c:0011 p:0020 s:0037 e:000036 BLOCK  config.ru:5 [FINISH]
    c:0010 p:---- s:0035 e:000034 CFUNC  :instance_eval
    c:0009 p:0039 s:0032 e:000031 METHOD /Users/rich/.rvm/gems/ruby-2.3.1/gems/rack-1.6.4/lib/rack/builder.rb:55 [FINISH]
    c:0008 p:---- s:0027 e:000026 CFUNC  :new
    c:0007 p:0013 s:0024 E:0008e8 EVAL   config.ru:1 [FINISH]
    c:0006 p:---- s:0022 e:000021 CFUNC  :eval
    c:0005 p:0150 s:0016 e:000015 METHOD /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:110
    c:0004 p:0115 s:0009 e:000008 CLASS  /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:156
    c:0003 p:0011 s:0006 e:000005 CLASS  /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:30
    c:0002 p:0036 s:0004 E:000448 EVAL   /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:29 [FINISH]
    c:0001 p:0000 s:0002 E:000398 TOP    [FINISH]

    /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:29:in `<main>'
    /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
    /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:156:in `<module:App>'
    /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:110:in `preload_app'
    /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb:110:in `eval'
    config.ru:1:in `<main>'
    config.ru:1:in `new'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
    config.ru:5:in `block in <main>'
    config.ru:5:in `require'
    /Library/WebServer/Documents/HQ/app.rb:7:in `<top (required)>'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler.rb:106:in `require'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:75:in `require'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:75:in `each'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:86:in `block in require'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:86:in `each'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/runtime.rb:91:in `require'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/pg-0.19.0/lib/pg.rb:4:in `<top (required)>'
    /Users/rich/.rvm/gems/ruby-2.3.1/gems/pg-0.19.0/lib/pg.rb:4:in `require'

    -- C level backtrace information -------------------------------------------

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

    * Loaded script: /usr/local/Cellar/passenger/5.0.30_2/libexec/src/helper-scripts/rack-preloader.rb

    * Loaded features:

            0 enumerator.so
            1 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/enc/encdb.bundle
            2 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/enc/trans/transdb.bundle
            3 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb
            4 /Library/Ruby/Site/2.0.0/rubygems/compatibility.rb
            5 /Library/Ruby/Site/2.0.0/rubygems/defaults.rb
            6 /Library/Ruby/Site/2.0.0/rubygems/deprecate.rb
            7 /Library/Ruby/Site/2.0.0/rubygems/errors.rb
            8 /Library/Ruby/Site/2.0.0/rubygems/version.rb
            9 /Library/Ruby/Site/2.0.0/rubygems/requirement.rb
         10 /Library/Ruby/Site/2.0.0/rubygems/platform.rb
         11 /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb
         12 /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb
         13 /Library/Ruby/Site/2.0.0/rubygems/util/stringio.rb
         14 /Library/Ruby/Site/2.0.0/rubygems/specification.rb
         15 /Library/Ruby/Site/2.0.0/rubygems/exceptions.rb
         16 /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_gem.rb
         17 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/thread.rb
         18 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/monitor.rb
         19 /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb
         20 /Library/Ruby/Site/2.0.0/rubygems.rb
         21 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger.rb
         22 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/constants.rb
         23 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/etc.bundle
         24 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb
         25 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tmpdir.rb
         26 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb
         27 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/platform_info.rb
         28 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb
         29 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb
         30 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb
         31 /usr/local/Cellar/passenger/5.0.30_2/libexec/buildout/ruby/ruby-2.0.0-universal-macosx/passenger_native_support.bundle
         32 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb
         33 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/socket.bundle
         34 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/socket.rb
         35 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/pathname.bundle
         36 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/pathname.rb
         37 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb
         38 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb
         39 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/base64.rb
         40 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/utils.rb
         41 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb
         42 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/public_api.rb
         43 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/debug_logging.rb
         44 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/shellwords.rb
         45 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/utils/shellwords.rb
         46 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb
         47 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/fcntl.bundle
         48 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/message_channel.rb
         49 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/message_client.rb
         50 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb
         51 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb
         52 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb
         53 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/request_handler.rb
         54 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/stringio.bundle
         55 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb
         56 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb
         57 /Library/Ruby/Site/2.0.0/rubygems/path_support.rb
         58 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version.rb
         59 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core.rb
         60 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/version.rb
         61 /usr/local/Cellar/passenger/5.0.30_2/libexec/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails.rb
         62 /Library/Ruby/Site/2.0.0/rubygems/dependency.rb
         63 /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/postit_trampoline.rb
         64 /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/constants.rb
         65 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/io/console.bundle
         66 /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb
         67 /Library/Ruby/Site/2.0.0/rubygems/config_file.rb
         68 /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/rubygems_integration.rb
         69 /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/current_ruby.rb
         70 /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/shared_helpers.rb
         71 /Library/Ruby/Site/2.0.0/rubygems/ext/build_error.rb
         72 /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb
         73 /Library/Ruby/Site/2.0.0/rubygems/ext/configure_builder.rb
         74 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/delegate.rb
         75 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tempfile.rb
         76 /Library/Ruby/Site/2.0.0/rubygems/ext/ext_conf_builder.rb
         77 /Library/Ruby/Site/2.0.0/rubygems/ext/rake_builder.rb
         78 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/optparse.rb
         79 /Library/Ruby/Site/2.0.0/rubygems/command.rb
         80 /Library/Ruby/Site/2.0.0/rubygems/ext/cmake_builder.rb
         81 /Library/Ruby/Site/2.0.0/rubygems/ext.rb
         82 /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/errors.rb
         83 /Users/rich/.rvm/gems/ruby-2.3.1/gems/bundler-1.13.6/lib/bundler/environment_preserver.rb
         84 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/timeout.rb
         85 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/protocol.rb
         86 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/common.rb
         87 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/generic.rb
         88 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/ftp.rb
         89 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/http.rb
         90 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/https.rb
         91 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/ldap.rb
         92 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/ldaps.rb
         93 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/mailto.rb
         94 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri.rb
         95 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/zlib.bundle
         96 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/exceptions.rb
         97 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/header.rb
         98 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/generic_request.rb
         99 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/request.rb
        100 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/requests.rb

【问题讨论】:

    标签: ruby macos segmentation-fault rvm passenger


    【解决方案1】:

    当您最初安装 pg gem 时,它看起来像是针对 2.0.0p648 编译的。简单的运行

    gem 卸载 pg

    rvm 使用 ruby​​_2_3_1(切换到 Ruby 2.3.1)

    gem install pg(这应该针对 Ruby 2.3.1 重新编译它)

    还要在乘客配置文件中指定 ruby​​ 版本。

    passenger_ruby /Users/rich/.rvm/gems/ruby-2.3.1/bin/ruby;

    【讨论】:

    • 做了前几次(正确的红宝石名称,顺便说一句),但什么也没发生。后者我试过......但你的版本,*** ERROR ***: Cannot execute /Users/rich/.rvm/gems/ruby-2.3.1/bin/ruby: No such file or directory (2)
    • 即使乘客也看不到正确的 RVM 版本。 $passenger-config --ruby-command 由于某种原因导致 ruby​​ 2.0.0p648 的结果。 To use in Nginx : passenger_ruby /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby The following Ruby interpreter was found first in $PATH: Command: /usr/bin/ruby Version: ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15] To use in Nginx : passenger_ruby /usr/bin/ruby
    • 乘客未使用 RVM ruby​​ 版本 (2.3.1),而是使用系统 ruby​​ 版本 (2.0.0p648)。您已经为用户 rich 配置了 RVM ruby​​,您是否以 root 用户身份运行乘客?
    • 没有。这是一个 RVM 和乘客问题。现在都修好了。
    【解决方案2】:

    原来你不能直接指向一个硬二进制文件。 RVM 需要指向包装器的指针,所以这是最终路径:passenger_ruby /Users/rich/.rvm/wrappers/default/ruby,它是指向 passenger_ruby /Users/rich/.rvm/wrappers/ruby-2.3.1/ruby 的指针。测试了这两个应用程序,它现在完全可以工作了。命令brew info nginx --with-passenger 输出错误的红宝石位置。

    【讨论】:

      猜你喜欢
      • 2020-03-24
      • 2013-01-13
      • 2012-01-13
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      相关资源
      最近更新 更多