You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hop.apache.org by "tke-gecko (via GitHub)" <gi...@apache.org> on 2026/07/03 10:29:22 UTC

[I] [Bug]: Running SSH command fails with ClassNotFoundException: com.google.crypto.tink.subtle.Ed25519Verify (hop)

tke-gecko opened a new issue, #7423:
URL: https://github.com/apache/hop/issues/7423

   ### Apache Hop version?
   
   2.18.1
   
   ### Java version?
   
   21.0.2
   
   ### Operating system
   
   Windows
   
   ### What happened?
   
   In a pipeline I want to run some command on a remote server (Ubuntu 24.04.4 server) using the SSH transform. When I configure the transform and use the button "Test connection", Apache Hop freezes and the log shows the following exception:
   
   ```
   Exception in thread "Thread-7" java.lang.NoClassDefFoundError: com/google/crypto/tink/subtle/Ed25519Verify
           at com.trilead.ssh2.signature.Ed25519Verify.verifySignature(Ed25519Verify.java:138)
           at com.trilead.ssh2.transport.KexManager.verifySignature(KexManager.java:583)
           at com.trilead.ssh2.transport.KexManager.handleMessage(KexManager.java:874)
           at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:614)
           at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:322)
           at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: java.lang.ClassNotFoundException: Unable to load class 'com.google.crypto.tink.subtle.Ed25519Verify' in this classloader or in the parent
           at org.apache.hop.core.plugins.HopURLClassLoader.loadClass(HopURLClassLoader.java:97)
           at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
           ... 6 more
   Caused by: java.lang.ClassNotFoundException: com.google.crypto.tink.subtle.Ed25519Verify
           at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
           at org.apache.hop.core.plugins.HopURLClassLoader.loadClassFromThisLoader(HopURLClassLoader.java:67)
           at org.apache.hop.core.plugins.HopURLClassLoader.loadClass(HopURLClassLoader.java:92)
           ... 7 more
   ```
   
   The same happens when I start the pipeline. Here is the XML code of the pipeline:
   
   ```xml
   <?xml version="1.0" encoding="UTF-8"?>
   <pipeline>
     <info>
       <capture_transform_performance>N</capture_transform_performance>
       <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
       <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
       <pipeline_type>Normal</pipeline_type>
       <pipeline_status>-1</pipeline_status>
       <parameters/>
       <name>New pipeline</name>
       <name_sync_with_filename>Y</name_sync_with_filename>
       <created_user>-</created_user>
       <modified_user>-</modified_user>
       <created_date>2026/07/02 10:55:44.764</created_date>
       <modified_date>2026/07/02 10:55:44.764</modified_date>
     </info>
     <transform>
       <type>SSH</type>
       <name>Run Checker Script via SSH</name>
       <command>${CHECK_COMMAND}</command>
       <dynamicCommandField>N</dynamicCommandField>
       <commandfieldname/>
       <serverName>${PRIMARY_NODE}</serverName>
       <port>22</port>
       <userName>${SSH_USER}</userName>
       <password>${SSH_PASSWORD}</password>
       <usePrivateKey>N</usePrivateKey>
       <keyFileName/>
       <passPhrase/>
       <stdOutFieldName>stdOut</stdOutFieldName>
       <stdErrFieldName>stdErr</stdErrFieldName>
       <timeOut>0</timeOut>
       <proxyHost/>
       <proxyPort/>
       <proxyUsername/>
       <proxyPassword/>
       <distribute>Y</distribute>
       <copies>1</copies>
       <GUI>
         <xloc>208</xloc>
         <yloc>160</yloc>
       </GUI>
       <partitioning>
         <method>none</method>
         <schema_name/>
       </partitioning>
       <attributes/>
     </transform>
     <order/>
     <notepads/>
     <attributes/>
     <transform_error_handling/>
   </pipeline>
   ```
   
   When I download the library referenced in the exception (I used the jar file from https://repo1.maven.org/maven2/com/google/crypto/tink/tink/1.22.0/ )  and put it into `lib/core`, the same pipeline works as expected.
   
   ### Issue Priority
   
   Priority: 2
   
   ### Issue Component
   
   Component: Transforms


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug]: Running SSH command fails with ClassNotFoundException: com.google.crypto.tink.subtle.Ed25519Verify (hop)

Posted by "leehaut (via GitHub)" <gi...@apache.org>.
leehaut commented on issue #7423:
URL: https://github.com/apache/hop/issues/7423#issuecomment-4880238741

   Hi @tke-gecko,
   
   This is fixed in 2.19.0+. The SSH transform was switched from org.connectbot:sshlib to com.github.mwiede:jsch in [#7203](https://github.com/apache/hop/pull/7203), which resolves the missing Tink/Ed25519 issue on Ubuntu 24.04. Please try 2.19.0 when available and confirm.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug]: Running SSH command fails with ClassNotFoundException: com.google.crypto.tink.subtle.Ed25519Verify (hop)

Posted by "hansva (via GitHub)" <gi...@apache.org>.
hansva closed issue #7423: [Bug]: Running SSH command fails with ClassNotFoundException: com.google.crypto.tink.subtle.Ed25519Verify
URL: https://github.com/apache/hop/issues/7423


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org