[SCore-users-jp] invoke()処理時のException Signalについて

kameyama @ pccluster.org kameyama @ pccluster.org
2004年 5月 18日 (火) 10:09:41 JST


亀山です.

とりあえず, glibc 2.2.4 (redhat Advanced workstation 2.1 for Itanium のもの)
と glibc 2.3.2 (Fedora Core 1 for Intel のもの) の setjump.S を
比べてみましたが, 大きな変更はありませんでした.

In article <20040517182942.02B4.T-AOKI @ pst.fujitsu.com> 青木 <t-aoki @ pst.fujitsu.com> wrotes:
> > 同じとすると... One local node でしたら gdb が使用できると思うのですが,
> > signal がおきたときの back trace をとれないでしょうか?
> back trace を採取しました。
> #7〜#10と同じフレーム情報が、#5000以降も表示されつづけていま
> す。この時点で既に動きがおかしいということになるのでしょうか。

voidsinvoker0::invoke() () の時点で setjump() によって
新しい stack を割り当てているため, これ自体はそんなに問題では
ないと思いますが...


> Attaching to program: /opt/score/score-src/SCore/scored/test/mpc++/signal/obj
> .ia64-redhat-linux2_4/signal.exe, process 17984
> 0x40000000001d4d31 in waitpid ()
> (gdb) bt

これって, SEGFAULT が起こったときに gdb が立ち上がったものですね.
はじめから
    % gdb /opt/score/score-src/SCore/scored/test/mpc++/signal/obj.ia64-redhat-linux2_4/signal.exe
で動かしてみてください.
(多分, 同じところだとは思いますが, その命令で止るので,
少しはましかも...)
もしくは, _voidsinvoker0::invoke で break して step 実行することで
エラーの起こる命令が特定できるかも...

                       from Kameyama Toyohisa



SCore-users-jp メーリングリストの案内