示例C程序正在运行,但现有的多线程C ++程序在Perl 5.16.0中的Perl_sv_upgrade中正在中止

时间:2012-10-04 13:34:54

标签: c perl xs

在Perl 5.16.0中,示例C程序正在运行,但现有的多线程程序正在Perl_sv_upgrade中止。多线程程序适用于Perl 5.8.8。使用Perl 5.16.0,相同的代码适用于Linux和Solaris。

比较Linux和Hp-PA之间的sv参数值,显示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

0 个答案:

没有答案