No Class Def Found with 9.9.1

Issue #418 resolved
Former user created an issue

Hi,

Since I migrate from 9.9 to 9.9.1, I have a NoClassDefFoundError

10:32:27.876 [ERROR Application              ] Unhandled: GET - /api-externe/v1/catalog/legacy/metropole/orange/mobile/devices/6944284642805
<#0b978561> java.lang.NoClassDefFoundError: Could not initialize class com.nimbusds.jose.shaded.json.JSONValue
    at com.nimbusds.jose.shaded.json.parser.JSONParserString.parse(JSONParserString.java:39)
    at com.nimbusds.jose.shaded.json.parser.JSONParser.parse(JSONParser.java:270)
    at com.nimbusds.jose.util.JSONObjectUtils.parse(JSONObjectUtils.java:71)
    at com.nimbusds.jwt.JWTParser.parse(JWTParser.java:67)
    at com.nimbusds.jwt.proc.DefaultJWTProcessor.process(DefaultJWTProcessor.java:321)
    at com.orange.ccmd.katalog.utils.GatApeService$getJWTClaimsSet$claimSet$1.invoke(OAuth2Utilities.kt:41)
    at com.orange.ccmd.katalog.utils.GatApeService$getJWTClaimsSet$claimSet$1.invoke(OAuth2Utilities.kt:27)
    at com.orange.ccmd.katalog.utils.MeasureTimeUtilitiesKt.measureTimeAndReturn(MeasureTimeUtilities.kt:18)
    at com.orange.ccmd.katalog.utils.GatApeService.getJWTClaimsSet(OAuth2Utilities.kt:40)
    ... 20 frames excluded
    at com.orange.ccmd.katalog.utils.opentracing.OpenTracingServer$Feature$install$1$2.invokeSuspend(OpenTracingServer.kt:88)
    ... 75 frames truncated
10:32:28.174 [WARN  JedisFactory             ] Error while QUIT
<#9664d93c> redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
    at redis.clients.jedis.util.RedisInputStream.ensureFill(RedisInputStream.java:202)
    at redis.clients.jedis.util.RedisInputStream.readByte(RedisInputStream.java:43)
    at redis.clients.jedis.Protocol.process(Protocol.java:158)
    at redis.clients.jedis.Protocol.read(Protocol.java:223)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:352)
    at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:270)
    at redis.clients.jedis.BinaryJedis.quit(BinaryJedis.java:472)
    at redis.clients.jedis.JedisFactory.destroyObject(JedisFactory.java:160)
    at org.apache.commons.pool2.PooledObjectFactory.destroyObject(PooledObjectFactory.java:126)
    at org.apache.commons.pool2.impl.GenericObjectPool.destroy(GenericObjectPool.java:958)
    ... 10 frames truncated

My code calling the Nimbus Lib :

   fun getJWTClaimsSet(request: ApplicationRequest): JWTClaimsSet {

        val accessToken = request.extractAuthorizationToken()

        val claimSet: JWTClaimsSet = try {
            val (start, stop, results) = measureTimeAndReturn {
                processor.process(accessToken, null)
            }

            JwtTokenValidationEvent(
                start,
                stop,
                true
            ).record("Temps de validation du token Jwt reçu dans la requête")

            results
        } catch (e: Exception) {
            logger.warn("Erreur durant la validation d'un token with root cause ${e.cause}. {}", e)
            throw UnauthorizedAccessRequestedException("Le token JWT fournit n'est pas valide.")
        }

        return if (validate(claimSet)) {

            val (start, stop, _) = measureTimeAndReturn {
                processor.process(accessToken, null)
            }

            JwtClaimsetValidationProcessEvent(
                start,
                stop,
                true
            ).record("Temps de validation du claimset issu du token Jwt")

            claimSet
        } else {
            throw(UnauthorizedAccessRequestedException("Les claims du token JWT ne peuvent pas être validés."))
        }
    }

When I donwgrade to 9.9 I don't have any issue with my code.

Do you think you made some change that could generate this issue ?

Thanks.

Comments (4)

  1. Log in to comment