Solution ID:151696002 表題: UNIX: Solaris 2.6の環境でMSE、CORが発生するのはなぜですか 製品: Purify バージョン: 2002.05.00以前のバージョン OS: Solaris 2.6 DEFECT #: N/A PATCH #: N/A 参照事項: 作成年月日: 8-Dec-2002 改訂年月日: 現象: Sun Workshop C++で作成したプログラムをPurifyに適用、実行を行った 際に下記のMSE、CORメッセージが出力され、プログラムが終了します。 **** Purify instrumented jmgo9001 (pid 25564 at Thu Dec 12 15:42:21 2002) * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All rights reserved. * For contact information type: "purify -help" * Command-line: jmgo9001 * Options settings: -purify -ignore-runtime-environment \ -purify-home=/opt/Rational/releases/purify-5.2-solaris2 -threads=yes \ -use-internal-locks=yes -thread_stack_change=0x4000 -mt_safe_malloc=yes \ -log-file=/NSSWORK/s01/pure_log/pur_%v_%p.log \ -cache-dir=/NSSWORK/s01/purify/cache -always-use-cache-dir -best-effort * License successfully checked out. **** Purify instrumented jmgo9001 (pid 25564) **** MSE: Memory segment error: * This is occurring while in: _init [libCrun.so.1] call_init [] elf_bndr [] elf_rtbndr [] *unknown func* [pc=0x74a24] _init [libMPPB_ORACLE.so] * Accessing a memory range that crosses a memory segment boundary. Addressing 0x72682bfa for 4 bytes ending at 0x72682bfe, which is neither in the heap nor the main stack. **** Purify instrumented jmgo9001 (pid 25564) **** COR: Fatal core dump: * This is occurring while in: _init [libCrun.so.1] call_init [] elf_bndr [] elf_rtbndr [] *unknown func* [pc=0x74a24] _init [libMPPB_ORACLE.so] * Received signal 10 (SIGBUS - Bus Error) * Faulting address = 0x72682bfa * Signal mask: (SIGBUS) * Pending signals: 原因: この問題はPurifyバージョン2002.05.00またその以前のバージョンと libcの共有ライブラリパッチ105591-12の間に互換性がないため、発 生しています。 解決策: この不具合はPurify 2002a.06.00のバージョンで改修しておりますの で、これ以降のバージョンのPurifyにアップグレードし、もしくはlibcの 共有ライブラリパッチを元のバージョンに戻します。 アップグレードの手順に関しましては、お手数ですがラショナルカスタ マサービス(support@japan.rational.com)まで、お客様のRationalアカ ウント番号を添えてご連絡ください。 ご不明な点等ありましたら、ラショナルカスタマサービスへお問い合わせ下さい。