[Bug 282445] Wrong stack() info in dtrace

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 31 Oct 2024 12:46:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282445

            Bug ID: 282445
           Summary: Wrong stack() info in dtrace
           Product: Base System
           Version: 14.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: artemhevorhian@gmail.com

Let's assign an ip address to vtnet0 interface in bhyve virtual machine. And
after that let's make sure that the routes are added to the OS and we have
internet connection from it. Then, let's run the following:

dtrace -n 'fbt:kernel:rtnl_handle_message:entry { stack(); }'

This is just an example. It can be anything.

On my kernel, it gives me the following stack trace:

<...>
kernel`nl_taskqueue_handler+0x78b
              kernel`taskqueue_run_locked+0x182
              kernel`taskqueue_thread_loop+0xc2
              kernel`fork_exit+0x7f
              kernel`0xffffffff80fdc21e

Here, only the first 0xffffffff80fdc21e frame is correct. When I try to do l
*fork_exit+0x7f, for example, I get after the current execution point in the
stack trace. I guess that's a bug with how dtrace handles name printing.
Because the pure hash value seems to be okay.

-- 
You are receiving this mail because:
You are the assignee for the bug.