How to catch java.lang.OutOfMemoryError: GC overhead limit exceeded ?

One Star

How to catch java.lang.OutOfMemoryError: GC overhead limit exceeded ?

Hello,
I have a job which use a lot of RAM and finally end with an error in Talend => java.lang.OutOfMemoryError: GC overhead limit exceeded
I know how to resolve this by changing the Xmx option.
But my problem is with Talend, the job ended with an exit code = 0 
No data were received with tLogCatcher and tStatCatcher indicates a success...
So, is this a bug ? am I wrong with something ? Is there a solution to catch this error ? Is this a java exception ?
Thanks in advance
Moderator

Re: How to catch java.lang.OutOfMemoryError: GC overhead limit exceeded ?

Hi,
On which build version you got this issue? How did you set your Xmx option? More information will be helpful for us to address your issue quickly.
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: How to catch java.lang.OutOfMemoryError: GC overhead limit exceeded ?

Hi,
I have this problem with version 6.0.1.20150908_1633 (and with 6.2.0.20160510_1709). 
The first time, I had this problem with 2048M on Xmx value, but i tried with 512M and it's the same
This problem comes on my personnal laptop (development environnement) when i launch the job from Talend and on the server (production environment) when the job is launched by the .bat (windows environment) => dev and prod are on windows.
Just to be sure, my problem isn't the java crash but the absence of log about this crash
Regards
Moderator

Re: How to catch java.lang.OutOfMemoryError: GC overhead limit exceeded ?

Hi,
tLogCatcher is used to catch java exception message.
Most components provide error messages via the globalMap. Typically with this key <component_unique_id>_ERROR_MESSAGE. If you want to  the whole stack trace, you can re-design your job with OnComponentError and OnSubjobError connection type.
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: How to catch java.lang.OutOfMemoryError: GC overhead limit exceeded ?

Hi,
Thanks for your answer. My problem is that the tlogcatcher doesn't seems to make his job because i have a java exception and the tlogcatcher log nothing.
See below :
 - the configuration of tlogcatcher (Catch Java exception is flagged) 
 - the result of the job
tLogCatcher feeds tOutputFileDelimited but nothing is stored on the file after the crash.