Библиотека `fcntl 'не может быть загружена в Solaris / Weblogic (JRuby 1.6.1) -> NullPointerException - PullRequest
1 голос
/ 28 апреля 2011

При попытке развернуть приложение JRuby / Rails в контейнере Weblogic 10.3 (Solaris Zone) оно всегда сталкивается с этим исключением:

org.jruby.rack.RackInitializationException: library `fcntl' could not be loaded: java.lang.NullPointerException
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:239:in `require'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:225:in `load_dependency'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:225:in `load_dependency'
from /xyz/war/WEB-INF/gems/gems/activesupport-3.0.6/lib/active_support/dependencies.rb:239:in `require'
from /xyz/war/WEB-INF/gems/gems/jruby-openssl-0.7.3/lib/openssl/ssl.rb:19:in `(root)'
from org/jruby/RubyKernel.java:1038:in `require'
[..snip...]

Просто не понимаю, почему JRuby не может загрузить это ядробиблиотека.Кажется, что-то связано с Solaris, потому что установка WLS на MacOS X и локальное развертывание работает без проблем.

Любые подсказки или указатели, где я могу посмотреть дальше - или как решить эту проблему?

ОБНОВЛЕНИЕ: Возможно, ошибка (получен отзыв в IRC / # jruby, который теперь отслеживается в JRuby JIRA, см .: http://jira.codehaus.org/browse/JRUBY-5753

Ответы [ 2 ]

0 голосов
/ 19 февраля 2013

Я столкнулся с этой проблемой на Centos 5 и OSX с Tomcat 7 и Jruby 1.7.2.и sqlite3 дБ.Я решил проблему, покопавшись, и я не уверен, почему то, что я сделал, решил, но обнаружил несколько вещей: я получил эту ошибку после перезапуска Tomcat из-за предыдущего сбоя, из-за которого БД была заблокирована.ActiveRecord :: StatementInvalid (Java :: JavaLang :: Ошибка: внутренняя ошибка в _syscall (): SELECT "urls". * FROM "urls"):

Казалось, что следующие шаги решили проблему, хотя кажетсядля меня эта первоначальная ошибка просто указывает на то, что БД попала в плохое состояние.-Я понизил Jruby до 1.7.1 -Я удалил все гемы, относящиеся к БД, из файла гемов, кроме activerecord-jdbcsqlite3-adapter '.Это, казалось, решило эту проблему.(Драгоценные камни, которые я удалил, были «sqlite-ruby», «sqlite3», «activerecord-jdbc-adapter», «jruby-rack»). Замечу, что первым здесь был обычный гем C, который не должен был быть развернутпотому что это не было условно, но, похоже, все равно было включено в войну камышевкой.Во всяком случае, я перераспределил, и это работало, даже используя оригинальную БД.

0 голосов
/ 22 мая 2011

Я решил эту проблему, добавив -d32 к JAVA_OPTS, чтобы принудительно использовать 32-разрядную JVM.

...