Пример программы C работает, но существующая многопоточная программа C++ прерывается в Perl_sv_upgrade в Perl 5.16.0
В Perl 5.16.0 пример программы на C работает, но существующая многопоточная программа прерывается в Perl_sv_upgrade
, Многопоточная программа отлично работает с Perl 5.8.8. Один и тот же код работает в Linux и Solaris с Perl 5.16.0.
Сравнивая sv
Значение аргумента между Linux и Hp-PA показывает sv
значение NULL
в случае Hp-PA. Кто-нибудь замечал эту проблему раньше? Пожалуйста, дайте мне знать?
Трассировка стека Linux после отладки и просмотра sv
значение:
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
Трассировка стека HP-PA после просмотра значения sv при анализе сброса в gdb:
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