mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
zfcpdbf: deal with crash 7.2.9 change in caller name formatting
Since crash 7.2.9 commit https://github.com/crash-utility/crash/commit/f1f43bf355df2564543c39f5d7e13b15c67eb13d in support of kernel v5.9 commit 0990d836cecb ("s390/debug: debug feature version 3"), the symbolic caller function name is left aligned instead of right aligned, so now we alternatively have to remove whitespace between function name and offset. Otherwise, zfcpdbf output contains wrong warnings about ambiguous payload records with wrong values for reqid and area, as well as incorrectly decoded trace records with wrong content values and potential error messages on not defined record id, and finally a potential list of occurrences of unknown tags which should empty: Loading trace records ...(this might take a while) Warning: Ambiguous PAYload records. reqid:>>>wrong<<< area:V^D^@fcp_ Warning: Ambiguous PAYload records. reqid:>>>wrong<<< area:W^D^@fsf_ Warning: Ambiguous PAYload records. reqid:>>>wrong<<< area:i^B^@san_ ... Timestamp : ... Area : SAN Subarea : 00 Level : 1 Exception : - CPU ID : 0001 Caller : <zfcp_dbf_san_in_els Record ID : 0 Tag : 6^B^Cfcie Request ID : >>>wrong<<< Destination ID : >>>wrong<<< SAN record id=0 not defined. Timestamp : ... Area : SAN Subarea : 00 Level : 1 Exception : - CPU ID : 0002 Caller : <zfcp_dbf_san_in_els Record ID : 0 Tag : 6^B^Cfcie Request ID : >>>wrong<<< Destination ID : >>>wrong<<< SAN record id=0 not defined. ... occurrences of unknown tags: ... Signed-off-by: Steffen Maier <maier@linux.ibm.com> Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
d73d7f91ac
commit
4fc1a92a8d
@@ -227,6 +227,16 @@ sub get_common
|
||||
# function name or hexadecimal caller address.
|
||||
#
|
||||
$line =~ s/<\s+/</;
|
||||
#
|
||||
# Since crash 7.2.9 commit
|
||||
# https://github.com/crash-utility/crash/commit/f1f43bf355df2564543c39f5d7e13b15c67eb13d
|
||||
# in support of kernel v5.9 commit 0990d836cecb
|
||||
# ("s390/debug: debug feature version 3"),
|
||||
# the symbolic caller function name is left aligned instead of right
|
||||
# aligned, so now we alternatively have to remove whitespace between
|
||||
# function name and offset.
|
||||
#
|
||||
$line =~ s/<([^+> ]+)[ \t]+/<\1/;
|
||||
@common = split(/\s+/, $line);
|
||||
#
|
||||
# Process symbolic kernel module name, if necessary.
|
||||
@@ -388,6 +398,17 @@ sub get_foreign_records
|
||||
# caller address.
|
||||
#
|
||||
$line =~ s/<\s+/</;
|
||||
#
|
||||
# Since crash 7.2.9 commit
|
||||
# https://github.com/crash-utility/crash/commit/f1f43bf355df2564543c39f5d7e13b15c67eb13d
|
||||
# in support of kernel v5.9 commit 0990d836cecb
|
||||
# ("s390/debug: debug feature version 3"),
|
||||
# the symbolic caller function name is left aligned
|
||||
# instead of right aligned, so now we alternatively
|
||||
# have to remove whitespace between function name and
|
||||
# offset.
|
||||
#
|
||||
$line =~ s/<([^+> ]+)[ \t]+/<\1/;
|
||||
my @raw_rec = split(/\s+/,($line =~ /[|]/) ?
|
||||
substr($line, 0, index($line, '|')):
|
||||
$line);
|
||||
|
||||
Reference in New Issue
Block a user