Re: Timer death

2010-07-14 Thread David Holmes
Hi Martin, Martin Buchholz said the following on 07/15/10 11:37: On Wed, Jul 14, 2010 at 17:47, David Holmes wrote: Pawel Veselov said the following on 07/15/10 10:08: I think it is a historical mistake that OOME is a subclass of VME, as least so far as the non-recoverability in the Java-heap

Re: Timer death

2010-07-14 Thread Martin Buchholz
On Wed, Jul 14, 2010 at 17:47, David Holmes wrote: > Pawel Veselov said the following on 07/15/10 10:08: > I think it is a historical mistake that OOME is a subclass of VME, as least > so far as the non-recoverability in the Java-heap is concerned. I would > suggest (somewhat tongue-in-cheek) that

Re: Timer death

2010-07-14 Thread David Holmes
Pawel Veselov said the following on 07/15/10 10:08: Florian Weimer said the following on 07/14/10 23:25: * Pawel Veselov: The fact that I catch any Throwable around the code that threw the OOM error didn't particularly help. The error was logged, but the timer thread still died. By definition,

Re: Timer death

2010-07-14 Thread Pawel Veselov
> Florian Weimer said the following on 07/14/10 23:25: >> * Pawel Veselov: >>> The fact that I catch any Throwable around the code that threw the >>> OOM error didn't particularly help. The error was logged, but the >>> timer thread still died. >> By definition, a VM which throws an Error (or even

Re: Timer death

2010-07-14 Thread David Holmes
Pawel Veselov said the following on 07/10/10 03:32: After debugging an issue in one of my projects, I've realized that the problem was that a timer task simply died because VM was out of memory. The fact that I catch any Throwable around the code that threw the OOM error didn't particularly help.

Re: Timer death

2010-07-14 Thread David Holmes
Florian Weimer said the following on 07/14/10 23:25: * Pawel Veselov: The fact that I catch any Throwable around the code that threw the OOM error didn't particularly help. The error was logged, but the timer thread still died. By definition, a VM which throws an Error (or even VirtualMachine

Re: Timer death

2010-07-14 Thread Pawel Veselov
On Wed, Jul 14, 2010 at 6:25 AM, Florian Weimer wrote: > * Pawel Veselov: > > > The fact that I catch any Throwable around the code that threw the > > OOM error didn't particularly help. The error was logged, but the > > timer thread still died. > > By definition, a VM which throws an Error (or e

Re: Timer death

2010-07-14 Thread Florian Weimer
* Pawel Veselov: > The fact that I catch any Throwable around the code that threw the > OOM error didn't particularly help. The error was logged, but the > timer thread still died. By definition, a VM which throws an Error (or even VirtualMachineError) is unstable and needs to be restarted. The

Re: Timer death

2010-07-09 Thread Ariel Weisberg
Hi Pawel, One last thing I forgot to mention. I don't consider OOME to be recoverable (hence it extends Error) although some do. The best you can hope to do is log that it occurred and possibly limit the corruption to persistent or foreign state that can occur before the JVM exits. If an OOM occur

Re: Timer death

2010-07-09 Thread Ariel Weisberg
Hi Pawel, You have pointed out a number of known issues with Timer. The class is not deprecated, but there is a much improved version available in java.util.concurrent.ScheduledThreadPoolExecutor (http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/). That too has its owns quirks when t

Timer death

2010-07-09 Thread Pawel Veselov
Greetings, After debugging an issue in one of my projects, I've realized that the problem was that a timer task simply died because VM was out of memory. The fact that I catch any Throwable around the code that threw the OOM error didn't particularly help. The error was logged, but the timer threa