Re: [go-nuts] Does golang support SystemTap well?
I would not use systemtap, its design is fundamentally flawed and requires special kernels. Linux supports now eBPF in mainline, which is a superior technical solution. Note that NO TRACER can support function return tracing in Go (including DTrace), for the reasons outlined above. In order to support function return we would have to change the Go calling convention. -- Aram Hăvărneanu -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [go-nuts] Does golang support SystemTap well?
Thanks your reply. You say "Systemtap uses the literal Go symbol names as C identifiers". But SystemTap 2.8 release say it support golang. It does do any adapting work for golang application? I cannot find more information for this. Do you know any up to date information for this? 在 2017年9月19日星期二 UTC+8下午11:41:57,Aram Hăvărneanu写道: > > > I don't know why Go programs would not work with systemtap. > > Because when tracing function call returns systemtap installs > trampolines in the return address slots. This confuses traceback, > which doesn't expect systemtap functions in the stack trace. It > also breaks stack frame copy for the same reason. > > I don't know why the original SIGILL comes from exactly, but I have > experienced it also, among many other problems. Systemtap doesn't > work well with Go. In fact, a few years back it didn't work at all. > Systemtap uses the literal Go symbol names as C identifiers in the > generated C kernel driver (whtout mangling), which then didn't even > compile. > > -- > Aram Hăvărneanu > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [go-nuts] Does golang support SystemTap well?
Thanks your reply. As I known, `pprof` only can tell your which function is busy on cpu, memory allocated/in-use and so on. But It cannot tell you a function latency/elapsed, how long we wait on a mutex. Is there any plan to add more feature in pprof ? 在 2017年9月19日星期二 UTC+8下午9:27:31,Ian Lance Taylor写道: > > On Tue, Sep 19, 2017 at 1:50 AM,wrote: > > ENV : > > SystemTap version : 3.1/0.160 > > Linux kernal : 3.10.0-229.el7.x86_64 > > Golang : 1.8.3 > > > > Recently, I use SystemTap to do some tracing for a golang application. > But > > it occurred many fatal error, e.g: > > > > SIGILL: illegal instruction > > PC=0x7fffe015 m=41 sigcode=2 > > > > ... > > > > SIGTRAP: trace trap > > PC=0x7fffe001 m=45 sigcode=0 > > > > > > > > > > fatal error: unknown caller pc > > > > > > Is the PC corrupted by SystemTap? > > Or SystemTap make some conflict with go runtime? > > The SystemTap 2.8 release say it support golang. Is it right? > > https://sourceware.org/ml/systemtap/2015-q2/msg00160.html > > > > I search some topic related to this here, but those topics is > obsoleted.Is > > there any newly update? > > In Go 1.9 the Go compiler uses frame pointers by default. That should > at least give you better tracebacks. > > I don't know where those signals are coming from, though. I don't > know why Go programs would not work with systemtap. > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [go-nuts] Does golang support SystemTap well?
On Tue, Sep 19, 2017 at 1:50 AM,wrote: > ENV : > SystemTap version : 3.1/0.160 > Linux kernal : 3.10.0-229.el7.x86_64 > Golang : 1.8.3 > > Recently, I use SystemTap to do some tracing for a golang application. But > it occurred many fatal error, e.g: > > SIGILL: illegal instruction > PC=0x7fffe015 m=41 sigcode=2 > > ... > > SIGTRAP: trace trap > PC=0x7fffe001 m=45 sigcode=0 > > > > > fatal error: unknown caller pc > > > Is the PC corrupted by SystemTap? > Or SystemTap make some conflict with go runtime? > The SystemTap 2.8 release say it support golang. Is it right? > https://sourceware.org/ml/systemtap/2015-q2/msg00160.html > > I search some topic related to this here, but those topics is obsoleted.Is > there any newly update? In Go 1.9 the Go compiler uses frame pointers by default. That should at least give you better tracebacks. I don't know where those signals are coming from, though. I don't know why Go programs would not work with systemtap. Ian -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[go-nuts] Does golang support SystemTap well?
ENV : SystemTap version : 3.1/0.160 Linux kernal : 3.10.0-229.el7.x86_64 Golang : 1.8.3 Recently, I use SystemTap to do some tracing for a golang application. But it occurred many fatal error, e.g: SIGILL: illegal instruction PC=0x7fffe015 m=41 sigcode=2 ... SIGTRAP: trace trap PC=0x7fffe001 m=45 sigcode=0 fatal error: unknown caller pc Is the PC corrupted by SystemTap? Or SystemTap make some conflict with go runtime? The SystemTap 2.8 release say it support golang. Is it right? https://sourceware.org/ml/systemtap/2015-q2/msg00160.html I search some topic related to this here, but those topics is obsoleted.Is there any newly update? Thanks. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.