https://bz.apache.org/bugzilla/show_bug.cgi?id=67664
Bug ID: 67664 Summary: IllegalArgumentException in ConnectionPool.getProxyConstructor Product: Tomcat Modules Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: jdbc-pool Assignee: dev@tomcat.apache.org Reporter: t...@silbergrau.com Target Milestone: --- With the update to tomcat 9.0.81 (due to the released CVE) we run into an IllegalArgumentException. Looking at the previous implementation before (9.0.80), it seems like some refactoring issue. I hope i chose the right project/component and I didnt find a similar bug report yet. Previous implementation did Proxy.getProxyClass(ConnectionPool.class.getClassLoader(), new Class[] {java.sql.Connection.class,javax.sql.PooledConnection.class}); New implementation is Proxy.getProxyClass(ConnectionPool.class.getClassLoader(), new Class[] {Connection.class,PooledConnection.class}); -> Connection has import to java.sql.Connection.class and works as before. -> PooledConnection has no import and now resolves to org.apache.tomcat.jdbc.pool.PooledConnection and leads to the IllegalArgumentException (was javax.sql.PooledConnection previous). Stacktrace: Caused by: java.sql.SQLException at org.apache.tomcat.jdbc.pool.ConnectionPool.setupConnection(ConnectionPool.java:351) at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:200) at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:133) at customer.Database.getConnection(Database.java:67) ... 43 more Caused by: java.lang.IllegalArgumentException: org.apache.tomcat.jdbc.pool.PooledConnection is not an interface at java.base/java.lang.reflect.Proxy$ProxyBuilder.validateProxyInterfaces(Proxy.java:691) at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Proxy.java:630) at java.base/java.lang.reflect.Proxy.lambda$getProxyConstructor$1(Proxy.java:428) at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329) at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205) at java.base/java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:426) at java.base/java.lang.reflect.Proxy.getProxyClass(Proxy.java:386) at org.apache.tomcat.jdbc.pool.ConnectionPool.getProxyConstructor(ConnectionPool.java:370) at org.apache.tomcat.jdbc.pool.ConnectionPool.setupConnection(ConnectionPool.java:339) -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org