gravitee-io / issues

Gravitee.io - API Platform - Issues
64 stars 26 forks source link

Updating the application generates an exception. #10130

Open exalate-issue-sync[bot] opened 2 days ago

exalate-issue-sync[bot] commented 2 days ago

Describe the bug :

describe-the-bug-

Updating any field of an existing application causes an error.

To Reproduce :

to-reproduce-

Steps to reproduce the behaviour:

  1. Go to Applications and select one.
  2. Change any field (name, client ID, etc.) and try to save the change.
  3. A pop-up error message appears.
  4. Returning to the Applications screen, the applications are no longer visible and it is not possible to create new subscriptions.
  5. There is no issue with creating new applications and adding information to any of the fields at the time of creation.

Expected behaviour :

expected-behaviour-

There should be no issue when updating an existing application.

Current behaviour :

current-behaviour-

Updating an existing application causes an error.

Useful information :

useful-information-

ERROR i.g.r.a.m.r.provider.ThrowableMapper - Internal error2024-10-22 11:50:09 java.lang.NullPointerException: Cannot invoke "String.getBytes(java.nio.charset.Charset)" because "src" is null2024-10-22 11:50:09 at java.base/java.util.Base64$Decoder.decode(Base64.java:589)2024-10-22 11:50:09 at io.gravitee.rest.api.service.impl.ApplicationServiceImpl.getSettings(ApplicationServiceImpl.java:1401)2024-10-22 11:50:09 at io.gravitee.rest.api.service.impl.ApplicationServiceImpl.convert(ApplicationServiceImpl.java:1340)2024-10-22 11:50:09 at io.gravitee.rest.api.service.impl.ApplicationServiceImpl.lambda$convertApplication$27(ApplicationServiceImpl.java:1230)2024-10-22 11:50:09 at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)2024-10-22 11:50:09 at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)2024-10-22 11:50:09 at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)2024-10-22 11:50:09 at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)2024-10-22 11:50:09 at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)2024-10-22 11:50:09 at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)2024-10-22 11:50:09 at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)2024-10-22 11:50:09 at io.gravitee.rest.api.service.impl.ApplicationServiceImpl.convertApplication(ApplicationServiceImpl.java:1232)2024-10-22 11:50:09 at io.gravitee.rest.api.service.impl.ApplicationServiceImpl.convertToList(ApplicationServiceImpl.java:1280)2024-10-22 11:50:09 at io.gravitee.rest.api.service.impl.ApplicationServiceImpl.convertToList(ApplicationServiceImpl.java:1269)2024-10-22 11:50:09 at io.gravitee.rest.api.service.impl.ApplicationServiceImpl.search(ApplicationServiceImpl.java:1478)2024-10-22 11:50:09 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)2024-10-22 11:50:09 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)2024-10-22 11:50:09 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)2024-10-22 11:50:09 at java.base/java.lang.reflect.Method.invoke(Method.java:568)2024-10-22 11:50:09 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354)2024-10-22 11:50:09 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)2024-10-22 11:50:09 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)2024-10-22 11:50:09 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)2024-10-22 11:50:09 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392)2024-10-22 11:50:09 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)2024-10-22 11:50:09 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)2024-10-22 11:50:09 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)2024-10-22 11:50:09 at jdk.proxy3/jdk.proxy3.$Proxy77.search(Unknown Source)

Desktop :

desktop-

* Please see Zendesk Support tab for further comments and attachments.

tandrieux commented 1 day ago

Had similar problem, fixed it by updating applications metadata in mongo. Not a real fix but saved my day. db.applications.find({metadata: { client_certificate: null }}) db.applications.updateOne({_id:''},{$set:{metadata: {}}})