徹底究明 「致命的: 以前のエラーのためにコンテキストの起動が失敗しました 」 Filter編

どきっとするTomcatのエラー「致命的: 以前のエラーのためにコンテキストの起動が失敗しました」の徹底究明講座スタート

Filterの設定でエラーが起きたときに上記エラーが起きるのだが、具体的にはフィルタークラスはFQDN(パッケージ名を含む長いクラス名)で指定するため、パッケージ名やクラス名が間違っていると以下のようにエラーメッセージが出るはず。

■エラーログの例

致命的: フィルタ UrlRewriteFilter の起動中の例外です
java.lang.ClassNotFoundException: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)

・・・中略
致命的: Error filterStart
2011/07/25 11:31:53 org.apache.catalina.core.StandardContext start
致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/コンテキスト名]

■対策

まずクラス名が正しいことを確認する。正しかった場合はクラスパスに該当するクラスが含まれているかをチェックする。
コンテキストルート/WEB-INF/libにjarファイルを放りこんでおけば該当コンテキストのクラスパスに自動で含めてくれる。

これらのエラーはweb.xml読み込み時に発生するため、起動してすぐにエラーメッセージが出るはずである。
(他にコンテキストがなければの話だけど)

ほかにコンテキストが存在する場合エラーメッセージが流れてしまうので、「致命的」などのキーワードが出ている場所を探してみること!

カテゴリー: Java, Tomcat | コメントする

Tomcat起動時に[sealing violation: package oracle.jdbc.driver is sealed]で落ちた場合の対策

複数アプリ開発を同じTomcatに載せてローカル開発環境構築中に遭遇したエラー。

コンテキスト起動中のエラーなので、「以前のエラーのためにコンテキストの起動が失敗しました」とでて該当コンテキストが利用できない状況になってしまった。

原因としてはoracleのjdbcドライバーが複数あることが原因らしい。
良く調べてみると今回のアプリ用にTOMCAT_HOME/lib/odbc14.jarを配置した。
以前まで動いていたアプリには別のOracleドライバーが配置されていた。これが競合しておりエラー発生の原因となった模様だ。

というわけで以前まで動いていたアプリはローカルではOracleドライバーは不要なのでこちらのTomcat開発用クラスローダーからOracleのjarを外した。

再起動したところ問題なく起動できた。
もうちょっとメッセージを分かりやすくして欲しいもんだね。

カテゴリー: Tomcat | コメントする

スワップ増加によるパフォーマンス劣化?

最近Apacheのレスポンスが遅い時がある。そんな時にvmstatコマンドでみてみるとスワップイン、スワップアウト(si,so)が発生している。

やっぱりメモリが512MでApache+PHPのプロセスが大量に発生すると、メモリが不足気味でスワップが発生しまくるようだ。

多分Wordpressを高速化しないと、プロセスの滞留が起こってしまうね。ちょっと本格的に調査と対応にとりかかろう。

カテゴリー: サーバ管理 | コメントする

BASIC認証の掛かっているページをwgetで取得する方法

wgetで認証のかかったページを取得する場合はオプションを付けなければならない

wget --http-user=ユーザ名 --http-password=パスワード http://www.rutake.com/

余り使うこともないので覚えておくべき程でもないwgetのテクニックでした。

カテゴリー: Linux, コマンド | コメントする

ちょいと不調なDELL OPTIPLEX 980

2011/02月に会社のPCが一斉にOPTIPLEX 980にリプレースされた。
しかしこのPC周りと自分含めてなんかトラブルのもとを抱えているようだ。

今までに起きた事例
・SATAのHDDを認識しない(再起動で治った)
・メモリ不良の自己診断結果(再起動で治った)
・正常終了時の謎のスキャンディスク
・突然OSのマウスカーソルも動かなくなるフリーズ

うーむ、自分以外にも複数台でいろんな不具合が起きていると、一年後には完全故障がありそうだな。。。
不良ロットなのかな?

前のPCもDELLでその時はこんなトラブル無縁だったので、この先ぶっ壊れやしないかととても心配。

