Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-31436

(8.1.z) JsonSerialization of WildcardType fails: ... IllegalStateException: Generic bound not found for type T declared in ...

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False

      Customer is facing the below error using JaxRS-API, when using yasson 3.0.4-redhat-00003.

      [INFO] -------------------------------------------------------                                                                                                                                                                                                                                                                      15:06:36 [46/89]
      [INFO]  T E S T S                                                                                                                                                         
      [INFO] -------------------------------------------------------                                                                                                            
      [INFO] Running org.jboss.as.yasson.JsonbTest                                                                                                                              
      1. {"children":[{"children":[],"example":"example"}],"example":"example"}                                                                                                 
      2. {"tree":{"children":[{"children":[],"example":"example"}],"example":"example"}}                                                                                        
      3. {"tree":{"children":[{"children":[],"example":"example"}],"example":"example"}}                                                                                        
      4. {"list":[{"children":[{"children":[],"example":"example"}],"example":"example"}]}                                                                                      
      Sep 24, 2025 3:06:36 PM org.eclipse.yasson.internal.SerializationContextImpl marshall                                                                                     
      SEVERE: Generating incomplete JSON                                                                                                                                        
      [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.232 s <<< FAILURE! -- in org.jboss.as.yasson.JsonbTest                                          
      [ERROR] org.jboss.as.yasson.JsonbTest.testJsonb -- Time elapsed: 0.220 s <<< ERROR!                                                                                       
      jakarta.json.bind.JsonbException: Unable to serialize property 'list' from org.jboss.as.yasson.JsonbTest.ListContainer                                                    
              at org.eclipse.yasson.internal.serializer.ObjectSerializer.lambda$serialize$0(ObjectSerializer.java:43)                                                           
              at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)                                                                                              
              at org.eclipse.yasson.internal.serializer.ObjectSerializer.serialize(ObjectSerializer.java:38)                                                                    
              at org.eclipse.yasson.internal.serializer.RecursionChecker.serialize(RecursionChecker.java:38)                                                                    
              at org.eclipse.yasson.internal.serializer.KeyWriter.serialize(KeyWriter.java:41)                                                                                  
              at org.eclipse.yasson.internal.serializer.NullVisibilitySwitcher.serialize(NullVisibilitySwitcher.java:40)                                                        
              at org.eclipse.yasson.internal.serializer.NullSerializer.serialize(NullSerializer.java:67)                                                                        
              at org.eclipse.yasson.internal.SerializationContextImpl.serializeObject(SerializationContextImpl.java:197)                                                        
              at org.eclipse.yasson.internal.SerializationContextImpl.marshall(SerializationContextImpl.java:133)                                                               
              at org.eclipse.yasson.internal.SerializationContextImpl.marshall(SerializationContextImpl.java:159)                                                               
              at org.eclipse.yasson.internal.JsonBinding.toJson(JsonBinding.java:132)                                                                                           
              at org.jboss.as.yasson.JsonbTest.testJsonb(JsonbTest.java:43)                                                                                                     
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                 
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)                                                               
              at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)                                                       
              at java.base/java.lang.reflect.Method.invoke(Method.java:566)                                                                                                     
              at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)                                                                           
              at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)                                                                            
              at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)                                                                             
              at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)                                                                              
              at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)                                                                                               
              at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)                                                                           
              at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)                                                                                                  
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)                                                                                                                                                                                                                                                       
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)                                                                              
              at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)                                                                                                                                                                                                                                                                              
              at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)                                                                                                
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)                                                                                              
              at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)                                                                                                
              at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)                                                                                               
              at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)                                                                                               
              at org.junit.runners.ParentRunner.run(ParentRunner.java:413)                 
              at org.junit.runners.Suite.runChild(Suite.java:128)                                                                                                               
              at org.junit.runners.Suite.runChild(Suite.java:27)                                                                                                                
              at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)                                                                                                                                                                                                                                                                              
              at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)                                                                                                
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)                                                                                              
              at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)                                                                                                
              at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)                                                                                               
              at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)                                                                                               
              at org.junit.runners.ParentRunner.run(ParentRunner.java:413)                 
              at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:49)                                                                                           
              at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:120)                                                            
              at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:95)                                                                    
              at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)                                                                         
              at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:69)                                                                         
              at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:146)                                                                       
              at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)                                                                        
              at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)                                                                                   
              at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)                                                                                       
              at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)                                                                                      
              Suppressed: jakarta.json.stream.JsonGenerationException: Generating incomplete JSON                                                                               
                      at org.eclipse.parsson.JsonGeneratorImpl.close(JsonGeneratorImpl.java:521)                                                                                
                      at org.eclipse.yasson.internal.JsonBinding.toJson(JsonBinding.java:131)                                                                                   
                      ... 40 more                                                          
      Caused by: java.lang.IllegalStateException: Generic bound not found for type T declared in java.util.List<T> resolved arguments: [class java.lang.Object].  
              at org.eclipse.yasson.internal.ReflectionUtils.resolveTypeArguments(ReflectionUtils.java:260)                                                                     
              at org.eclipse.yasson.internal.ReflectionUtils.resolveTypeArguments(ReflectionUtils.java:266)                                                                     
              at org.eclipse.yasson.internal.ReflectionUtils.resolveType(ReflectionUtils.java:141)                                                                              
              at org.eclipse.yasson.internal.ReflectionUtils.resolveType(ReflectionUtils.java:126)                                                                              
              at org.eclipse.yasson.internal.serializer.SerializationModelCreator.memberSerializer(SerializationModelCreator.java:350)                                          
              at org.eclipse.yasson.internal.serializer.SerializationModelCreator.createObjectSerializer(SerializationModelCreator.java:209)                                    
              at org.eclipse.yasson.internal.serializer.SerializationModelCreator.serializerChainInternal(SerializationModelCreator.java:195)                                   
              at org.eclipse.yasson.internal.serializer.SerializationModelCreator.serializerChainRuntime(SerializationModelCreator.java:119)                                    
              at org.eclipse.yasson.internal.serializer.types.ObjectTypeSerializer.lambda$findSerializer$0(ObjectTypeSerializer.java:67)                                        
              at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)                                                                  
              at org.eclipse.yasson.internal.serializer.types.ObjectTypeSerializer.findSerializer(ObjectTypeSerializer.java:65)                                                 
              at org.eclipse.yasson.internal.serializer.types.ObjectTypeSerializer.serializeValue(ObjectTypeSerializer.java:50)                                                 
              at org.eclipse.yasson.internal.serializer.types.TypeSerializer$ValueSerializer.serialize(TypeSerializer.java:51)                                                  
              at org.eclipse.yasson.internal.serializer.types.TypeSerializer.serialize(TypeSerializer.java:37)                                                                  
              at org.eclipse.yasson.internal.serializer.types.ObjectTypeSerializer.serialize(ObjectTypeSerializer.java:31)                                                      
              at org.eclipse.yasson.internal.serializer.NullSerializer.serialize(NullSerializer.java:67)                                                                        
              at org.eclipse.yasson.internal.serializer.CollectionSerializer.lambda$serialize$0(CollectionSerializer.java:37)                                                   
              at java.base/java.lang.Iterable.forEach(Iterable.java:75)                    
              at org.eclipse.yasson.internal.serializer.CollectionSerializer.serialize(CollectionSerializer.java:37)                                                            
              at org.eclipse.yasson.internal.serializer.KeyWriter.serialize(KeyWriter.java:41)                                                                                  
              at org.eclipse.yasson.internal.serializer.NullVisibilitySwitcher.serialize(NullVisibilitySwitcher.java:40)                                                        
              at org.eclipse.yasson.internal.serializer.NullSerializer.serialize(NullSerializer.java:67)                                                                        
              at org.eclipse.yasson.internal.serializer.ValueGetterSerializer.serialize(ValueGetterSerializer.java:43)                                                          
              at org.eclipse.yasson.internal.serializer.ObjectSerializer.lambda$serialize$0(ObjectSerializer.java:41)                                                           
              ... 50 more                                                                  
      
      [INFO]                                                                               
      [INFO] Results:                                                                      
      [INFO]                                                                               
      [ERROR] Errors:                                                                      
      [ERROR]   JsonbTest.testJsonb:43 ยป Jsonb Unable to serialize property 'list' from org.jboss.as.yasson.JsonbTest.ListContainer                                             
      [INFO]                                                                               
      [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 
      

      See also the attached [^jaxrs-yasson-issue-with-unittest.zip] which was used calling mvn clean test for the output above...

              rhn-support-ivassile Ilia Vassilev
              rhn-support-ivassile Ilia Vassilev
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: