[patch] ksymoops problem with multiline call traces

David Mansfield (david@cobite.com)
Wed, 24 Feb 1999 21:18:44 -0500 (EST)


On my system, ksymoops was having problems when the 'Call trace:' section
had multiple lines of trace info. For all lines but the first, only the
first address was being resolved (example oops at end of mail). The
reason was that in Oops_trace (oops.c) the starting position of the oops
text was found using the wrong subexpression, which caused the parser to
get confused. The sub-expression used (#5) is for an address without the
square brackets, ie <deadbeef> instead of [<deadbeef>]. This caused the
line parser to tokenize the line incorrectly. BTW, I am running kernel
2.2.2 on intel PPro 200, on a RedHat 5.2 system.

This patch fixes the problem for me.

--- /usr/src/linux/scripts/ksymoops/oops.c~ Wed Feb 24 21:05:38 1999
+++ /usr/src/linux/scripts/ksymoops/oops.c Wed Feb 24 21:06:22 1999
@@ -638,6 +638,8 @@
trace_line = 2; /* ppc */
start = line + re_Oops_trace_pmatch[0].rm_eo;
}
+ else if (trace_line == 1 && MATCHED(4))
+ start = line + re_Oops_trace_pmatch[4].rm_so;
else if (trace_line == 1 && MATCHED(5))
start = line + re_Oops_trace_pmatch[5].rm_so;
else if (trace_line == 2 && MATCHED(8)) /* ppc */

--------------
Here is an oops which didn't parse before, but does now:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
current->tss.cr3 = 02566000, %cr3 = 02566000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c0135f89>]
EFLAGS: 00010202
eax: c2582000 ebx: c0fad5c0 ecx: 00000000 edx: c2702600
esi: c0fcba00 edi: 00000000 ebp: 000ee986 esp: c2583c98
ds: 0018 es: 0018 ss: 0018
Process tar (pid: 1706, process nr: 66, stackpage=c2583000)
Stack: 00000000 c270253c c0fad5c0 00000000 000ee986 c270253c c270253c c0125b4b
c013d273 c270253c 000ee986 00000001 c270253c c270253c 00000000 fffffffc
00000000 c27025d4 00000002 000ee986 00000000 0000000c c013d89a c270253c
Call Trace: [<c0125b4b>] [<c013d273>] [<c013d89a>] [<c0138ab5>] [<c0138acb>] [<c01301d8>] [<c012ebda>]
[<c012eea8>] [<c012f0f3>] [<c0120ad7>] [<c0120bd3>] [<c012135e>] [<c01265f1>] [<c01265dc>] [<c01256e2>]
[<c012596a>] [<c0136a0b>] [<c01265f1>] [<c0138c4c>] [<c0138fb7>] [<c01393bc>] [<c01377c2>] [<c01375d8>]
[<c0125ad3>] [<c0110cbf>] [<c0110d13>] [<c012a26e>] [<c012409a>] [<c012417c>] [<c01098f8>]
Code: c7 05 00 00 00 00 00 00 00 00 c6 46 11 01 ba 00 e0 ff ff 21

-- 
/==============================\
| David Mansfield              |
| david@cobite.com             |
\==============================/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/