Actions
Bug #11594
closedJVM crash due to thread leak in CachedFindRuleNodeStatusReports
Pull Request:
Severity:
Major - prevents use of part of Rudder | no simple workaround
UX impact:
User visibility:
Operational - other Techniques | Rudder settings | Plugins
Effort required:
Medium
Priority:
33
Name check:
Fix check:
Regression:
Description
We have a thread leak, perhaps due to a deadlock+unbounded thread pool. Some user are reported crashes with javacore filled with thousands of following stack trace:
3XMTHREADINFO "ForkJoinPool-1-worker-46345" J9VMThread:0x0000000035564D00, j9thread_t:0x00007F1019500010, java/lang/Thread:0x00000003EE1D81C0, state:B, prio=5 3XMJAVALTHREAD (java/lang/Thread getId:0x1C6C3, isDaemon:true) 3XMTHREADINFO1 (native thread ID:0x4DD4, native priority:0x5, native policy:UNKNOWN, vmstate:B, vm thread flags:0x01000201) 3XMTHREADINFO2 (native stack address range from:0x00007F1018FA0000, to:0x00007F1018FE1000, size:0x41000) 3XMCPUTIME CPU usage total: 0.332868435 secs, current category="Application" 3XMTHREADBLOCK Blocked on: com/normation/rudder/services/reports/CachedReportingServiceImpl@0x00000003D9B602D8 Owned by: "ForkJoinPool-1-worker-47359" (J9VMThread:0x000000003D862600, java/lang/Thread:0x0000000707287D28) 3XMHEAPALLOC Heap bytes allocated since last GC cycle=0 (0x0) 3XMTHREADINFO3 Java callstack: 4XESTACKTRACE at com/normation/rudder/services/reports/CachedFindRuleNodeStatusReports$$anonfun$invalidate$1.apply(ReportingServiceImpl.scala:152(Compiled Code)) 4XESTACKTRACE at com/normation/rudder/services/reports/CachedFindRuleNodeStatusReports$$anonfun$invalidate$1.apply(ReportingServiceImpl.scala:152(Compiled Code)) 4XESTACKTRACE at scala/concurrent/impl/ExecutionContextImpl$DefaultThreadFactory$$anon$2$$anon$4.block(ExecutionContextImpl.scala:48(Compiled Code)) 4XESTACKTRACE at scala/concurrent/forkjoin/ForkJoinPool.managedBlock(ForkJoinPool.java:3640(Compiled Code)) 4XESTACKTRACE at scala/concurrent/impl/ExecutionContextImpl$DefaultThreadFactory$$anon$2.blockOn(ExecutionContextImpl.scala:45(Compiled Code)) 4XESTACKTRACE at scala/concurrent/package$.blocking(package.scala:123(Compiled Code)) 4XESTACKTRACE at com/normation/rudder/services/reports/CachedFindRuleNodeStatusReports$class.invalidate(ReportingServiceImpl.scala:152(Compiled Code)) 4XESTACKTRACE at com/normation/rudder/services/reports/CachedReportingServiceImpl.invalidate(ReportingServiceImpl.scala:76(Compiled Code)) 4XESTACKTRACE at com/normation/rudder/reports/execution/ReportsExecutionService$$anonfun$hook$2.apply$mcV$sp(ReportsExecutionService.scala:209(Compiled Code)) 4XESTACKTRACE at com/normation/rudder/reports/execution/ReportsExecutionService$$anonfun$hook$2.apply(ReportsExecutionService.scala:209(Compiled Code)) 4XESTACKTRACE at com/normation/rudder/reports/execution/ReportsExecutionService$$anonfun$hook$2.apply(ReportsExecutionService.scala:209(Compiled Code)) 4XESTACKTRACE at scala/concurrent/impl/Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24(Compiled Code)) 4XESTACKTRACE at scala/concurrent/impl/Future$PromiseCompletingRunnable.run(Future.scala:24(Compiled Code)) 4XESTACKTRACE at scala/concurrent/impl/ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121(Compiled Code)) 4XESTACKTRACE at scala/concurrent/forkjoin/ForkJoinTask.doExec(ForkJoinTask.java:260(Compiled Code)) 4XESTACKTRACE at scala/concurrent/forkjoin/ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339(Compiled Code)) 4XESTACKTRACE at scala/concurrent/forkjoin/ForkJoinPool.runWorker(ForkJoinPool.java:1979(Compiled Code)) 4XESTACKTRACE at scala/concurrent/forkjoin/ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107(Compiled Code)) 3XMTHREADINFO3 No native callstack available for this thread
Updated by Benoît PECCATTE over 7 years ago
- Effort required set to Medium
- Priority changed from 52 to 35
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.25 to 387
- Priority changed from 35 to 34
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.1.10 to 4.1.11
- Priority changed from 34 to 33
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 4.1.11 to 4.1.12
- Priority changed from 33 to 32
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 4.1.12 to 4.1.13
- Priority changed from 32 to 31
Updated by Benoît PECCATTE almost 7 years ago
- Target version changed from 4.1.14 to 4.1.15
- Priority changed from 31 to 30
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.15 to 4.1.16
- Priority changed from 30 to 29
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.17 to 4.1.18
- Priority changed from 29 to 0
Updated by Nicolas CHARLES about 6 years ago
- Related to Bug #14465: Generation fails with "Task FutureTask rejected from ThreadPoolExecutor" due to timeout in JS computation added
Updated by François ARMAND about 6 years ago
- User visibility changed from Operational - other Techniques | Technique editor | Rudder settings to Operational - other Techniques | Rudder settings | Plugins
- Priority changed from 0 to 29
Updated by Benoît PECCATTE almost 4 years ago
- Target version changed from 797 to 6.1.14
- Priority changed from 29 to 31
Updated by Vincent MEMBRÉ almost 4 years ago
- Target version changed from 6.1.16 to 6.1.17
- Priority changed from 31 to 32
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.18 to 6.1.19
- Priority changed from 32 to 33
Actions