Clone
Bo Zhang <bo@gradle.com>
committed
on 24 Sep 18
Handle unrecoverable errors in worker process (#6798)
We fork worker processes to do necessary work, such as test/start play application/run… Show more
Handle unrecoverable errors in worker process (#6798)

We fork worker processes to do necessary work, such as test/start play application/run worker daemons, and control these worker processes via socket. However, if something is wrong in the worker processes' socket connection threads, the worker process might be stuck forever.

This PR makes an attempt by registering an "unrecoverable error handler" to `ObjectConnection`. If something unexpected happens, the worker can exit instead of hanging forever. This is not a perfect solution, but it's better than hanging forever. Also, the worker process can record the exceptions into a file to help people understand what's going on there. Show less

master + 384 more