1

JRuby /RailsアプリケーションをWeblogic10.3(Solarisゾーン)コンテナにデプロイしようとすると、常に次の例外が発生します。

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がこのコアライブラリのロードに失敗する理由がわかりません。MacOS XにWLSをインストールし、ローカルに展開することは問題なく機能するため、Solarisに関連しているようです。

次に見ることができるヒントやポインタ、またはこの問題を解決する方法はありますか?

更新:おそらくバグです(IRC /#jrubyでフィードバックを取得しました。JRubyJIRAで追跡されています。http //jira.codehaus.org/browse/JRUBY-5753を参照してください。

4

2 に答える 2

0

-d32にを追加してこの問題を解決しJAVA_OPTS、32ビットJVMの使用を強制しました。

于 2011-05-22T09:13:01.220 に答える
0

この問題は、Tomcat7とJruby1.7.2を搭載したCentos5とOSXで発生していました。およびsqlite3データベース。突っ込んで問題を解決しました。なぜ解決したのかわかりませんが、いくつかのことを発見しました。以前にクラッシュしてDBがロックされたため、Tomcatを再起動した後にこのエラーが発生しました。ActiveRecord :: StatementInvalid(Java :: JavaLang :: Error:_syscall()の内部エラー:SELECT"urls"。*FROM "urls"):

次の手順で問題が解決したようですが、元のエラーは単にDBが不良状態になったことを示しているように見えます。-Jrubyを1.7.1にダウングレードしました。-activerecord-jdbcsqlite3-adapter'を除くすべてのgemをgemfileから削除しました。これでこの問題は解決したようです。(削除したgemは'sqlite-ruby'、'sqlite3'、'activerecord-jdbc-adapter'、'jruby-rack'でした)ここでの最初のgemは通常のC gemであり、デプロイされるべきではなかったことに注意してください条件付きではありませんでしたが、とにかくウグイスによって戦争に含まれているようだったからです。とにかく、元のDBを使用しても、再デプロイして機能しました。

于 2013-02-18T21:45:29.577 に答える