vipshop / Saturn

The vip.com's distributed job scheduling platform.
Apache License 2.0
2.28k stars 701 forks source link

异常java.util.NoSuchElementException: null #671

Closed xiaopeng-he closed 4 years ago

xiaopeng-he commented 4 years ago
[2019-12-08 13:17:39.016] [Saturn-XxxJob-29-thread-1] [ERROR] [c.v.c.common.service.TaskHelper] -[task_execute_report] json={"logDesc":"task failed for exception:","taskId":"9990000041"}
java.util.NoSuchElementException: null
    at java.util.LinkedList.removeFirst(LinkedList.java:270) ~[na:1.8.0_102]
    at com.vip.saturn.job.utils.LRUList.put(LRUList.java:23) ~[na:na]
    at com.vip.saturn.job.utils.SaturnSystemOutputStream.processLine(SaturnSystemOutputStream.java:34) ~[na:na]
    at org.apache.commons.exec.LogOutputStream.processLine(LogOutputStream.java:172) ~[na:na]
    at org.apache.commons.exec.LogOutputStream.processBuffer(LogOutputStream.java:161) ~[na:na]
    at org.apache.commons.exec.LogOutputStream.write(LogOutputStream.java:82) ~[na:na]
    at org.apache.commons.exec.LogOutputStream.write(LogOutputStream.java:149) ~[na:na]
    at java.io.PrintStream.write(PrintStream.java:480) ~[na:1.8.0_102]
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) ~[na:1.8.0_102]
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) ~[na:1.8.0_102]
    at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104) ~[na:1.8.0_102]
    at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185) ~[na:1.8.0_102]
    at java.io.PrintStream.newLine(PrintStream.java:546) ~[na:1.8.0_102]
    at java.io.PrintStream.println(PrintStream.java:807) ~[na:1.8.0_102]
    at org.apache.ibatis.logging.stdout.StdOutImpl.debug(StdOutImpl.java:46) ~[mybatis-3.2.7.jar:3.2.7]
    at org.mybatis.spring.SqlSessionUtils.getSqlSession(SqlSessionUtils.java:104) ~[mybatis-spring-1.2.2.jar:1.2.2]
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:353) ~[mybatis-spring-1.2.2.jar:1.2.2]
    at com.sun.proxy.$Proxy24.selectList(Unknown Source) ~[na:na]
    at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:198) ~[mybatis-spring-1.2.2.jar:1.2.2]
    at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:119) ~[mybatis-3.2.7.jar:3.2.7]
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63) ~[mybatis-3.2.7.jar:3.2.7]
    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52) ~[mybatis-3.2.7.jar:3.2.7]
    at com.sun.proxy.$Proxy38.selectSyncRecord(Unknown Source) ~[na:na]
    at com.xxx.XxxService.getSyncRecord(SyncRecordService.java:35) ~[comment-common-2.2.7.jar:na]
    at com.xxx.XxxService$$FastClassBySpringCGLIB$$989e549a.invoke(<generated>) ~[spring-core-4.0.5.RELEASE.jar:na]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708) ~[spring-aop-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at com.xxx.interceptor.AnnotationReadWriteDataSourceInterceptor.invoke(AnnotationReadWriteDataSourceInterceptor.java:106) ~[venus-data-1.7.4.jar:na]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168) ~[spring-aop-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644) ~[spring-aop-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at com.xxx.XxxService$$EnhancerBySpringCGLIB$$31e6aadc.getSyncRecord(<generated>) ~[spring-core-4.0.5.RELEASE.jar:na]
    at com.xxx.XxxJob._handleJavaJob(SyncRecordRefreshJob.java:65) [comment-saturn-2.2.7.jar:na]
    at com.xxx.XxxJob.handleJavaJob(SyncRecordRefreshJob.java:88) [comment-saturn-2.2.7.jar:na]
    at sun.reflect.GeneratedMethodAccessor516.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_102]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_102]
    at com.vip.saturn.job.java.SaturnJavaJob$1.internalCall(SaturnJavaJob.java:206) [saturn-core-3.3.6.jar:na]
    at com.vip.saturn.job.basic.AbstractSaturnJob$JobBusinessClassMethodCaller.call(AbstractSaturnJob.java:225) [saturn-core-3.3.6.jar:na]
    at com.vip.saturn.job.java.SaturnJavaJob.doExecution(SaturnJavaJob.java:202) [saturn-core-3.3.6.jar:na]
    at com.vip.saturn.venus.job.VenusJavaShardingItemCallable.doExecution(VenusJavaShardingItemCallable.java:123) [saturn-job-core-3.3.6.jar:na]
    at com.vip.saturn.job.java.JavaShardingItemCallable.call(JavaShardingItemCallable.java:175) [saturn-core-3.3.6.jar:na]
    at com.vip.saturn.job.java.ShardingItemFutureTask.call(ShardingItemFutureTask.java:88) [saturn-core-3.3.6.jar:na]
    at com.vip.saturn.job.java.ShardingItemFutureTask.call(ShardingItemFutureTask.java:18) [saturn-core-3.3.6.jar:na]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_102]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_102]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_102]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]
xiaopeng-he commented 4 years ago

当业务线程有子线程、并且并发打印日志到控制台时,可能出现该异常。