Analyze a Segmentation Fault
Run the
analyze_seg_fault.py script to gather information about a specified
segfault
line in a stack trace. The script prints the function name,
source filename, and line number where the error occurred. This information can be sent to a
MATRIXX representative for troubleshooting errors in the MATRIXX Engine
code.
Before you begin
Locate the segmentation fault to analyze in
the ${MTX_LOG_DIR}/mtx.log file or in
/var/log/messages. The
segfault
string is
in the following format:
segfault at address ip ip_address sp sp_address error error in file[code_starting_address+size]
Example:
segfault at 7f5eccf7c718 ip 00007f5b52c47e1b sp 00007f4f477fb4b0 error 4 in libMtxSto.so[7f5b52a8c000+267000]
For more information about the MATRIXX environment variables, see the discussion about container directories and environment variables in MATRIXX Installation and Upgrade.
Procedure
-
Run the following command:
kubectl exec -it engine_pod_name -n matrixx -- bash --login -c
"analyze_seg_fault.py segfault_line"
Where segfault_line is the complete line, for example:
kubectl exec -it engine_pod_name -n matrixx -- bash --login -c
"analyze_seg_fault.py "segfault at 7f5eccf7c718 ip 00007f5b52c47e1b sp 00007f4f477fb4b0 error 4 in libMtxSto.so[7f5b52a8c000+267000]""
This command prints information similar to the following:
MtxSto::OID::getCounterValue() const /opt/mtx/include/MtxSto/OID.h:400 operator<< /opt/mtx/include/MtxSto/OID.h:463 void MtxSto::DatabaseIdxManager::removeFromIndexDirect<MtxSto::DatabaseIdx<MtxSto::HashIndex<MtxSto::IndexTraits<char*, true> > > >(MtxSto::DatabaseIdx<MtxSto::HashIndex<MtxSto::IndexTraits<char*, true> > >&, MtxUtil::DataContainer const&, MtxSto::DatabaseIdx<MtxSto::HashIndex<MtxSto::IndexTraits<char*, true> > >::Value const&) /opt/mtx/include/MtxSto/DatabaseIdxManager.h:366
- Give this information to your MATRIXX Support representative to aid in troubleshooting errors.