충돌 및 종료 코드 721035

충돌 및 종료 코드 721035

이 종료 코드의 의미는 어디서 찾을 수 있나요?

clib system()을 사용하여 프로세스(A) 호출 프로그램(B)이 있습니다. 때때로 프로그램 (B)가 종료 코드 721035로 반환되고 AIX가 프로세스 A를 종료합니다. 이것은 무작위이며 종료 코드가 무엇을 의미하는지, 왜 그런 일이 발생했는지 알고 싶습니다.

이것은 dbx 스택 추적입니다.

[using memory image in core-prod]
reading symbolic information ...warning: Unable to access the stab file. Some info may not be available

Segmentation fault in pth_signal.pthread_kill [/usr/lib/libpthread.a] at 0xd05098c0 ($t1)
0xd05098c0 (pthread_kill+0xa0) 80410014         lwz   r2,0x14(r1)
(dbx) where
pth_signal.pthread_kill(??, ??) at 0xd05098c0
pth_signal._p_raise(??) at 0xd0508d28
raise.raise(??) at 0xd01373e0
skgesigOSCrash(??) at 0xd737cb7c
kpeDbgSignalHandler(??, ??) at 0xd73e2c54
skgesig_sigactionHandler(??, ??, ??) at 0xd737ce8c
get_from_list() at 0xd013cf04
malloc_buckets(??, ??) at 0xd01d9070
malloc_common@AF103_86(??) at 0xd012a448
pth_spinlock._lib_spinlock_create(??) at 0xd04f1344
_rec_mutex_init@AF20_14(??) at 0xd012b658
__bsd_child_post_fork() at 0xd0bdb230
pth_fork._atfork_child() at 0xd0515238
__fork() at 0xd0231378
system(??) at 0xd0303420
CSSCLIPal::System(const CSSCLIString&)(??) at 0xdbeb9880

답변1

당신도 읽을 수 있듯이여기, 이는 사용 중인 컴파일러의 결함일 수 있습니다. 기본 최적화 수준에서는 잘못된 코드가 생성되어 애플리케이션이 실패하고 721035와 함께 종료될 수 있습니다.

컴파일 타임에 더 낮은 최적화 수준을 선택하여 이 문제를 해결해 볼 수 있습니다. 기본 최적화 수준은 -O2이므로 -O1 또는 -O0을 사용하여 코드를 컴파일해 볼 수 있습니다.

위 링크에서 언급한 대로 영구적인 해결 방법은 2011년 5월 PTF를 시스템에 적용하는 것입니다.

관련 정보