'AWSSecurityTokenServiceClientBuilder Stack Overflow error

I have the below code , where I am trying to assume an IAM role and generate temporary credentials, this used to work fine until AWS Java SDK STS maven dependency version of 1.11.375 is used and recently I upgraded to 1.12.160 and started facing the errors , can someone suggest what is going on here ?

Below is my dependency structure

  <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-emr</artifactId>
      <version>1.12.160</version>
    </dependency>

    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-sts</artifactId>
      <version>1.12.160</version>
    </dependency>



AWSSecurityTokenServiceClientBuilder stsBuilder = AWSSecurityTokenServiceClientBuilder.standard()
          .withClientConfiguration(clientConfiguration).withRegion(region);
      AWSSecurityTokenService sts = stsBuilder.build();
      AssumeRoleRequest assumeRequest = new AssumeRoleRequest().withRoleArn(roleARN).withRoleSessionName("default");
 
      AssumeRoleResult assumeResult = sts.assumeRole(assumeRequest);
   
      BasicSessionCredentials temporaryCredentials = new BasicSessionCredentials(
          assumeResult.getCredentials()
              .getAccessKeyId(), assumeResult.getCredentials().getSecretAccessKey(),
          assumeResult.getCredentials()
              .getSessionToken());

I am getting the below error and it is thrown right after the assumeRequest , I tried to catch specific exception but I am getting the stack over flow error always.

01:01:01    ... 36 more
01:01:01  Caused by: java.lang.StackOverflowError
01:01:01    at com.amazonaws.auth.AWSCredentialsProviderChain.getCredentials(AWSCredentialsProviderChain.java:110)
01:01:01    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.getCredentialsFromContext(AmazonHttpClient.java:1266)
01:01:01    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.runBeforeRequestHandlers(AmazonHttpClient.java:842)
01:01:01    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:792)
01:01:01    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:779)
01:01:01    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:753)
01:01:01    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:713)
01:01:01    at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:695)
01:01:01    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:559)
01:01:01    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:539)
01:01:01    at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.doInvoke(AWSSecurityTokenServiceClient.java:1682)
01:01:01    at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.invoke(AWSSecurityTokenServiceClient.java:1649)
01:01:01    at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.invoke(AWSSecurityTokenServiceClient.java:1638)
01:01:01    at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.executeAssumeRole(AWSSecurityTokenServiceClient.java:498)
01:01:01    at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.assumeRole(AWSSecurityTokenServiceClient.java:467)
01:01:01    at ```


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source