- PR -

AIX + Websphere + log4j にてファイル名、行番号が(?:?)になる

1
投稿者投稿内容
newman
会議室デビュー日: 2006/08/30
投稿数: 1
投稿日時: 2006-08-30 14:14
お世話になります。
WAS初心者です。

ただいま以下の環境でシステムを構築しています。

▼環境
OS:AIX(ver5.2)
web:Websphere(ver5)
JDKバージョン:1.3.1
log4jバージョン:1.2.13


log4jを利用してログを出力しているのですが、
「ConversionPattern」を利用してレイアウトに「(%F:%L)」を
指定している部分が「(?:?)」と表示されてしまいます。

WEBアプリケーションを起動した直後は正常にファイル名、行番号が出力されているのですが、
何度かログ出力を実行していると「(?:?)」になってしまいます。
WEBアプリケーションを再起動しても同様の状態になります。

また、同じWARファイルをWindowsXP + Websphere(ver6)の環境に導入した場合は
上記現象が再現しませんでした。

どなたか同じような現象に遭遇された方はいらっしゃいますでしょうか。
情報をいただけると助かります。

以上、よろしくお願いいたします

[ メッセージ編集済み 編集者: newman 編集日時 2006-08-30 14:16 ]
未記入
会議室デビュー日: 2006/10/25
投稿数: 2
投稿日時: 2006-10-25 23:47
はじめまして。

私もWAS初心者ですが、newmanさん同様の現象が出ています。

環境は、Websphereのバージョンが6.0であること以外は
同様で、また、しばらくはファイル名、行番号が出ている
のに、突然(?:?)が出て参ります。

恥ずかしながら、原因の切り分けすらできず難渋しておりまして、
切り分け方法のアドバイスでも十分ですのでいただければ幸いです。


nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-10-26 09:26
javac -g:none
でコンパイルされたクラスの部分の行番号がでない
という現象なのではないでしょうか。

スタックトレースなど、実行時にソースの行番号が出ますが、
アレはclassファイルにバイトコードのどのあたりがjavaファイルの
どのあたりだったという情報を持っていて、
そこを参照して行番号を出しているのです。

ですから、javacのオプションでこの情報をカットすると
行番号がわからなくなってしまいます。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/javac.html

javap -l
によって逆コンパイルするとこの行番号テーブルを確認できます。
行番号不明となる該当クラスを逆コンパイルして行番号テーブルが
ないことが確認できれば間違いないでしょう。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/javap.html
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-10-27 16:08
途中から行番号が消えてしまうと言うことは、JVMが実行コードを最適化する際に行番号への参照を失ってしまっているのではないでしょうか。
最適化を抑止するようなオプションがあれば回避できるかもしれません。
よほど問題になっていなければパフォーマンスとのトレードオフとして無視するのがいいかもしれません。

[ メッセージ編集済み 編集者: インギ 編集日時 2006-10-27 16:10 ]
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-10-27 16:54
引用:

インギさんの書き込み (2006-10-27 16:08) より:
途中から行番号が消えてしまうと言うことは、JVMが実行コードを最適化する際に行番号への参照を失ってしまっているのではないでしょうか。



そうか!
ジャストインタイムコンパイラがネイティブコード化しちゃってる可能性があるのですね。
上記現象だとそちらのネタが正解のように思えます。

SunのVMであれば -Xint でネイティブコード化が防げますが、
このあたりの引数は非標準オプションですからVMベンダによりけりでしょうね。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html
未記入
会議室デビュー日: 2006/10/25
投稿数: 2
投稿日時: 2006-11-09 22:44
インギさま、nagiseさまの仰るように、JITさんがそのようにしている、
と考えるのが自然ですね。

パフォーマンスは、さして問題ではないので(どちらかというと、
WebSphereの設定を変えるほうが大変・・・)、ちょっとおいて置く
ことにしようと思います。

みなさま、お忙しいところ、情報本当にありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)