-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
runtime: fatal error: unknown caller pc #20846
Comments
The only slightly odd thing I see in the full backtrace is
Why is a goroutine running in We should probably force In fact, since this problem seems somewhat repeatable, can we see a stack trace with |
I asked for the For reference, here's the trace of the goroutine with the bad return PC:
It, of course, stops when it hits the bad return PC from |
FYI. To muddy the waters even more
Normal windows syscalls use memory passed to it as parameters during the call only. But syscall.WSASendto here just makes record of "&o.buf" and "&o.o" and returns immediately. Then Windows actually uses memory later to send its contents to the network. Windows signals when it finishes via GetQueuedCompletionStatusEx. So the "o.buf" and "o.o" should not be moved until after line 561. So, hopefully, they are allocated on the heap. Alex |
@alexbrainman, good call. However, while we're clearly skating on thin ice, it appears to be okay right now:
|
Got an update with This time it's a different, though clearly related failure. It looks like netFD.writeTo is actually attempting to return and crashing. Though, oddly, while the crashing PC is a
Leading up to
|
Too late for 1.9. |
I'm not making much progress here, but a few observations:
|
I don't see how it is possible to use WSASendTo with lpNumberOfBytesSent set to NULL. From https://msdn.microsoft.com/en-us/library/windows/desktop/ms741693(v=vs.85).aspx - "... Overlapped Socket I/O Alex |
Timed out in state WaitingForInfo. Closing. (I am just a bot, though. Please speak up if this is a mistake or you have the requested information.) |
Not sure if this right place to put this and my apologies if not. I'm seeing a similar error on my machine anytime I attempt to execute "go run". Specifically, the error I'm seeing is |
@JCShelby That error can have many different root causes. If you're willing I would encourage you to open a new issue about it, ideally with instructions for how to reproduce the problem. Thanks. |
Thanks for the feedback and apologies for any inconvenience. I actually ended up resolving this by reinstalling my environment, thinking it might have been a corrupted installation. That seems to have fixed things but if I see this happen again I’ll be sure to open an issue as directed. Thanks again for the help!
Respectfully,
Joseph Shelby
Sr. Infrastructure Engineer, IT Platform Architecture
zoom: https://asurion.zoom.us/my/josephshelby | slack: @JCShelby
voice: 615.445.1240 | mobile: 615.210.6139
mail: Asurion I 648 Grassmere Park, Nashville, TN 37211
www.asurion.com<http://www.asurion.com/> I Twitter<https://twitter.com/Asurion> I Facebook<https://www.facebook.com/Asurion>
From: Ian Lance Taylor [mailto:notifications@github.com]
Sent: Monday, April 30, 2018 13:26
To: golang/go <go@noreply.github.com>
Cc: Shelby, Joseph <Joseph.Shelby@asurion.com>; Mention <mention@noreply.github.com>
Subject: Re: [golang/go] runtime: fatal error: unknown caller pc (#20846)
@JCShelby<https://github.com/jcshelby> That error can have many different root causes. If you're willing I would encourage you to open a new issue about it, ideally with instructions for how to reproduce the problem. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#20846 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AR1zoMRzloOcGD7Er-lq-AiTCuYse3jLks5tt1crgaJpZM4OI9NU>.
…________________________________
This message (including any attachments) contains confidential and/or privileged information. It is intended for a specific individual and purpose and is protected by law. If you are not the intended recipient, please notify the sender immediately and delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.
________________________________
This message (including any attachments) contains confidential and/or privileged information. It is intended for a specific individual and purpose and is protected by law. If you are not the intended recipient, please notify the sender immediately and delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.
|
Circling back on this. The original issue was closed by OP. @karalabe - have you seen any more of these crashes with newer Go versions like 1.12 ? |
Haven't seen this since then, so I guess something must have fixed it either on our side or Go side. |
I'm going to close this then. Feel free to re-ping/re-open it if the problem comes back. |
Just got a crash from "fuzzit.dev" where I am running continuous fuzz testing of my compression packages. Go 1.12.10 was used for building. There is no assembly or That said I have no idea about the hardware stability of the servers running the tests. Also, a lot of new code has just been added here, so there is a chance of something bad, though I don't know how I would be able to trigger this error (crash removed, see next comment) I will see if it reproduces before pinging anyone :) |
I now have a second crash 10 days later (see above). The tested binary is the same. Both crashes are here: https://gist.github.com/klauspost/d4ec7bd6ecefa1bec56dd8ca4ac8ec39 It is completely different functions that were pre-empted ( |
@bradfitz Just had a Fuzz crash on Go 1.13.3 - https://gist.github.com/klauspost/d4ec7bd6ecefa1bec56dd8ca4ac8ec39#file-orgs_klauspost_targets_compress-flate_jobs_k0lulnasftbj78a8iqxf_log-txt So 3 crashes in total in the same fuzz test, but otherwise seemingly unrelated. |
This looks slightly different. The original issue had problems originating from the syscall in Perhaps you want to open a new issue ? |
@klauspost, can you file a new bug with that? |
Gah .. crossed responses. |
This looks like the stack has been trashed somehow. Not sure what might cause this. Could be misuse of unsafe, could be runtime bug (use after free of stack memory?). It would be really nice to have something more repeatable. |
Added #35158 @randall77 This does not use unsafe and the only assembler would be in the stdlib. Imports here: https://godoc.org/github.com/klauspost/compress/flate?imports "sync" is only used for a Fuzz test imports: https://godoc.org/github.com/klauspost/compress-fuzz/flate?imports |
We've received a GC crash report from a Windows 10 user, running our Ethereum client built with Go 1.8.3 (amd64). We've never seen this error ever, so I doubt we can make a repro out of it, but here's the crash logs if you can make heads or tails of it (you can find the full crash dump at ethereum/go-ethereum#14725):
The text was updated successfully, but these errors were encountered: