getappmap / appmap-java

AppMap client agent for Java
Other
81 stars 15 forks source link

NPE when trying to record a Spring app using Hibernate #160

Closed apotterri closed 1 year ago

apotterri commented 1 year ago

Reported by a user. Not entirely sure why this would happen....

Java version is 1.8.0_332
Caused by: java.lang.NullPointerException: null
        at com.appland.appmap.process.hooks.SqlQuery.isMock(SqlQuery.java:35) ~[appmap-agent-1.15.4.jar:1.15.4]
        at com.appland.appmap.process.hooks.SqlQuery.getDbName(SqlQuery.java:46) ~[appmap-agent-1.15.4.jar:1.15.4]
        at com.appland.appmap.process.hooks.SqlQuery.recordSql(SqlQuery.java:78) ~[appmap-agent-1.15.4.jar:1.15.4]
        at com.appland.appmap.process.hooks.SqlQuery.prepareStatement(SqlQuery.java:108) ~[appmap-agent-1.15.4.jar:1.15.4]
        at com.sun.proxy.$Proxy91.prepareStatement(Unknown Source) ~[na:na]
        at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:146) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:148) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1934) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1903) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1881) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.doQuery(Loader.java:925) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:342) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.doList(Loader.java:2622) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.doList(Loader.java:2605) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2434) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.Loader.list(Loader.java:2429) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:336) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1980) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:322) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:125) ~[hibernate-core-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:606) ~[hibernate-entitymanager-5.1.9.Final.jar:5.1.9.Final]
        at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:483) ~[hibernate-entitymanager-5.1.9.Final.jar:5.1.9.Final]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_332]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_332]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_332]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_332]
        at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:372) ~[spring-orm-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at com.sun.proxy.$Proxy126.getResultList(Unknown Source) ~[na:na]
        at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:77) ~[spring-data-jpa-1.2.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:55) ~[spring-data-jpa-1.2.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:95) ~[spring-data-jpa-1.2.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:85) ~[spring-data-jpa-1.2.0.RELEASE.jar:na]
        at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:313) ~[spring-data-commons-core-1.4.0.RELEASE.jar:na]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) ~[spring-tx-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.data.jpa.repository.support.LockModeRepositoryPostProcessor$LockModePopulatingMethodIntercceptor.invoke(LockModeRepositoryPostProcessor.java:91) ~[spring-data-jpa-1.2.0.RELEASE.jar:na]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.9.RELEASE.jar:4.3.9.RELEASE]
        at com.sun.proxy.$Proxy121.getApplicationsHostDetails(Unknown Source) ~[na:na]
appland-release commented 1 year ago

:tada: This issue has been resolved in version 1.15.5 :tada:

The release is available on:

Your semantic-release bot :package::rocket: