3

私たちの実稼働サーバーは、クラスの 1 つに問題のあるフレームが原因で 2 回クラッシュしました。この問題は再現できておらず、他の環境でも発生していません。何が原因でしょうか?

    #
    # Java ランタイム環境によって致命的なエラーが検出されました:
    #
    # pc=0xfbfe2e0a での SIGSEGV (0xb)、pid=21857、tid=53
    #
    # JRE バージョン: 6.0_26-b03
    # Java VM: Java HotSpot(TM) サーバー VM (20.1-b02 混合モード solaris-x86 )
    # 問題のあるフレーム:
    # J com.xxx.insurance.domain.account.Address.setPostcode(Ljava/lang/String;)V
    #
    # バグ レポートを提出したい場合は、次のサイトにアクセスしてください。
    # http://java.sun.com/webapps/bugreport/crash.jsp
    #

    -  -  -  -  -  -  - - スレッド  -  -  -  -  -  -  - -

    現在のスレッド (0x08c7b000): JavaThread "[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン [_thread_in_Java, id=53, stack(0xa83ee000,0xa843e000)]

    siginfo:si_signo=SIGSEGV: si_errno=0、si_code=1 (SEGV_MAPERR)、si_addr=0x00000010

    レジスター:
    EAX=0x00000000、EBX=0xd5c88a20、ECX=0xe5c66910、EDX=0x08c7b000
    ESP=0xa843b1b0、EBP=0x00000000、ESI=0xaaaaf910、EDI=0xe5c66938
    EIP=0xfbfe2e0a、EFLAGS=0x00010282

    スタックのトップ: (sp=0xa843b1b0)
    0xa843b1b0: 00000000 aaaaf910 e5c66938 d5c88a20
    0xa843b1c0: e5c66910 b0b33f98 e5c66938 aab7a360
    0xa843b1d0: 00000000 a843b1e4 a843b20c fae0310d
    0xa843b1e0: fae0310d 00000000 e5c66910 a843b1ec
    0xa843b1f0: b47d8dc8 a843b21c b47d9000 b47e7e48
    0xa843b200: b47d8de8 a843b1e4 a843b220 e5c66a68
    0xa843b210: fb59c440 e5c66a68 e5c66910 d5b39ac0
    0xa843b220: e5c66a68 fddaaf00 00000000 e5c66910

    指示: (pc=0xfbfe2e0a)
    0xfbfe2dea: 7c b4 8b 4f 14 3b f5 0f 84 41 02 00 00 89 4c 24
    0xfbfe2dfa: 10 89 5c 24 0c 89 7c 24 08 89 74 24 04 89 2c 24
    0xfbfe2e0a: 8b 6d 10 85 f6 0f 84 cd 00 00 00 8b 0c 24 85 c9
    0xfbfe2e1a: 0f 84 c2 00 00 00 8b 4e 10 3b cd 0f 85 b7 00 00

    メモリ マッピングに登録します。

    EAX=0x00000000 は不明な値です
    EBX=0xd5c88a20 はおっと
    com.xxx.insurance.domain.account.Address$Property
     - クラス: 'com/xxx/insurance/domain/account/Address$Property'
    ECX=0xe5c66910 はおっと
    com.xxx.insurance.domain.account.Address
     - クラス: 'com/xxx/insurance/domain/account/Address'
    EDX=0x08c7b000 はスレッドです
    ESP=0xa843b1b0 はスレッドのスタックを指しています: 0x08c7b000
    EBP=0x00000000 は不明な値です
    ESI=0xaaaaf910 はおっと
    java.lang.String
     - クラス: 'java/lang/String'
    EDI=0xe5c66938 はおっと
    com.xxx.insurance.beans.InsurancePropertyChangeSupport
     - クラス: 'com/xxx/insurance/beans/InsurancePropertyChangeSupport'


    スタック: [0xa83ee000,0xa843e000]、sp=0xa843b1b0、空き容量=308k
    ネイティブ フレーム: (J=コンパイル済み Java コード、j=解釈済み、Vv=VM コード、C=ネイティブ コード)
    J com.xxx.insurance.domain.account.Address.setPostcode(Ljava/lang/String;)V

    [エラー報告中にエラーが発生しました (ネイティブ スタックの印刷)、ID 0xb]


    -  -  -  -  -  -  - - 処理する  -  -  -  -  -  -  - -

    Java スレッド: ( => 現在のスレッド )
      0x0bbb8c00 JavaThread "Keep-Alive-Timer" デーモン [_thread_blocked, id=371, stack(0xa7bff000,0xa7c4f000)]
      0x0c65f800 JavaThread "RHTTP ダウンローダー (一般)" デーモン [_thread_in_native, id=360, stack(0xa6b84000,0xa6bd4000)]
      0x0d431400 JavaThread "RangeSocketListener-1" デーモン [_thread_blocked, id=353, stack(0xa6c26000,0xa6c76000)]
      0x0b397000 JavaThread "RHTTP ダウンローダー (一般)" デーモン [_thread_blocked, id=333, stack(0xa6c77000,0xa6cc7000)]
      0x0a7df800 JavaThread "Java2D Disposer" デーモン [_thread_blocked, id=275, stack(0xa771d000,0xa776d000)]
      0x0d198400 JavaThread "Store defaultMethodCache Spool Thread" デーモン [_thread_blocked, id=218, stack(0xa7662000,0xa76b2000)]
      0x0c562800 JavaThread "[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン [_thread_blocked, id=78, stack(0xa76b3000,0xa7703000)]
      0x09b57800 JavaThread "DynamicSSLListenThread[DefaultSecure]" デーモン [_thread_in_native, id=76, stack(0xa779c000,0xa77ec000)]
      0x0824ac00 JavaThread "weblogic.GCMonitor" デーモン [_thread_blocked, id=75, stack(0xa77ed000,0xa783d000)]
      0x0acdd400 JavaThread "[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン [_thread_blocked, id=74, stack(0xa783e000,0xa788e000)]
      0x08248c00 JavaThread "[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン [_thread_blocked, id=73, stack(0xa788f000,0xa78df000)]
      0x0ca4c400 JavaThread "weblogic.cluster.MessageReceiver" デーモン [_thread_in_native, id=71, stack(0xa790e000,0xa795e000)]
      0x08249400 JavaThread "Thread-19" [_thread_blocked, id=70, stack(0xa795f000,0xa79af000)]
      0x0bc1cc00 JavaThread "Store defaultMethodCache Spool Thread" デーモン [_thread_blocked, id=69, stack(0xa7abb000,0xa7b0b000)]
      0x0b7b8000 JavaThread "jboss EL リファレンス キュー クリーンアップ スレッド" デーモン [_thread_blocked, id=68, stack(0xa7b0c000,0xa7b5c000)]
      0x0855f000 JavaThread "[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン [_thread_blocked, id=64, stack(0xa80e7000,0xa8137000)]
      0x0a659400 JavaThread "Timer-3" デーモン [_thread_blocked, id=63, stack(0xa8c47000,0xa8c97000)]
      0x0aa22800 JavaThread "Thread-16" [_thread_blocked, id=62, stack(0xa8189000,0xa81d9000)]
      0x0a776c00 JavaThread "DoSManager" デーモン [_thread_blocked, id=61, stack(0xa8138000,0xa8188000)]
      0x0acd6000 JavaThread "VDE Transaction Processor Thread" デーモン [_thread_blocked, id=59, stack(0xa81da000,0xa822a000)]
      0x0ad9ec00 JavaThread "Timer-2" デーモン [_thread_blocked, id=58, stack(0xa822b000,0xa827b000)]
      0x0a40ec00 JavaThread "ExecuteThread: '3' for queue: 'weblogic.socket.Muxer'" デーモン [_thread_blocked, id=57, stack(0xa827c000,0xa82cc000)]
      0x086b3400 JavaThread "ExecuteThread: キューの '2': 'weblogic.socket.Muxer'" デーモン [_thread_blocked, id=56, stack(0xa82cd000,0xa831d000)]
      0x09598000 JavaThread "ExecuteThread: キューの '1': 'weblogic.socket.Muxer'" デーモン [_thread_blocked, id=55, stack(0xa831e000,0xa836e000)]
      0x0d53b800 JavaThread "ExecuteThread: キューの '0': 'weblogic.socket.Muxer'" デーモン [_thread_in_native, id=54, stack(0xa836f000,0xa83bf000)]
    =>0x08c7b000 JavaThread "[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン [_thread_in_Java, id=53, stack(0xa83ee000,0xa843e000)]
      0x0a31c000 JavaThread "NM Reaper" デーモン [_thread_blocked, id=52, stack(0xa843f000,0xa848f000)]
      0x0a5d4400 JavaThread "Timer-1" デーモン [_thread_blocked, id=51, stack(0xa84ac000,0xa84fc000)]
      0x0a319800 JavaThread "weblogic.timers.TimerThread" デーモン [_thread_blocked, id=50, stack(0xa84fd000,0xa854d000)]
      0x0a763400 JavaThread "weblogic.time.TimeEventGenerator" デーモン [_thread_blocked, id=49, stack(0xa854e000,0xa859e000)]
      0x0a3b2000 JavaThread "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン [_thread_blocked, id=48, stack(0xa859f000,0xa85ef000)]
      0x0a703c00 JavaThread "Timer-0" デーモン [_thread_blocked, id=47, stack(0xa8bbf000,0xa8c0f000)]
      0x08a73400 JavaThread "RHTTP Client for 'insurRhodesServer3:35006'" デーモン [_thread_blocked, id=40, stack(0xa9a8f000,0xa9adf000)]
      0x08f44000 JavaThread "Acceptor ServerSocket[addr=/0.0.0.0,port=0,localport=35006]" デーモン [_thread_in_native, id=38, stack(0xa8ed3000,0xa8f23000)]
      0x08e2b000 JavaThread "SessionScavenger" デーモン [_thread_blocked, id=37, stack(0xa8f4e000,0xa8f9e000)]
      0x08ccd800 JavaThread "SessionScavenger" デーモン [_thread_blocked, id=36, stack(0xa9aff000,0xa9b4f000)]
      0x08a70000 JavaThread "SessionScavenger" デーモン [_thread_blocked, id=35, stack(0xa9d06000,0xa9d56000)]
      0x08437c00 JavaThread "Low Memory Detector" デーモン [_thread_blocked, id=32, stack(0xa97fd000,0xa984d000)]
      0x08438400 JavaThread "C2 CompilerThread1" デーモン [_thread_in_native, id=31, stack(0xa984e000,0xa98ce000)]
      0x08436000 JavaThread "C2 CompilerThread0" デーモン [_thread_in_native, id=30, stack(0xa98cf000,0xa994f000)]
      0x0842ac00 JavaThread "Metrics Collection" デーモン [_thread_blocked, id=29, stack(0xa997e000,0xa99ce000)]
      0x08425000 JavaThread "Stack Trace Sampler" デーモン [_thread_blocked, id=28, stack(0xa99cf000,0xa9a1f000)]
      0x0841d800 JavaThread "ServerCommunication" デーモン [_thread_blocked, id=27, stack(0xa9a3e000,0xa9a8e000)]
      0x083b6400 JavaThread "バッファ フラッシュ スレッド" デーモン [_thread_blocked, id=23, stack(0xa9c13000,0xa9c63000)]
      0x083d3400 JavaThread "metric-sampler" デーモン [_thread_blocked, id=22, stack(0xa9c64000,0xa9cb4000)]
      0x0838f800 JavaThread "shared InfrequentEventScheduler" デーモン [_thread_blocked, id=21, stack(0xa9cb5000,0xa9d05000)]
      0x081f9c00 JavaThread "Signal Dispatcher" デーモン [_thread_blocked, id=19, stack(0xa9e0a000,0xa9e5a000)]
      0x081e8c00 JavaThread "Finalizer" デーモン [_thread_blocked, id=18, stack(0xaa8ad000,0xaa8fd000)]
      0x081e4000 JavaThread "参照ハンドラ" デーモン [_thread_blocked, id=17, stack(0xfde2e000,0xfde7e000)]
      0x08072c00 JavaThread "main" [_thread_blocked, id=2, stack(0xfe08f000,0xfe0df000)]

    その他のスレッド:
      0x081e0800 VMThread [スタック: 0xa9e5b000,0xa9edb000] [id=16]
      0x08432800 WatcherThread [スタック: 0xa977c000,0xa97fc000] [id=33]

    VM の状態:セーフポイントではない (通常の実行)

    スレッドが現在所有している VM Mutex/モニター: なし

    ヒープ
     PSYoungGen 合計 332096K、使用 16671K [0xe5600000、0xfac00000、0xfac00000)
      eden スペース 314304K、2% 使用済み [0xe5600000,0xe5d77580,0xf88f0000)
      スペース 17792K から、50% 使用済み [0xf88f0000,0xf91c0988,0xf9a50000)
      スペース 17216K まで、0% 使用済み [0xf9b30000,0xf9b30000,0xfac00000)
     PSOldGen 合計 700416K、使用済み 523951K [0xbaa00000、0xe5600000、0xe5600000)
      オブジェクト空間 700416K、74% 使用済み [0xbaa00000,0xda9abd00,0xe5600000)
     PSPermGen 合計 262144K、使用 187475K [0xaaa00000、0xbaa00000、0xbaa00000)
      オブジェクト空間 262144K、71% 使用済み [0xaaa00000,0xb6114fd8,0xbaa00000)

    コード キャッシュ [0xfae00000、0xfbfe8000、0xfde00000)
     total_blobs=5279 nmethods=4926 adapters=305 free_code_cache=31627328 maximum_free_block=6016

4

2 に答える 2

2

何が原因でしょうか?

原因は、アプリケーションが使用しているネイティブ コード ライブラリのバグか、JVM のバグである可能性があります。

前者の場合は、ネイティブ コードのデバッグ スキルを磨く必要があります。(ご存知のように、使用gdbと同類です。)

後者の場合、より新しい JVM パッチ レベルにアップグレードすると役立つ場合があります。または、リリース ノートの「修正されたバグ」セクションを調べて、以降の JVM リリースを探すこともできます。または、Oracle の Java Bug Database をトロールすることもできます (有望な検索用語が思い浮かびませんが...)。

于 2012-03-26T03:19:57.217 に答える
0

ネイティブ ライブラリが関係している場合は、運用システムの DLL/共有ライブラリを推奨パッチ レベルと照合する価値があります。

于 2012-03-26T04:47:26.687 に答える