HP-UX에서 Ruby 1.9.1-p0을 컴파일하려고합니다. ext/pty.c에 약간의 변경을 한 후에는 경고 메시지 (약 5K)가 붙지 만 성공적으로 컴파일됩니다. 내가 사용 자체 테스트를 실행하면 "시험을"이 충돌하고 다음과 같은 오류와 함께 코어 덤프 : 불법 명령은 시스템이 프로세스를 종료하기 위해 사용하는 단지 신호이 문제를 인터넷 검색에서"sendsig : useracc failed"진단/추적 방법. HP-UX의 문제
sendsig: useracc failed. 0x9fffffffbf7dae00 0x00000000005000
Pid 3044 was killed due to failure in writing the signal context - possible stack overflow.
Illegal instruction
, 문제와 관련이 없습니다. 신호 처리기를 호출 할 때 컨텍스트를 다시 설정하는 데 문제가있는 것 같습니다. gdb에서 코어를 가져 오면 특별히 깊은 스택이 표시되지 않으므로 "가능한 스택 오버플로"중 하나라고 생각하지 않습니다.
gdb를 스택 역 추적 출력은 다음과 같습니다
#0 0xc00000000033a990:0 in __ksleep+0x30() from /usr/lib/hpux64/libc.so.1
#1 0xc0000000001280a0:0 in __mxn_sleep+0xae0()
from /usr/lib/hpux64/libpthread.so.1
#2 0xc0000000000c0f90:0 in <unknown_procedure> + 0xc50()
from /usr/lib/hpux64/libpthread.so.1
#3 0xc0000000000c1e30:0 in pthread_cond_timedwait+0x1d0()
from /usr/lib/hpux64/libpthread.so.1