0

Did you ever see this Warning: probe kernel.function("some function@some file") (address 0xSomething) registration error (rc -84) ? If so, what did you do to solve it? It is an warning, and occurs during runtime (after Pass 5). But it skips tapping that specific function with registration error. But, I need to probe this functions. Note that, these functions are not __kprobes.

My kernel is 3.11.0-15-generic (Ubuntu 12.04) and SystemTap version is 2.4.

Update apparently I have messed up the installation of SytemTap. Please see second comment (by me) here.

  • Can you identify the functions you've tried probing that had this problem? All of them or just a few? – fche Mar 20 '14 at 15:42
  • I guess there were some installation mess up. I was using Ubuntu 12.04, in which ap-get was installing a very old (1.6) version of systemtap which no longer works with new version of linux kernel (I had 3.11.0). Thus, I compiled and installed v2.4 of systemtap manually but there were these problems. Later, I upgraded to Ubuntu 13.10 and could install v2.2 of systemtap and it worked fine. – Khan 'Sadh' Mostafa Mar 21 '14 at 17:09
  • (My guess is that it was kernel upgrades rather than systemtap changes that made your situation work.) – fche Mar 22 '14 at 23:07

1 Answers1

1

Error -84 is EILSEQ: "illegal byte sequence". The kernel can return this signal, for example if it cannot decode its own binary in the region nearby the requested kprobe, or it finds instruction patterns that its decoder has not been taught to handle. It's not a systemtap bug.

To figure out the exact cause, we'd need to see the systemtap script, the address stap picks for the probe (see stap -p2 -v ...), and a (objdump -d) disassembly of the kernel in that region.

fche
  • 2,641
  • 20
  • 28