/ go Public
x/mobile: when a panic happens, a long enough traceback deadlocks the runtime on Android #35590
Android, iOS, and x/mobile
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
What version of Go are you using (
Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (
What did you do?
I have an Go application compiled for Android with gomobile. When a panic happens, the runtime prints a traceback and quits. However, when this traceback is long enough, the application freezes and never quits.
stderrto Android (Android log tag being "GoLog"). When a panic happens, the world is frozen, so:
lineLogdoes not consume anymore the pipe
stderrand blocks until
Disabling the gomobile's redirection from
stderrmakes the application crashes "properly".
Note that the runtime already redirect logs to Android (with the tag "Go"), so the redirection of
stderrby gomobile seems redundant to me?
To reproduce, you can modify the runtime to
printlnlot of lines when a panic is caught, until the runtime freezes.
What did you expect to see?
When a panic happens, and the resulting traceback is long enough, I expect the runtime to print the full traceback and quit.
What did you see instead?
When a panic happens, and the resulting traceback is long enough, I see the runtime prints a truncated traceback and freezes.
The text was updated successfully, but these errors were encountered: