Perl 5.16.0 では、サンプル C プログラムは動作していますが、既存のマルチスレッド プログラムは で中断していPerl_sv_upgrade
ます。マルチスレッド プログラムは Perl 5.8.8 で正常に動作します。同じコードは、Perl 5.16.0 を使用する Linux と Solaris で機能します。
sv
Linux と Hp-PAの引数の値を比較すると、 Hp-PA の場合のsv
値ですNULL
。誰かが前にこの問題に気づきましたか。私にお知らせください?
デバッグしてsv
値を確認した後の Linux スタック トレース:
Breakpoint 4, Perl_sv_upgrade (my_perl=0x14fe6400, sv=0x150317a8, new_type=SVt_PV)
at sv.c:1140
1140 sv.c: No such file or directory.
(gdb) where
#0 Perl_sv_upgrade (my_perl=0x14fe6400, sv=0x150317a8, new_type=SVt_PV) at sv.c:1140
gdb での中止の分析中に sv 値を確認した後の HP-PA スタック トレース:
Thread 3 (system thread 428417):
#3 signal handler called
#4 0xca9825c4 in Perl_sv_upgrade (my_perl=0x40236f10, sv=0x0, new_type=SVt_PV)
at sv.c:1260