double fault
Martin Hunt
hunt@redhat.com
Wed Nov 23 08:34:00 GMT 2005
On Mon, 2005-11-21 at 17:12 -0800, Stone, Joshua I wrote:
> I am seeing sporadic double-faults when running tests on systemtap. I
> am trying to run systemtap.base/lt.exp, though others fail as well. It
> doesn't always fail, but if I run it four or five times in succession
> that's usually enough to trigger the fault. Below are manual copies of
> a couple of the faults dumped to the console:
Sorry I didn't respond sooner. I've been a bit slow the last couple days
due to the flu.
This looks like the same double-fault I've been seeing sporadically on
my laptop running RHEL4 (and nowhere else). I tried a couple of ways to
track it down but it isn't easy. I never did get my laptop working with
netdump either.
It appeared to me that the faults were originating in kprobes. In fact
the same OS on the same hardware with the scalability patches does not
have this problem.
I stripped down the generated C file to something very small that still
demonstrated the problem. Basically it has the giant context array and a
sets a single kprobe on sys_open that simply returns.
Changing the kprobe to other functions does not always trigger the bug.
The problem also has something to do with the size of the context array.
Changing NR_CPUS to 128 (which makes the array really huge) was enough
to cause the double fault to happen on all my RHEL machines (including
x86_64) except for ones running under vmware. I changed the code to use
vmalloc (we really want vmalloc_node() but RHEL4 doesn't have it) and
all the crashes stopped on every machine.
Confused yet? I've attached my simple C file that triggers the bug. But
I'm not sure its worth pursuing further because it appears to not happen
in the newer version of kprobes.
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stap_crash.c
Type: text/x-csrc
Size: 2859 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/systemtap/attachments/20051123/5604e792/attachment.bin>
More information about the Systemtap
mailing list