Ошибка сегментации - Ruby 1.8.7 и Rails 3.1.3 - PullRequest
3 голосов
/ 28 декабря 2011

Я использую ruby ​​1.8.7 хорошо провожу время, и я использую эту версию ruby ​​с rails 3.0.x с момента выпуска этой версии rails. И я никогда не получал ошибку ошибки сегментации. Но теперь, после запуска, разработайте ruby ​​1.8.7 с rails 3.1.3, когда я запускаю webrick и перебираю приложение, у меня появляется ошибка ниже:

/usr/lib/ruby/gems/1.8/gems/rack-1.3.5/lib/rack/utils.rb:380: [BUG] Segmentation fault
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]

Ошибка очень непостоянна, иногда происходит с httputils вебрика, а иногда и со стойкой. Возможно, ошибка имеет какое-то отношение к конвейеру ресурсов, потому что ошибки происходят до некоторого процесса, подобного этому:

Started GET "/assets/wymeditor/wymeditor/lang/zh_cn.js?body=1" for 127.0.0.1 at Wed Dec 28 09:22:23 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/zh_cn.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/zh_cn.js - 304 Not Modified (1ms)


Started GET "/assets/wymeditor/wymeditor/plugins/embed/jquery.wymeditor.embed.js?body=1" for 127.0.0.1 at Wed Dec 28 09:22:23 -0200 2011

Кто-нибудь может мне помочь, по этому вопросу. С тех пор я благодарю за любую помощь.

Спасибо

Журнал разработки:

Started GET "/assets/wymeditor/wymeditor/lang/he.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/he.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/he.js - 304 Not Modified (0ms)
Started GET "/assets/wymeditor/wymeditor/lang/hr.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/hr.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/hr.js - 304 Not Modified (1ms)
Started GET "/assets/wymeditor/wymeditor/lang/hu.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/hu.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/hu.js - 304 Not Modified (1ms)
Started GET "/assets/wymeditor/wymeditor/lang/it.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/it.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/it.js - 304 Not Modified (1ms)
Started GET "/assets/wymeditor/wymeditor/lang/nb.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/nb.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/nb.js - 304 Not Modified (1ms)
Started GET "/assets/wymeditor/wymeditor/lang/nl.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/nl.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/nl.js - 304 Not Modified (4ms)
Started GET "/assets/wymeditor/wymeditor/lang/pl.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/pl.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/pl.js - 304 Not Modified (0ms)
Started GET "/assets/wymeditor/wymeditor/lang/pt-br.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/pt-br.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/pt-br.js - 304 Not Modified (3ms)
Started GET "/assets/wymeditor/wymeditor/lang/pt.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
cache: [GET /assets/wymeditor/wymeditor/lang/pt.js?body=1] stale, valid, store
Served asset /wymeditor/wymeditor/lang/pt.js - 304 Not Modified (1ms)
Started GET "/assets/wymeditor/wymeditor/lang/ru.js?body=1" for 127.0.0.1 at Wed Dec 28 11:57:36 -0200 2011
/usr/lib/ruby/gems/1.8/gems/rack-cache-1.1/lib/rack/cache/metastore.rb:232: [BUG] Segmentation fault
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]
Abortado

Abortado на английском языке прервано

Список всех моих драгоценных камней:

  • actionmailer (3.1.3)
    • actionpack (3.1.3)
    • activemodel (3.1.3)
    • activerecord (3.1.3)
    • активный ресурс (3.1.3)
    • activesupport (3.1.3)
    • Арель (2.2.1)
    • bcrypt-ruby (3.0.1)
    • brI18n (3.0.4)
    • бразильские рельсы (3.0.4)
    • brcep (3.0.4)
    • brcpfcnpj (3.0.4)
    • brdata (3.0.4)
    • brdinheiro (3.0.4)
    • brhelper (3.0.4)
    • brnumeros (3.0.4)
    • brstring (3.0.4)
    • строитель (3.0.0)
    • связка (1.0.15)
    • капибара (1.1.1)
    • дочерний процесс (0.2.2)
    • кофейные рельсы (3.1.1)
    • coffee-script (2.2.0)
    • coffee-script-source (1.1.3)
    • столбец (0.3.4)
    • огурец (1.1.0)
    • огурцы-рельсы (1.1.1)
    • database_cleaner (0.6.7)
    • устройство (1.4.8)
    • diff-lcs (1.1.3)
    • стрекоза (0.9.8)
    • эрубис (2.7.0)
    • execjs (1.2.12)
    • factory_girl (2.2.0)
    • factory_girl_rails (1.3.0)
    • ffi (1.0.9)
    • корнишон (2,5,1)
    • поход (1.2.1)
    • i18n (0.6.0)
    • jquery-рельсы (1.0.19)
    • json (1.6.3)
    • json_pure (1.6.1)
    • linecache (0,46)
    • почта (2.3.0)
    • mime-типы (1.17.2)
    • multi_json (1.0.4)
    • mysql2 (0.3.11)
    • нокогири (1.5.0)
    • orm_adapter (0.0.5)
    • полиглот (0.3.3)
    • стойка (1.3.5)
    • кеш-стойка (1.1)
    • для монтажа в стойку (0,8,3)
    • rack-ssl (1.3.2)
    • рейк-тест (0.6.1)
    • рельсы (3.1.3)
    • рельсы (3.1.3)
    • грабли (0.9.2.2)
    • rbx-require-относительный (0.0.5)
    • rdoc (3.11)
    • rspec (2.6.0)
    • rspec-core (2.6.4)
    • rspec-ожидания (2.6.0)
    • rspec-mocks (2.6.0)
    • rspec-rails (2.6.1)
    • ruby-debug (0.10.4)
    • ruby-debug-base (0.10.4)
    • rubyzip (0.9.4)
    • sass (3.1.11)
    • Сасс-рельсы (3.1.5)
    • селен-клиент (1.2.18)
    • селен-вебдрайвер (2.8.0)
    • звездочки (2.0.3)
    • term-ansicolor (1.0.7)
    • тор (0,14,6)
    • Наклон (1.3.3)
    • верхушка дерева (1.4.10)
    • tzinfo (0.3.31)
    • Углификатор (1.1.0)
    • начальник (1.0.6)
    • вебрат (0,7,3)
    • wymeditor (0.5.0.rc2)
    • xpath (0.1.4)

Ruby версия: ruby 1.8.7 (2010-06-23 patchlevel 299) Arch: [I686-Linux]

Единственная трассировка стека, которую я получаю:

/usr/lib/ruby/1.8/webrick/httpserver.rb:50
while timeout > 0
(rdb:2) n
[2011-12-28 16:22:52] ERROR #<Class:0xb6614868>: execution expired
   /usr/lib/ruby/1.8/timeout.rb:64:in `timeout'
   /usr/lib/ruby/1.8/timeout.rb:101:in `timeout'
   /usr/lib/ruby/1.8/webrick/httprequest.rb:326:in `_read_data'
   /usr/lib/ruby/1.8/webrick/httprequest.rb:337:in `read_line'
   /usr/lib/ruby/1.8/webrick/httprequest.rb:240:in `read_header'
   /usr/lib/ruby/1.8/webrick/httprequest.rb:88:in `parse'
   /usr/lib/ruby/1.8/webrick/httpserver.rb:56:in `run'
   /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
   /usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
   /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
   /usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
   /usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
   /usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
   /usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
   /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
   /usr/lib/ruby/gems/1.8/gems/rack-1.3.5/lib/rack/handler/webrick.rb:13:in `run'
   /usr/lib/ruby/gems/1.8/gems/rack-1.3.5/lib/rack/server.rb:265:in `start'
   /usr/lib/ruby/gems/1.8/gems/railties-3.1.3/lib/rails/commands/server.rb:70:in `start'
   /usr/lib/ruby/gems/1.8/gems/railties-3.1.3/lib/rails/commands.rb:54
   /usr/lib/ruby/gems/1.8/gems/railties-3.1.3/lib/rails/commands.rb:49:in `tap'
   /usr/lib/ruby/gems/1.8/gems/railties-3.1.3/lib/rails/commands.rb:49
   script/rails:6:in `require'
   script/rails:6
/usr/lib/ruby/1.8/webrick/httpserver.rb:51
break if IO.select([sock], nil, nil, 0.5)

Ошибка не возникала легко в режиме отладки, строка за строкой. У меня была только одна трассировка стека, и я не получал более одного раза.

В этот момент я отключил конвейер ресурсов, coffeescript и sass. И я не получил больше ошибки, но у меня больше нет этих функций.

1 Ответ

0 голосов
/ 05 января 2012

Записка от guides.rubyonrails.org говорит:

Обратите внимание, что в Ruby 1.8.7 p248 и p249 есть ошибки маршалинга, приводящие к краху Rails 3.0. В Ruby Enterprise Edition они исправлены с версии 1.8.7-2010.02. На фронте 1.9 Ruby 1.9.1 не может быть использован, потому что он напрямую работает с ошибками в Rails 3.0, поэтому, если вы хотите использовать Rails 3 с 1.9.x, переходите на 1.9.2 для плавного движения.

Мне очень повезло с 1.9.2, а rvm позволяет легко переключаться между несколькими версиями ruby. Сможете ли вы попробовать это?

...