Shiro icon indicating copy to clipboard operation
Shiro copied to clipboard

一个奇怪的bug

Open yuilei opened this issue 1 year ago • 4 comments

详细描述 运行的时候偶尔会出现oom报错,是在发图片的时候出现的,重启可以解决,出现的频率也不高,几个月目前只遇到过两三次,但出现之后发图很多都发不出来。

预期结果 你希望得到什么结果?

当前结果 2024-03-25T00:33:19.779+08:00 ERROR 19577 --- [ShiroTaskPool-3] c.m.s.h.injection.InjectionHandler : Invoke method exception: null

java.lang.reflect.InvocationTargetException: null at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[na:na] at com.mikuac.shiro.handler.injection.InjectionHandler.invokeMethod(InjectionHandler.java:47) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.handler.injection.InjectionHandler.invoke(InjectionHandler.java:72) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.handler.injection.InjectionHandler.lambda$invokeMessage$2(InjectionHandler.java:256) ~[shiro-2.1.8.jar:na] at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na] at com.mikuac.shiro.handler.injection.InjectionHandler.invokeMessage(InjectionHandler.java:252) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.handler.injection.InjectionHandler.invokeGroupMessage(InjectionHandler.java:226) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.handler.event.MessageEvent.process(MessageEvent.java:107) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.handler.event.MessageEvent.group(MessageEvent.java:144) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.handler.event.MessageEvent.handler(MessageEvent.java:63) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.handler.EventHandler.handler(EventHandler.java:121) ~[shiro-2.1.8.jar:na] at com.mikuac.shiro.task.ShiroAsyncTask.execHandlerMsg(ShiroAsyncTask.java:38) ~[shiro-2.1.8.jar:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.2.jar:6.0.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.0.2.jar:6.0.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.0.2.jar:6.0.2] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) ~[spring-aop-6.0.2.jar:6.0.2] at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115) ~[spring-aop-6.0.2.jar:6.0.2] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na] Caused by: java.lang.OutOfMemoryError: Java heap space

在最新的RELEASE版本中能否复现?

复现方法

屏幕截图或者日志

运行或开发环境

  • 系统版本:ubuntu 18
  • Shiro版本:2.1.8
  • 客户端版本:
  • JDK版本:jdk18
  • SpringBoot版本:

yuilei avatar Mar 25 '24 01:03 yuilei

有看过内存是否有泄漏嘛?如果频率不高的话会不会有可能是因为某个时点负载高了服务器内存不足导致的OOM?

MisakaTAT avatar Mar 25 '24 02:03 MisakaTAT

有看过内存是否有泄漏嘛?如果频率不高的话会不会有可能是因为某个时点负载高了服务器内存不足导致的OOM?

看过当时的内存只用了60%

yuilei avatar Mar 25 '24 02:03 yuilei

会不会是OOM之后内存被GC了?所以你看到的时候内存占用不高,JVM虚拟机你分配了多大的内存?

MisakaTAT avatar Mar 25 '24 02:03 MisakaTAT

会不会是OOM之后内存被GC了?所以你看到的时候内存占用不高,JVM虚拟机你分配了多大的内存?

倒是有可能,因为我是报错发生一段时间后才发现的,没有显示设置内存,我改一下再观望下。

yuilei avatar Mar 25 '24 03:03 yuilei