github.com/mdempsky/deferfuzz is running into this issue for about 1 in 100 runs. So I've got a bunch of extra test cases if they're useful. They're not minimized though. (I manually minimized the Go playground link above.)
I've taken a look and this looks more complex to fix. I may need to do record more info to know exactly which open-coded defer entries to remove and not remove when a recovery happens (which may be in a regular panic or a recursive panic).
It is not a regression (also broken in 1.15). So, I will keep taking a look at it, but I don't think it needs to be fixed for 1.16 release that is very soon.
This program fatal errors with "bad defer entry in panic": https://play.golang.org/p/7XxRTDqaeZh
FWIW, it also fatal errors with CL 286712.
/cc @danscales
The text was updated successfully, but these errors were encountered: