This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: ERROR: Build-id mismatch
- From: "Frank Ch. Eigler" <fche at redhat dot com>
- To: deepak dot venkatesh at wipro dot com
- Cc: bala dot venu at wipro dot com, giribalaji dot ragavan at wipro dot com, systemtap at sourceware dot org
- Date: Tue, 1 Mar 2011 09:43:29 -0500
- Subject: Re: ERROR: Build-id mismatch
- References: <81939A763626854B8ECA106278B28F3402D97A7E@BLR-SJP-MBX02.wipro.com>
Hi -
On Tue, Mar 01, 2011 at 07:48:53PM +0530, deepak.venkatesh@wipro.com wrote:
> I am trying to execute the following sample.stp script.
> global count=0
> probe kernel.function("open") {
> count++
> printf( "sys_sync called %d times, currently by pid %d\n", count,
> pid());
> }
OK. (I didn't know there was a function named "open".)
> I am getting the following error:
> [...]
> ERROR: Build-id mismatch: "kernel" vs. "vmlinux-2.6.35-26-generic" byte
> 0 (0x9e vs 0x61) rc 0 0
> The steps I followed for installing systemtap are:
> 1. Downloaded and installed following packages:
> linux-image-2.6.35-26-generic_2.6.35-26.46~utrace0_i386.deb,
> linux-headers-2.6.35-26_2.6.35-26.46~utrace0_all.deb,
> linux-headers-2.6.35-26-generic_2.6.35-26.46~utrace0_i386.deb and
> linux-image-2.6.35-26-generic-dbgsym_2.6.35-26.46_i386.ddeb in the same
> order.
The problem is that the ~utrace0 PPA does not include a matching ddeb
file, which means that the kernel debuginfo that systemtap has found
does not match the kernel that you're actually running. Either the
PPA would need to ship .ddeb's, or you might have to hand-rebuild the
kernel from the PPA sources, and save the .ddeb that should be
produced.
Another possibility is to only use probes that do not require kernel
debuginfo. One possibility for your script is
kprobe.function("open"), which should work, but cannot supply any
$context variables for parameters. That's OK because your script
doesn't require any. Also, kernel.trace("...") should work fine (and
including $context variables).
- FChE