This stack trace was indeed a contexts with very deep parenthood.
On Friday, May 12, 2023 at 8:34:40 AM UTC-7 Andrew Athan wrote:
> Alex:
>
> I’ll see how/if this can happen. Among other strangeness in this stack is
> that Err() doesn’t take a param but I guess it may be displaying the
> implic
Alex:I’ll see how/if this can happen. Among other strangeness in this stack is that Err() doesn’t take a param but I guess it may be displaying the implicit “this”?btw this is not from a panic, but from a call to runtime.Stack(). The program experiences unbounded growth in cpu utilization as it ru
Ouh, I bet I know what's happening: You are using a concrete Context
implementation that defines its methods on a value receiver, but pass it in
as a nil-pointer: https://go.dev/play/p/JH9MxwvmTw7
That way, the panic happens in autogenerated code (the implicit promoted
method from the value-type to
What does the panic say? If it says "stack overflow", then yes, that's
likely an infinite recursion. If not, then, no. My guess is, that it says
"nil-pointer dereference".
The `` part probably means this is due to embedding. That
is, the `Err` method on `valueCtx` is promoted from an embedded Cont
goroutine 1299607 [runnable]:
context.(*valueCtx).Err(0xc00a52c3c0?)
:1 +0x3e
context.(*valueCtx).Err(0x48860a?)
:1 +0x2a
... repeats many many many times ...
...additional frames elided...
created by
one_of_my_functions()
somefile.go:2092 +0x4a5
What is going on here? is this likely to be an