SMB upload runner authentication problem

After install teamcity build agent cannot deploy artifacts via SMB uploader with SecurityException-NoSuchAlgorithmException:

Build log:

Step 2/11: WCF other (SMB Upload)
  Using SMB v2/v3 protocol
  Starting upload via SMBj to \\192.168.0.205\EL12_SERVICES\NAV\OTHER
  com.hierynomus.ntlm.NtlmException: com.hierynomus.security.SecurityException: java.security.NoSuchAlgorithmException: MD4 MessageDigest not available     at com.hierynomus.ntlm.functions.NtlmFunctions.NTOWFv1(NtlmFunctions.java:96)     at com.hierynomus.ntlm.functions.NtlmFunctions.NTOWFv2(NtlmFunctions.java:61)     at com.hierynomus.smbj.auth.NtlmAuthenticator.authenticate(NtlmAuthenticator.java:95)     at com.hierynomus.smbj.connection.Connection.processAuthenticationToken(Connection.java:212)     at com.hierynomus.smbj.connection.Connection.authenticate(Connection.java:177)     at jetbrains.buildServer.deployer.agent.smb.SMBJBuildProcessAdapter.runProcess(SMBJBuildProcessAdapter.java:121)     at jetbrains.buildServer.deployer.agent.SyncBuildProcessAdapter.start(SyncBuildProcessAdapter.java:79)     at jetbrains.buildServer.agent.impl.buildStages.runnerStages.start.CallRunnerStage.doBuildStage(CallRunnerStage.java:60)     at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor$1.callStage(RunnerStagesExecutor.java:27)     at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor$1.callStage(RunnerStagesExecutor.java:18)     at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:76)     at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:35)     at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor.doStages(RunnerStagesExecutor.java:18)     at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunnerContextExecutor.executeBuildStepStages(RunnerContextExecutor.java:45)     at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunAllBuildStepsStage.runBuildStep(RunAllBuildStepsStage.java:190)     at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunAllBuildStepsStage.runStep(RunAllBuildStepsStage.java:176)     at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunAllBuildStepsStage.executeBuildRunners(RunAllBuildStepsStage.java:126)     at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunAllBuildStepsStage.doBuildStage(RunAllBuildStepsStage.java:58)     at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:33)     at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:24)     at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:76)     at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:35)     at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor.doStages(BuildStagesExecutor.java:24)     at jetbrains.buildServer.agent.impl.BuildRunActionImpl.doStages(BuildRunActionImpl.java:93)     at jetbrains.buildServer.agent.impl.BuildRunActionImpl.runBuild(BuildRunActionImpl.java:65)     at jetbrains.buildServer.agent.impl.BuildAgentImpl.doActualBuild(BuildAgentImpl.java:345)     at jetbrains.buildServer.agent.impl.BuildAgentImpl.access$100(BuildAgentImpl.java:63)     at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:294)     at java.base/java.lang.Thread.run(Thread.java:833)   Caused by: com.hierynomus.security.SecurityException: java.security.NoSuchAlgorithmException: MD4 MessageDigest not available     at com.hierynomus.security.jce.JceMessageDigest.tryMd4(JceMessageDigest.java:59)     at com.hierynomus.security.jce.JceMessageDigest.<init>(JceMessageDigest.java:40)     at com.hierynomus.security.jce.JceSecurityProvider.getDigest(JceSecurityProvider.java:44)     at com.hierynomus.ntlm.functions.NtlmFunctions.NTOWFv1(NtlmFunctions.java:92)     ... 28 more   Caused by: java.security.NoSuchAlgorithmException: MD4 MessageDigest not available     at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159)     at java.base/java.security.MessageDigest.getInstance(MessageDigest.java:185)     at com.hierynomus.security.jce.JceMessageDigest.<init>(JceMessageDigest.java:36)     ... 30 more
  Failed to start build runner 'smb-deploy-runner'
  Step WCF other (SMB Upload) failed with unexpected error
0
3 comments

The problem is agent has newer version of jre. When wrapper.java.command path changed to older jre, it works.

jre works:

IMPLEMENTOR="Amazon.com Inc."
IMPLEMENTOR_VERSION="Corretto-11.0.15.9.1"
JAVA_VERSION="11.0.15"
JAVA_VERSION_DATE="2022-04-19"

 

jre with NoSuchAlgorithmException:

IMPLEMENTOR="Amazon.com Inc."
IMPLEMENTOR_VERSION="Corretto-17.0.7.7.1"
JAVA_VERSION="17.0.7"
JAVA_VERSION_DATE="2023-04-18"

 

Is there bug or need some config changes in teamcity agent?

0
Avatar
Fedor Rumyantsev
Hello Piotr,
 
This is a known issue about using SMB runner with Java 17; it is fixed in scope of https://youtrack.jetbrains.com/issue/TW-81807/SMB-runner-is-unable-to-start-on-Java-17 and fix will be a part of 2023.05.1 bugfix release which should be made available shortly. Please consider upgrading to it when it is available - as you have pointed out, switching to different version of Java also works.
0

Thanks for you responce and clearance.

0

Please sign in to leave a comment.