カテゴリー: つぶやき | コメントする

2011/07 ブラウザシェア

2011年7月の定点観測

一位はIEの48.10%、二位はFirefoxの27.20%、三位はChromeの18.23%、四位はSafariの2.43%で五位はOperaの2.23%となる。それ以下は1%に満たないので5位までの壁は大きい。

IEの内訳は8が57.50%、6が17.77%、7が15.18%、9が9.51%となっている。IE6がまだこれだけ残っているのに驚き。企業ユーザかな?

カテゴリー: 統計情報 | タグ: | コメントする

2011/07 OSシェア

GoogleAnalyticsによる定点観測

このブログにくるユーザ(15000セッションほど)を対象にした分析なので、おそらく技術系の人にサンプルが偏っている点はご了承頂きたい。

一位はWindows系92.09%、二位はLinxu3.02%、三位はMacintosh2.65%とここまではセッション数が数百以上
4位がiPhone0.86%で五位がAndroid0.67%

WindowsOSの内訳は一位XPで60.46% 、二位Windows7で30.51%で三位がVistaで7.50%。あとは1%以下で2003Server,2000,98と続く。2000がまだ百近くアクセスがあるのが驚き。

カテゴリー: 統計情報 | タグ: | コメントする

IE6 IE7 IE8 IE9のデザインを一度に確認できるMicrosoft Expression Web SuperPreview

おっとついにMicrosoftからデザイン確認用ツールが出ていたか!

これまではIETesterやIECollectionで頑張ってはいたけど、Microsoft公式であれば期待してよいだろう。

早速インストールしようと思ったら.NetFramework4.0が必要ということでこちらもインストール。
IE9の対応状況についてはIE9リリース後間もないこともあって記載がなかったけど、IE9も対応していた。

さらっと見た限り、デザインの確認が第一(だからPreview)なので、JSのテストなどには従来通りIECollectionを使ったほうがよさそう。

ダウンロードサイトには詳細な記述がないのだけども、これはトライアル版なので60日の期限付き!

カテゴリー: Windows | コメントする

CentOS6 DVDisoイメージwgetでダウンロード

どうせすぐに更新版がでるとわかってはいても、手元にDVDを残しておきたいのである!

というわけで今回はwgetを利用して寝ているうちにダウンロードを済ませてしまおう。
まずは今回対象isoイメージが2枚あるのでそれぞれのURLを記載したファイルを用意する。

ftp://ftp.riken.go.jp/Linux/centos/6.0/isos/x86_64/CentOS-6.0-x86_64-bin-DVD1.iso
ftp://ftp.riken.go.jp/Linux/centos/6.0/isos/x86_64/CentOS-6.0-x86_64-bin-DVD2.iso

この二行をdownloadlist.txtなどの名前を付けて保存

wget -i downloadlist.txt &

最後の&を付けるのがポイント。これで長時間ダウンロードでもバックグラウンドで動いてくれる。つけ忘れるとターミナルをつけっぱなしにしておかねばならない!

我が家はADSLの3M bpsがやっとの環境なので夜間7時間かけて2枚のダウンロードが完了した!

カテゴリー: CentOS | タグ: , , | コメントする

Linuxのトレンド

日本だと特に商用では圧倒的にRedHatEnterpriseLinuxが多いため、必然的にそのクローンであるCentOSに人気が集まることになるけど、google trendsで見る限り圧倒的ubuntuが一位なのである!

たしかに年々肥大化してゆくRedHat系に比べると未だにCD一枚で済むUbuntuは魅力的なのである。しかしDebian系は設定ファイルの場所などがRedHat系と違うので今ひとつ移行の踏ん切りがつかないのである。

しかーし、両方使えておいたほうが良いので次の自宅サーバはUbuntuServerにしてみようと決心したのである。Debian系を自宅サーバに入れるのはなんと2004年以来!当時の会社の人にすすめられて、すっかりaptの虜となったのであるが、そのうちRedHatでもyumが出てきたのでDebianにもどらなくなってしまったのである。

カテゴリー: Linux | コメントする