Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Streamlining user types in Qlik Cloud capacity-based subscriptions: Read the Details
cancel
Showing results for 
Search instead for 
Did you mean: 
yulongguan
Contributor II
Contributor II

java.lang.NullPointerException: Cannot invoke "com.jcraft.jsch.ChannelSftp.getHome()" because "c_tFTPFileList_1" is null

Hi Support team, Currently we are facing the issue with the pipeline as it try to extract the data from SAP to ADLS, in the meanwhile doing the cleanup in the sftp server with the old files.

 

yulongguan_0-1749113562690.png

Here are the 2 component configuration that caused the job failure. 

yulongguan_1-1749113682705.png

yulongguan_2-1749113711245.png

Error log

tRunJob_1 - Child job returns 1. It doesn't terminate normally.
NOTE: Picked up JDK_JAVA_OPTIONS: --add-reads=java.xml=java.logging --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED --patch-module java.base=F:/Install/talend/lib/endorsed/org.apache.karaf.specs.locator-4.4.6.jar --patch-module java.xml=F:/Install/talend/lib/endorsed/org.apache.karaf.specs.java.xml-4.4.6.jar --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.naming/javax.naming.spi=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-exports=java.base/sun.net.www.content.text=ALL-UNNAMED --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED --add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
Picked up JAVA_TOOL_OPTIONS: -Dlog4j2.formatMsgNoLookups=true
Exception in component tSAPTableInput_1 (acquire_sapEcc_singletable_Incremental)
java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "val" is null
    at java.base/java.math.BigDecimal.toStrictBigInteger(BigDecimal.java:1069)
    at java.base/java.math.BigDecimal.<init>(BigDecimal.java:1083)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSAPTableInput_1Process(acquire_sapEcc_singletable_Incremental.java:27454)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tAzureAdlsGen2Delete_1Process(acquire_sapEcc_singletable_Incremental.java:26020)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tJava_3Process(acquire_sapEcc_singletable_Incremental.java:25632)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tJava_1Process(acquire_sapEcc_singletable_Incremental.java:25316)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSetGlobalVar_2Process(acquire_sapEcc_singletable_Incremental.java:25051)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.runJobInTOS(acquire_sapEcc_singletable_Incremental.java:33863)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.main(acquire_sapEcc_singletable_Incremental.java:32757)
Exception in component tFTPFileList_1 (acquire_sapEcc_singletable_Incremental)
java.lang.NullPointerException: Cannot invoke "com.jcraft.jsch.ChannelSftp.getHome()" because "c_tFTPFileList_1" is null
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tFTPFileList_1Process(acquire_sapEcc_singletable_Incremental.java:29039)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tFTPConnection_2Process(acquire_sapEcc_singletable_Incremental.java:32344)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSAPTableInput_1_onSubJobError(acquire_sapEcc_singletable_Incremental.java:1734)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.tSAPTableInput_1_error(acquire_sapEcc_singletable_Incremental.java:1474)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:569)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1096)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental$TalendException.printStackTrace(acquire_sapEcc_singletable_Incremental.java:1085)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.runJobInTOS(acquire_sapEcc_singletable_Incremental.java:33868)
    at dacoe_etl.acquire_sapecc_singletable_incremental_2_0.acquire_sapEcc_singletable_Incremental.main(acquire_sapEcc_singletable_Incremental.java:32757)

 

 

Labels (2)
1 Reply
gouravdubey5
Partner - Creator
Partner - Creator

Hello,

 

The error you’re seeing:

java.lang.NullPointerException: Cannot invoke "com.jcraft.jsch.ChannelSftp.getHome()" because "c_tFTPFileList_1" is null


indicates that the SFTP component (tFTPFileList) is being invoked without a valid SFTP connection object. This typically occurs when:

The SFTP connection was not established before the file list operation was executed.

The component configuration does not include valid credentials/host/port.

The job flow allows the tFTPFileList to execute even when the preceding connection has not succeeded.

Recommended steps to resolve:

Verify the SFTP connection details
Ensure the host, port, username and authentication (password or private key) are correctly configured in tFTPConnection.

Check component ordering and triggers
Use appropriate triggers (e.g., OnSubjobOk or OnComponentOk) to ensure the SFTP connection component completes successfully before tFTPFileList executes.

Handle null connection gracefully
Add error checks or conditionals so that if the connection fails, the file list component does not run.

Test connection separately
Before running the full pipeline, test the SFTP connection and file listing in a small isolated job to confirm credentials and network connectivity.

Note:
When a connection object is null, any dependent operations (like tFTPFileList.getHome()) will throw a NullPointerException because Talend cannot initialize the underlying JSch SFTP channel.

 

Thanks,

Gourav

Talend Solution Architect | Data Integration