-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
InstMethodsInter : class[class com.mysql.cj.jdbc.ClientPreparedStatement] before method[executeQuery] intercept java.lang.NullPointerException failure #4965
Comments
We run the tests based on this, https://github.com/apache/skywalking/tree/master/test/plugin/scenarios/mysql-scenario. You could check and debug the agent. Welcome to provide the pull request to fix. |
I think this issues is about the execution of stored procedure by mysql, which is not included in the test case |
I think we haven't done that before. Welcome to enhance through pull request. |
Update to 8.1.0 also has this problem |
|
Please answer these questions before submitting your issue.
Question
How to fix this issue
Bug
Which version of SkyWalking, OS and JRE?
SkyWalking 8.0.1
OS:Linux
mysql-connector-java version:8.0.11
Which company or project?
project
What happen?
When start my project,I found this error message.
[before] and [after] method both happened
ERROR 2020-06-23 14:45:48:469 http-bio-8080-exec-33 InstMethodsInter : class[class com.mysql.cj.jdbc.ClientPreparedStatement] before method[executeQuery] intercept failure
java.lang.NullPointerException
at org.apache.skywalking.apm.plugin.jdbc.mysql.PreparedStatementExecuteMethodsInterceptor.beforeMethod(PreparedStatementExecuteMethodsInterceptor.java:43)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:76)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java)
at com.mysql.cj.jdbc.DatabaseMetaData$8.forEach(DatabaseMetaData.java:3426)
at com.mysql.cj.jdbc.DatabaseMetaData$8.forEach(DatabaseMetaData.java:3379)
at com.mysql.cj.jdbc.IterateBlock.doForAll(IterateBlock.java:56)
at com.mysql.cj.jdbc.DatabaseMetaData.getProceduresAndOrFunctions(DatabaseMetaData.java:3494)
at com.mysql.cj.jdbc.DatabaseMetaData.getProcedureOrFunctionColumns(DatabaseMetaData.java:3270)
at com.mysql.cj.jdbc.DatabaseMetaData.getProcedureColumns(DatabaseMetaData.java:3207)
at com.mysql.cj.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:757)
at com.mysql.cj.jdbc.CallableStatement.(CallableStatement.java:558)
at com.mysql.cj.jdbc.CallableStatement.getInstance(CallableStatement.java:467)
at com.mysql.cj.jdbc.ConnectionImpl.parseCallableStatement(ConnectionImpl.java:1624)
at com.mysql.cj.jdbc.ConnectionImpl.prepareCall$original$jr8FXD5R(ConnectionImpl.java:1671)
at com.mysql.cj.jdbc.ConnectionImpl.prepareCall$original$jr8FXD5R$accessor$P6HwA3XU(ConnectionImpl.java)
at com.mysql.cj.jdbc.ConnectionImpl$auxiliary$vJH8lxgq.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
at com.mysql.cj.jdbc.ConnectionImpl.prepareCall(ConnectionImpl.java)
at com.mysql.cj.jdbc.ConnectionImpl.prepareCall$original$jr8FXD5R(ConnectionImpl.java:1648)
at com.mysql.cj.jdbc.ConnectionImpl.prepareCall$original$jr8FXD5R$accessor$P6HwA3XU(ConnectionImpl.java)
at com.mysql.cj.jdbc.ConnectionImpl$auxiliary$hinTiAmc.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
at com.mysql.cj.jdbc.ConnectionImpl.prepareCall(ConnectionImpl.java)
at com.zulong.db.Context.prepareCall(Context.java:55)
at com.acs.accountdb.procedure.Add_and_bind_new_user.execute(Add_and_bind_new_user.java:75)
at com.acs.accountdb.procedure.Add_and_bind_new_user.execute(Add_and_bind_new_user.java:65)
at com.acs.sdkosserver.newapi.service.BindService.registerUser(BindService.java:199)
at com.acs.sdkosserver.newapi.controller.RegisterController.userRegister$original$ozxo0TFi(RegisterController.java:145)
at com.acs.sdkosserver.newapi.controller.RegisterController.userRegister$original$ozxo0TFi$accessor$QwnRj3zj(RegisterController.java)
at com.acs.sdkosserver.newapi.controller.RegisterController$auxiliary$Aba3Se6N.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
at com.acs.sdkosserver.newapi.controller.RegisterController.userRegister(RegisterController.java)
at com.acs.sdkosserver.newapi.controller.RegisterController$$FastClassBySpringCGLIB$$98646f54.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:736)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:84)
at com.acs.sdkosserver.util.ControllerLogInterceptor.doAroundMethod(ControllerLogInterceptor.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:671)
at com.acs.sdkosserver.newapi.controller.RegisterController$$EnhancerBySpringCGLIB$$68e92b27.userRegister()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest$original$5SZAz60D(InvocableHandlerMethod.java:133)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest$original$5SZAz60D$accessor$RBFWyEVB(InvocableHandlerMethod.java)
at org.springframework.web.method.support.InvocableHandlerMethod$auxiliary$Fwyw3lrd.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.acs.sdkosserver.filter.MDCFilter.doFilter(MDCFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke$original$v3u0rNvx(StandardHostValve.java:170)
at org.apache.catalina.core.StandardHostValve.invoke$original$v3u0rNvx$accessor$Hdfknmce(StandardHostValve.java)
at org.apache.catalina.core.StandardHostValve$auxiliary$1Sl2VHFq.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
The text was updated successfully, but these errors were encountered: