On Tue, Nov 01, 2022 at 10:14:28AM -0700, Vineet Jain wrote: > We have a long running process that listens to and processes a large number > of network packets. It died today with the following stack trace. Anyone > seen this before, or have any idea what is causing it? > > Nov 01 12:40:30 sv_svc[100448]: I1101 12:40:30.865268 100448 > stratconn.go:83] Message Sequence(109845000): Q Length(1) > Nov 01 12:40:31 sv_svc[100448]: n on lineno rlimitpanicwrap: unexpected > string after ty > Nov 01 12:40:31 sv_svc[100448]: > erfreecr1742248535156257105427357601001nTpUpd0x1NFOTyp0x0 pc=0x0] > Nov 01 12:40:31 sv_svc[100448]: goroutine 4 [wner di]: > Nov 01 12:40:31 sv_svc[100448]: runtime.throw({0x75b1b0?, 0x0?}) > Nov 01 12:40:31 sv_svc[100448]: /go/src/runtime/panic.go:1047 +0x5d > fp=0xc0000c8080 sp=0xc0000c8050 pc=0x436a1d > Nov 01 12:40:31 sv_svc[100448]: runtime: g 4invalid use of > scannermalforuntime.sigpanic_ERRORGC scav0x0 [...]
The stack trace looks pretty suspicious because it itself appears to be corrupted as certain prhases are missing letters in the words or have different letters instead of "expected" ones. I can conjure that may be that's just some person typed the text while looking at the screen - instead of copying and pasting. Or maybe you have run the "search and replace" operation on the stack trace's text, and it replaced more stuff than was intended. But I'm asking because if it really was copied and pasted, I'd propose you either had a memory corruption in your process - for instance, because of misbehaving C library code linked to the program or a bug in the code using the `unsafe` package - directly or indirectly. Still, these tree lines | I1101 12:40:30.865268 100448 stratconn.go:83] Message Sequence(109845000): Q Length(1) | n on lineno rlimitpanicwrap: unexpected string after ty | erfreecr1742248535156257105427357601001nTpUpd0x1NFOTyp0x0 pc=0x0] (I have stripped the logger prefixes from them for brewity) look like a manifestation of a "normal" panic from the application's code or the code of one of the libraries it uses. The clues are: - stratconn.go does not appear to be a file from the stdlib "net" package. - The "rlimitpanicwrap" cannot be found in the Go runtime's source code. Judging from the name, I'd say it's some sort of a handler to catch panics and do something; I guess, attach the stack trace to them and maybe bubble them up or whatever. It's not really relevant to the issue at hand, though. - The guru meditation string "Message Sequence(109845000): Q Length(1)" appears to be related to parsing of the protocol your application may be using. Based on this evidence, I'd say you have merely found a regular bug in your code. Still, I need to confess that | runtime: g 4invalid use of scannermalforuntime.sigpanic_ERRORGC scav0x0 looks scary and related to the runtime. The problem is that 1) the message text appearch to be damaged, as I've already stated, and 2) I fail to find even the piecs of this string in the Go runtime source code. That said, asking such question w/o stating the Go flavor used to build the program, and its exact version is useless. Including at least some details about the runtime environment (GOOS and GOARCH) would not harm, either. -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/20221104110033.yjfmnsh6xvl72rbx%40carbon.