stack trace interpretation

144 views
Skip to first unread message

Petar Maymounkov

unread,
Apr 12, 2010, 12:14:36 PM4/12/10
to golang-nuts
Hi,

I wonder if someone can explain the meaning of the pointers in a
stacktrace like this one:

tonika/fe.*FrontEnd·replyAdminAccept(0x0, 0x59fc3d7db573d3a4,
0x44cc80, 0x0, 0x800000001, ...)

I am confused because the signature of the method is:

func (fe *FrontEnd) replyAdminAccept(req *http.Request) *http.Response

So, the number of pointers doesn't match the number of arguments
(+this), and the ellipses in
the end is also confusing.

Thanks,
--Petar

Russ Cox

unread,
Apr 12, 2010, 12:27:44 PM4/12/10
to Petar Maymounkov, golang-nuts

The code that writes the stack traces knows the number of arguments
but not their types or their sizes, so it uses some heuristics to guess
how many words to show, and tries to err on the side of showing too much.

Those are the first 5 words of arguments. The ellipsis means that the
traceback code would have liked to show more, but it is capped at 5.

Anyway, it looks like fe == 0, req == 0x59fc..., and resp = 0x44cc80.

Russ

Reply all
Reply to author
Forward
0 new messages