[ 
https://issues.apache.org/jira/browse/CASSJAVA-121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Piotr Kolaczkowski updated CASSJAVA-121:
----------------------------------------
    Description: 
DefaultPropertyMapper throws the following exception when I try to start 
Fallout on Java 17.0.18 (and 17.0.17):
{code:java}
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because 
"clazz" is null
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
        at 
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
        at 
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
        at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
        at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.server.Server.start(Server.java:423)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.server.Server.doStart(Server.java:387)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
        at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
        at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
        at io.dropwizard.cli.Cli.run(Cli.java:78)
        at io.dropwizard.Application.run(Application.java:94)
        at 
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
        at 
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because 
"clazz" is null
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
        at 
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
        at 
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
        at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
        at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.server.Server.start(Server.java:423)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.server.Server.doStart(Server.java:387)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
        at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
        at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
        at io.dropwizard.cli.Cli.run(Cli.java:78)
        at io.dropwizard.Application.run(Application.java:94)
        at 
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
        at 
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
 
{code}
This has been confirmed by another user who observed the same exception.
Downgrading to openjdk 17.0.9 fixes it. 

Java driver version: 3.7.2

Java version:

 
{code:java}
openjdk version "21.0.10" 2026-01-20
OpenJDK Runtime Environment Homebrew (build 21.0.10)
OpenJDK 64-Bit Server VM Homebrew (build 21.0.10, mixed mode, sharing)
{code}
OS: macOS 15.7.3

 

 

  was:
DefaultPropertyMapper throws the following exception when I try to start 
Fallout on Java 17.0.18 (and 17.0.17):


{code:java}
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because 
"clazz" is null
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
        at 
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
        at 
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
        at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
        at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.server.Server.start(Server.java:423)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.server.Server.doStart(Server.java:387)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
        at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
        at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
        at io.dropwizard.cli.Cli.run(Cli.java:78)
        at io.dropwizard.Application.run(Application.java:94)
        at 
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
        at 
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because 
"clazz" is null
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
        at 
com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
        at 
com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
        at 
com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
        at 
com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
        at com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
        at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.server.Server.start(Server.java:423)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.server.Server.doStart(Server.java:387)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
        at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
        at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
        at 
com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
        at io.dropwizard.cli.Cli.run(Cli.java:78)
        at io.dropwizard.Application.run(Application.java:94)
        at 
com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
        at 
com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
 
{code}
This has been confirmed by another user who observed the same exception.
Downgrading to openjdk 17.0.9 fixes it. 

Looks like on newer Java somehow the method.getDeclaringClass() call returns 
null and then there is no null-check in the loop that checks annotations in 
implemented interfaces. 

Java driver version: 3.7.2

Java version:

 
{code:java}
openjdk version "21.0.10" 2026-01-20
OpenJDK Runtime Environment Homebrew (build 21.0.10)
OpenJDK 64-Bit Server VM Homebrew (build 21.0.10, mixed mode, sharing)
{code}
OS: macOS 15.7.3

 

 


> NPE in DefaultPropertyMapper 
> -----------------------------
>
>                 Key: CASSJAVA-121
>                 URL: https://issues.apache.org/jira/browse/CASSJAVA-121
>             Project: Apache Cassandra Java driver
>          Issue Type: Bug
>          Components: Core
>            Reporter: Piotr Kolaczkowski
>            Priority: Normal
>
> DefaultPropertyMapper throws the following exception when I try to start 
> Fallout on Java 17.0.18 (and 17.0.17):
> {code:java}
> java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because 
> "clazz" is null
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
>         at 
> com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
>         at 
> com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
>         at 
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
>         at 
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
>         at 
> com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
>         at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
>         at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>         at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>         at org.eclipse.jetty.server.Server.start(Server.java:423)
>         at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>         at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>         at org.eclipse.jetty.server.Server.doStart(Server.java:387)
>         at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>         at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
>         at 
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
>         at 
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
>         at 
> io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
>         at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
>         at 
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
>         at io.dropwizard.cli.Cli.run(Cli.java:78)
>         at io.dropwizard.Application.run(Application.java:94)
>         at 
> com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
>         at 
> com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
> java.lang.NullPointerException: Cannot invoke "Object.equals(Object)" because 
> "clazz" is null
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.scanMethodAnnotations(DefaultPropertyMapper.java:556)
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.scanPropertyAnnotations(DefaultPropertyMapper.java:530)
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTableOrUdt(DefaultPropertyMapper.java:289)
>         at 
> com.datastax.driver.mapping.DefaultPropertyMapper.mapTable(DefaultPropertyMapper.java:246)
>         at 
> com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:118)
>         at 
> com.datastax.driver.mapping.MappingManager.getMapper(MappingManager.java:329)
>         at 
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:261)
>         at 
> com.datastax.driver.mapping.MappingManager.mapper(MappingManager.java:273)
>         at 
> com.datastax.fallout.service.db.TestRunDAO.start(TestRunDAO.java:484)
>         at io.dropwizard.lifecycle.JettyManaged.doStart(JettyManaged.java:27)
>         at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>         at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>         at org.eclipse.jetty.server.Server.start(Server.java:423)
>         at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>         at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>         at org.eclipse.jetty.server.Server.doStart(Server.java:387)
>         at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>         at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
>         at 
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:87)
>         at 
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:34)
>         at 
> io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:60)
>         at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
>         at 
> com.datastax.fallout.service.cli.FalloutServerCommand.run(FalloutServerCommand.java:72)
>         at io.dropwizard.cli.Cli.run(Cli.java:78)
>         at io.dropwizard.Application.run(Application.java:94)
>         at 
> com.datastax.fallout.service.FalloutServiceBase.main(FalloutServiceBase.java:178)
>         at 
> com.datastax.fallout.service.FalloutDsService.main(FalloutDsService.java:25)
>  
> {code}
> This has been confirmed by another user who observed the same exception.
> Downgrading to openjdk 17.0.9 fixes it. 
> Java driver version: 3.7.2
> Java version:
>  
> {code:java}
> openjdk version "21.0.10" 2026-01-20
> OpenJDK Runtime Environment Homebrew (build 21.0.10)
> OpenJDK 64-Bit Server VM Homebrew (build 21.0.10, mixed mode, sharing)
> {code}
> OS: macOS 15.7.3
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to