What is wrong with dtrace's stack()?

Ryan Stone rysto32 at gmail.com
Wed Oct 24 15:48:54 UTC 2018


sosend_generic+0x112c is the return address, so it's one instruction
after the call instruction that called lock_delay.  What's the line
number of sosend_generic+0x112b?
On Tue, Oct 23, 2018 at 5:34 PM Lev Serebryakov <lev at freebsd.org> wrote:
>
> Hello Ryan,
>
> Monday, October 22, 2018, 11:50:29 PM, you wrote:
>
> > Adding -fno-optimize-sibling-calls to the compiler flags will eliminate the TCO.
>  Stacks are better but still strange. For example I have such stack (which I
>  like better than previous):
>
>  kernel`lock_delay+0x72
>  kernel`sosend_generic+0x112c
>  kernel`sosend+0x79
>  kernel`soo_write+0x6b
>  kernel`fo_write+0x4a
>  kernel`dofilewrite+0xcd
>  kernel`kern_writev+0x79
>  kernel`sys_write+0x8f
>  kernel`syscallenter+0x774
>  kernel`amd64_syscall+0x1b
>  kernel`0xffffffff80cebf6d
>
> According to addr2line `sosend_generic+0x112c' is
>
> https://svnweb.freebsd.org/base/head/sys/kern/uipc_socket.c?revision=339419&view=markup#l1579
>
>  Which is call to protocol-specific send function. Where is this function
> (it should be tcp for sure)?!
>
> --
> Best regards,
>  Lev                            mailto:lev at FreeBSD.org
>


More information about the freebsd-hackers mailing list