systemtap reports error 'Build-id mismatch'

Bug #996364 reported by visual2me
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
systemtap (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

My desktop runs Ubuntu precise with linux kernel 3.2.0-24-generic-pae (i686), and I have installed the relevant linux-image-$(uname -r)-dbgsym package from the ddebs repository.

When I run the command "sudo stap --vp 00001 -e 'probe vfs.read { print("hello from read\n"); exit()}'" in bash, it finally gets an error in Pass 5, saying "ERROR: Build-id mismatch: "kernel" vs. "vmlinux-3.2.0-24-generic-pae" byte 0 (0x54 vs 0xc9) address 0xc15b0850 rc 0".

Then I check the vmlinux-3.2.0-24-generic-pae file with the command "readelf -x .notes /usr/lib/debug/boot/vmlinux-3.2.0-24-generic-pae", which shows the value at the address 0xc15b0850 is 0x54. Seems this value (build-id) in vmlinux-3.2.0-24-generic-pae is not equal to that in the running kernel.

BTW, when I try to run "sudo stap --vp 00001 -e 'probe vfs.read { print("hello from read\n"); exit()}'", it generates lots of WARNINGS, saying "WARNING: cannot find module sunrpc debuginfo: No DWARF information found" and "WARNING: cannot find module nfs debuginfo: No DWARF information found". Even after I setup the .debug-id folder under /usr/lib/debug/ as the instructions at http://sourceware.org/systemtap/wiki/SystemtapOnUbuntu, the WARNINGs remain. Seems systemtap doesn't look for the module debug info from /usr/lib/debug/ directory.

Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :

I'm trying to improve the error messages. Can you please tell me what the output of

http://lindi.iki.fi/lindi/systemtap/diagnose-error-cases.bash

is on your system?

Revision history for this message
visual2me (visual2me) wrote :

the output of the script is as below,

Package linux-image-3.2.0-24-generic-pae-dbgsym version 3.2.0-24.38 does not match version of currently running kernel: 3.2.0-24.37

It does not match! But how can I upgrade the running kernel from 3.2.0-24.37 to 3.2.0-24.38?

Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :

You have upgraded your kernel but not yet rebooted to this new version. Just reboot?

Revision history for this message
visual2me (visual2me) wrote :

Just after I installed the new Ubuntu precise, I upgraded the kernel from 3.2.0-23 to 3.2.0-24 and rebooted the machine. And 'uname -r' also shows it's running 3.2.0-24 now.

But what's strange is that 'uname -a' shows it's "... 3.2.0-24-generic-pae #37-Ubuntu ...", but the dbgsym package is 3.2.0-24-38. Seems these two packages don't match~~

Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :

"3.2.0-24" is not the full version number. You can see the version number of your linux packages using e.g.

dpkg -l | grep linux-image

Revision history for this message
visual2me (visual2me) wrote :

the output is
ii linux-image-3.2.0-24-generic-pae 3.2.0-24.37 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-24-generic-pae-dbgsym 3.2.0-24.38 Linux kernel debug image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-generic-pae 3.2.0.24.26 Generic Linux kernel image

But I can't find linux-image-3.2.0-24-generic-pae of version 3.2.0-24.38 in the repository.

Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :
Revision history for this message
visual2me (visual2me) wrote :

With web browser, I can see both the two packages, i.e. linux-image-3.2.0-24-generic-pae_3.2.0-24.37_i386.deb and linux-image-3.2.0-24-generic-pae_3.2.0-24.38_i386.deb, But why only the first one is visible in aptitude?

Revision history for this message
visual2me (visual2me) wrote :

I download the deb package linux-image-3.2.0-24-generic-pae_3.2.0-24.38_i386.deb from the server and install it manually with 'dpkg -i', then systemtap works. No idea why apt-get or aptitude or synaptic can't see and install the kernel of this release...

Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :

Are you sure you did aptitude update? Which mirror are you using?

Revision history for this message
visual2me (visual2me) wrote :

Sure, I run 'apt-get autoclean' and 'apt-get update' for several times, and I also switch several mirrors, including China, US, and the main server.

Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :

Can you try

apt-cache policy linux-image-3.2.0-24-generic-pae

?

Revision history for this message
visual2me (visual2me) wrote :

the output:

linux-image-3.2.0-24-generic-pae:
  Installed: 3.2.0-24.38
  Candidate: 3.2.0-24.38
  Version table:
 *** 3.2.0-24.38 0
        100 /var/lib/dpkg/status
     3.2.0-24.37 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages

Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :

Ok so it indeed still shows 3.2.0-24.37 for the us.archive.ubuntu.com mirror. Unfortunately I have no idea why :(

Anyways, this is definitely not a bug in systemtap.

Revision history for this message
visual2me (visual2me) wrote :

Thank you all the same. I agree that this is not a bug in systemtap.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in systemtap (Ubuntu):
status: New → Confirmed
Revision history for this message
Timo Juhani Lindfors (timo-lindfors) wrote :

Closing as INVALID since in comment #14 and #15 we agreed that the bug is not in systemtap.

Changed in systemtap (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.