<br><br><div class="gmail_quote">On Wed, Jul 14, 2010 at 6:25 AM, Florian Weimer <span dir="ltr"><<a href="mailto:fweimer@bfk.de">fweimer@bfk.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

* Pawel Veselov:<br>
<div class="im"><br>
> The fact that I catch any Throwable around the code that threw the<br>
> OOM error didn't particularly help. The error was logged, but the<br>
> timer thread still died.<br>
<br>
</div>By definition, a VM which throws an Error (or even<br>
VirtualMachineError) is unstable and needs to be restarted.  The<br>
description of VirtualMachineError makes that pretty clear.  You<br>
cannot even know that the thread that triggers such exceptions is<br>
responsible for their actual cause.<br></blockquote><div><br>Considering the fact that its probably unreasonable to ask the user<br>code to catch the VME everywhere, or that VME may not even reach the user code,<br>should we have something like -XX:DieOnVME=<process_error_code> ?<br>

<div id=":5ee" class="ii gt">
Or global VM VME handler that has certain amount of pre-reserved memory,<br>which gets executed before VM terminates, and can be configured?<br><br>Thanks,<br>  Pawel.<br><br></div></div></div>