One Star

Debugging - Runtime stack trace line number does not correspond

...
Starting SubJob STEP_03_01_FACTS_VACATURE... 13seconds ~ 13198 milliseconds
Starting SubJob STEP_03_02_FACTS_SOLLICITATIE... Exception in component tMap_1
java.lang.NullPointerException
at so_hrm.step_03_02_facts_sollicitatie_0_1.STEP_03_02_FACTS_SOLLICITATIE.tMSSqlInput_7Process(STEP_03_02_FACTS_SOLLICITATIE.java:6446)

Hello,
When I run a job from Talend Open Studio (for Data Integration) and an error occurs, the line number shown in the stack trace points to the correct line in the code where the error occurs. Easy.
However, when I run the same job (command line) on the target (production) environment, the line number does not correspond (at all). Is there a way to fix this, or does someone know how to determine the real location of the error in the code based on the line number  shown in the stack trace (6446 in the example given above)?
In my opinion, this makes debugging runtime errors a real burden in Talend.
Thanks for the help!
Thomas
3 REPLIES
Seventeen Stars

Re: Debugging - Runtime stack trace line number does not correspond

Yes I know this issue and unfortunately there is no fix. The code build in the command line is mostly unreadable formatted.
My hope is Talend replaces the terrible commandline and build a Maven or ANT based build process wich is much more reliable than the command line just now.
What you can do is: The Java code is part of the exported task. You could import this code in a plain Java project and check if you find it here. Another way is simply copy a studio to the execution server and start the debugging here.
The best way is to add debug outputs to you job and check what happens by digging the output.
Is your NullPointerException probably caused by a tMap where you assign a nullable number to a non-nullable numeric output column? This is the most reason for NullPointerExceptions because of the auto unboxing which fails in the case the input is null.
One Star

Re: Debugging - Runtime stack trace line number does not correspond

In our context installing a studio copy on the execution server(s) is not an option and adding debug output a real burden...
So, I checked your other suggestion: In the exported java sources, the line numbers indeed do match! Great to know; this will improve my efficiency a lot for bugfixing my running Talend projects.
Thanks a lot!
One Star

Re: Debugging - Runtime stack trace line number does not correspond

I am running an ESB job.  The line numbers in the stack trace do not line up with anything in my project.  The exported job (jar file) does not contain any java source code.  I am completely at a loss to debug this.  Of course it works fine local.