On Fri, Sep 6, 2019 at 10:37 PM Mark Wielaard <mjw(a)fedoraproject.org> wrote:
Hi Jan,
CC systemtap upstream list, because I think this is not a great error
message.
On Fri, 2019-09-06 at 09:53 +0200, Jan Synacek wrote:
> I'm trying to run systemtap on F29 and I'm getting the following
> error:
>
> $ sudo stap -v journal.stap
> Pass 1: parsed user script and 491 library scripts using
> 355824virt/129076res/9628shr/119256data kb, in 290usr/40sys/334real ms.
> semantic error: while resolving probe point: identifier 'process' at
> journal.stap:1:7
> source: probe
>
process("/usr/lib/systemd/systemd-journald").function("dispatch_message_real")
> {
> ^
>
> semantic error: no match (similar functions: read, free, getenv,
page_size,
> safe_atoi)
>
> So, 'process' is not a valid identifier? There seems to be something
wrong
> with the basic systemtap installation. I do have matching debuginfo for
> both kernel and systemd installed. Running stap-prep only wants to
install
> kernel-debuginfo.
>
> How do I make this basic use-case work?
It is a bit hard to say, because you didn't include journal.stap.
But I can replicate what you get with:
stap -v -e 'probe
process("/usr/lib/systemd/systemd-journald").function("dispatch_message_real")
{ log ("hit"); }'
You get that error message if stap cannot find that function symbol.
So first that ^ carrot should really not be at "process", but at
"function" (or really "dispatch_message_real").
stap really should tell you how to get that symbol. By installing
the
matching debuginfo package.
Right, so this is really the problem. The error message is simply wrong
plus it doesn't say that the debug symbols actually don't match.
$ rpm -q systemd systemd-debuginfo
systemd-239-13.gitf4afb95.fc29.x86_64
systemd-debuginfo-239-3.fc29.x86_64
For some reason, I thought that the debuginfo matched the systemd version.
Sorry about the misinformation. The fact that dnf considers these two
versions a match and doesn't install the correct version is another issue.
Thank you for pointing me to the right direction.
Regards,
--
Jan Synacek
Software Engineer, Red Hat