From: Keith Owens <kaos@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: 2.6.3 Heisenbug in unwind.c
Date: Wed, 10 Mar 2004 05:27:07 +0000 [thread overview]
Message-ID: <5692.1078896427@kao2.melbourne.sgi.com> (raw)
In-Reply-To: <2654.1077624337@ocs3.ocs.com.au>
On Tue, 24 Feb 2004 23:05:37 +1100,
Keith Owens <kaos@sgi.com> wrote:
>I am seeing a Heisenbug in the 2.6.3 kernel unwind code. The symptoms
>are that the backtrace terminates early, usually failing to unwind past
>an interrupt frame.
One possible contender for this unwind Heisenbug. Building a 2.6.4-rc3
kernel with gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-24) and GNU
ld version 2.14.90.0.4 20030523. The unwind data in vmlinux is
invalid, with overlapping entries. If this command reports anything at
all then your unwind data is stuffed.
readelf -u vmlinux | grep '+[a-f0-9]*>:' | head -5
An extract of the descriptor triplets looks like this. It seems that
the unwind descriptors for .text and .init.text have been merged
together, as if both sections started at the same offset.
00015a00 00015a70 005ced40
00015a80 00015b20 005ced58
00015ac0 00015d10 005c6828 Illegal insert, belongs to __init text
00015b20 00015ca0 005ced70
00015ca0 00015d30 005ced90
00015d20 00015e50 005c6848 Illegal insert, belongs to __init text
00015d40 00015f90 005ceda8
00015e60 00015f90 005c6868
00015fa0 000162e0 005c6888
Depending on precisely where the interrupt occurs, you may pick up a
correct or an incorrect unwind descriptor. Which in turn affects the
backtrace, and explains why changing code size may the Heisenbug move.
Using the same toolchain to build a 2.4 kernel is not a problem.
next prev parent reply other threads:[~2004-03-10 5:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-24 12:05 2.6.3 Heisenbug in unwind.c Keith Owens
2004-02-24 14:29 ` David Mosberger
2004-03-10 5:27 ` Keith Owens [this message]
2004-03-11 7:56 ` David Mosberger
2004-03-11 8:14 ` Keith Owens
2004-03-15 6:52 ` Keith Owens
2004-03-16 6:22 ` Keith Owens
2004-03-16 10:42 ` Keith Owens
2004-03-17 22:46 ` Keith Owens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5692.1078896427@kao2.melbourne.sgi.com \
--to=kaos@sgi.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox