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

Four Stars

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.
Four Stars

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
Highlighted
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.
Four Stars

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.

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

Best Practices for Using Context Variables with Talend – Part 4

Pick up some tips and tricks with Context Variables

Blog

How Media Organizations Achieved Success with Data Integration

Learn how media organizations have achieved success with Data Integration

Read

Definitive Guide to Data Integration

Practical steps to developing your data integration strategy.

Download