누군가 다음과 같은 손상된 스택 추적이 발생할 수있는 이유를 설명 할 수 있습니까?Solaris의 스택 백 트레이스가 손상된 경우
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libxnet.so.1...done.
Loaded symbols for /usr/lib/libxnet.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libxml2.so.2...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /opt/csw/lib/libiconv.so.2...done.
Loaded symbols for /opt/csw/lib/libiconv.so.2
Reading symbols from /usr/lib/libcrypt_i.so.1...done.
Loaded symbols for /usr/lib/libcrypt_i.so.1
Reading symbols from /usr/lib/libpthread.so.1...
warning: Lowest section in /usr/lib/libpthread.so.1 is .dynamic at 00000074
done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/lib/libm.so.2...done.
Loaded symbols for /usr/lib/libm.so.2
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/libc.so.1...done.
warning: rw_common(): unable to read at addr 0x0
warning: sol_thread_new_objfile: td_ta_new: Debugger service failed
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libz.so.1...done.
warning: rw_common(): unable to read at addr 0x0
warning: sol_thread_new_objfile: td_ta_new: Debugger service failed
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libgen.so.1...done.
warning: rw_common(): unable to read at addr 0x0
warning: sol_thread_new_objfile: td_ta_new: Debugger service failed
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /usr/lib/libaio.so.1...done.
warning: rw_common(): unable to read at addr 0x0
warning: sol_thread_new_objfile: td_ta_new: Debugger service failed
Loaded symbols for /usr/lib/libaio.so.1
Reading symbols from /usr/lib/libmd.so.1...done.
warning: rw_common(): unable to read at addr 0x0
warning: sol_thread_new_objfile: td_ta_new: Debugger service failed
Loaded symbols for /usr/lib/libmd.so.1
#0 0xfeb3487a in _malloc_unlocked() from /usr/lib/libc.so.1
(gdb) bt
#0 0xfeb3487a in _malloc_unlocked() from /usr/lib/libc.so.1
#1 0x210b5a68 in ??()
#2 0xfec0e5d0 in signames() from /usr/lib/libc.so.1
#3 0xfec0d000 in _sys_cldlist() from /usr/lib/libc.so.1
#4 0x08046a28 in ??()
#5 0xfeb34704 in _malloc_unlocked() from /usr/lib/libc.so.1
#6 0x00002008 in ??()
#7 0x210b5a68 in ??()
#8 0x21151b70 in ??()
#9 0xfeeda3b0 in ??() from /usr/lib/libxml2.so.2
#10 0x08046a3c in ??()
#11 0xfee03c42 in xmlBufferCreateSize() from /usr/lib/libxml2.so.2
Previous frame inner to this frame (corrupt stack?)
코어는 x86 컴퓨터에서 빌드 된 프로세스에서 발생합니다. 백 트레이스가 프로세스를 실행하는 시스템에서 수행되는 경우 역 추적은 전체 프레임 정보와 함께 완벽합니다. 그러나 빌드 머신 (다른 머신)에서 코어로 백 트레이스를 수행하면 위의 추적이됩니다. 내가 생각
한 가지 분명한 점은 OS 하나가 5.10 Generic_138889-03
(실행 시스템)에 다른 패치 수준이었고 다른 하나는 5.10 Generic_138889-02
가 (기계를 만들어) 그래서 레브 번호가 꺼져 있습니다. 이것이 이유입니까? 아니면 그 밖에 무엇이있을 수 있습니까? 코어 메모리를 자세히 조사 할 수 있도록 전체 프레임 정보를 보려면 무엇을 할 수 있습니까?
아무쪼록 고맙겠습니다.
감사합니다.
사과, 나는 왜 추적이 굵은 글씨로 나왔는지 알지 못한다. – bpm