Skip to content

Stuck on stop process #289

Open
Open
@Unknow0

Description

@Unknow0

Hi,

From time to time we have a job that stuck in the stop()
i know that we have some communication issues with the loki server but when it happend when the job running we have a log and the retry finish to send it without error.

Here we have no error in the console only the job stuck until we kill it.

stacktrace:

"main" #1 prio=5 os_prio=0 cpu=69979.56ms elapsed=59957.15s tid=0x00007fc7fb06c0f0 nid=0x7 waiting on condition  [0x00007fc802e0b000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@17.0.14/Native Method)
        at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.14/LockSupport.java:376)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.waitSendQueueLessThan(AsyncBufferPipeline.java:398)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.waitSendQueueIsEmpty(AsyncBufferPipeline.java:176)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.stop(AsyncBufferPipeline.java:156)
        at com.github.loki4j.logback.Loki4jAppender.stop(Loki4jAppender.java:189)
        at ch.qos.logback.core.spi.AppenderAttachableImpl.detachAndStopAllAppenders(AppenderAttachableImpl.java:107)
        at ch.qos.logback.classic.Logger.detachAndStopAllAppenders(Logger.java:209)
        at ch.qos.logback.classic.Logger.recursiveReset(Logger.java:333)
        at ch.qos.logback.classic.LoggerContext.reset(LoggerContext.java:382)
        at ch.qos.logback.classic.LoggerContext.stop(LoggerContext.java:359)
        at [...].main([..].java:64)

"Reference Handler" #2 daemon prio=10 os_prio=0 cpu=3.33ms elapsed=59957.08s tid=0x00007fc7fb06d330 nid=0xe waiting on condition  [0x00007fc799fff000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.ref.Reference.waitForReferencePendingList(java.base@17.0.14/Native Method)
        at java.lang.ref.Reference.processPendingReferences(java.base@17.0.14/Reference.java:253)
        at java.lang.ref.Reference$ReferenceHandler.run(java.base@17.0.14/Reference.java:215)

"Finalizer" #3 daemon prio=8 os_prio=0 cpu=0.67ms elapsed=59957.08s tid=0x00007fc7fb06d9a0 nid=0xf in Object.wait()  [0x00007fc799efc000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(java.base@17.0.14/Native Method)
        - waiting on <0x00000007015d9d48> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(java.base@17.0.14/ReferenceQueue.java:155)
        - locked <0x00000007015d9d48> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(java.base@17.0.14/ReferenceQueue.java:176)
        at java.lang.ref.Finalizer$FinalizerThread.run(java.base@17.0.14/Finalizer.java:172)

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 cpu=0.41ms elapsed=59957.07s tid=0x00007fc7df3ac070 nid=0x10 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #5 daemon prio=9 os_prio=0 cpu=39.02ms elapsed=59957.07s tid=0x00007fc7df3ac6d0 nid=0x11 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Monitor Deflation Thread" #6 daemon prio=9 os_prio=0 cpu=5664.80ms elapsed=59957.07s tid=0x00007fc7df3acd30 nid=0x12 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #7 daemon prio=9 os_prio=0 cpu=18380.60ms elapsed=59957.07s tid=0x00007fc7df3ad390 nid=0x13 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"C1 CompilerThread0" #8 daemon prio=9 os_prio=0 cpu=3699.65ms elapsed=59957.07s tid=0x00007fc7df3ada00 nid=0x14 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #9 daemon prio=9 os_prio=0 cpu=62.20ms elapsed=59957.07s tid=0x00007fc7df3a00a0 nid=0x15 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Notification Thread" #10 daemon prio=9 os_prio=0 cpu=0.14ms elapsed=59957.07s tid=0x00007fc7df3a0700 nid=0x16 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #11 daemon prio=8 os_prio=0 cpu=66.56ms elapsed=59957.07s tid=0x00007fc7df3a0d70 nid=0x18 in Object.wait()  [0x00007fc7995e1000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(java.base@17.0.14/Native Method)
        - waiting on <no object reference available>
        at java.lang.ref.ReferenceQueue.remove(java.base@17.0.14/ReferenceQueue.java:155)
        - locked <0x00000007015d9f58> (a java.lang.ref.ReferenceQueue$Lock)
        at jdk.internal.ref.CleanerImpl.run(java.base@17.0.14/CleanerImpl.java:140)
        at java.lang.Thread.run(java.base@17.0.14/Thread.java:840)
        at jdk.internal.misc.InnocuousThread.run(java.base@17.0.14/InnocuousThread.java:162)

"HttpClient-1-SelectorManager" #12 daemon prio=5 os_prio=0 cpu=1522.33ms elapsed=59955.37s tid=0x00007fc7990af010 nid=0x19 runnable  [0x00007fc798e90000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPoll.wait(java.base@17.0.14/Native Method)
        at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@17.0.14/EPollSelectorImpl.java:118)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@17.0.14/SelectorImpl.java:129)
        - locked <0x00000007015da218> (a sun.nio.ch.Util$2)
        - locked <0x00000007015da1c8> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(java.base@17.0.14/SelectorImpl.java:141)
        at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(java.net.http@17.0.14/HttpClientImpl.java:894)

"loki4j-sender-0" #13 daemon prio=5 os_prio=0 cpu=67451.58ms elapsed=59955.35s tid=0x00007fc7990af6b0 nid=0x1a waiting on condition  [0x00007fc798d8d000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@17.0.14/Native Method)
        - parking to wait for  <0x00000007015d9410> (a com.github.loki4j.client.pipeline.AsyncBufferPipeline)
        at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.14/LockSupport.java:252)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.sendStep(AsyncBufferPipeline.java:288)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.runSendLoop(AsyncBufferPipeline.java:224)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.lambda$start$3(AsyncBufferPipeline.java:131)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline$$Lambda$183/0x00007fc79f148000.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.14/ThreadPoolExecutor.java:1136)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.14/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17.0.14/Thread.java:840)

"loki4j-encoder-0" #14 daemon prio=5 os_prio=0 cpu=70923.81ms elapsed=59955.35s tid=0x00007fc7990afd60 nid=0x1b waiting on condition  [0x00007fc798c8a000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@17.0.14/Native Method)
        - parking to wait for  <0x00000007015d9410> (a com.github.loki4j.client.pipeline.AsyncBufferPipeline)
        at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.14/LockSupport.java:252)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.encodeStep(AsyncBufferPipeline.java:233)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.runEncodeLoop(AsyncBufferPipeline.java:214)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline.lambda$start$4(AsyncBufferPipeline.java:134)
        at com.github.loki4j.client.pipeline.AsyncBufferPipeline$$Lambda$184/0x00007fc79f148228.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.14/ThreadPoolExecutor.java:1136)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.14/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17.0.14/Thread.java:840)

"loki4j-scheduler-0" #15 daemon prio=5 os_prio=0 cpu=22.11ms elapsed=59955.35s tid=0x00007fc7990b0400 nid=0x1c waiting on condition  [0x00007fc798b86000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@17.0.14/Native Method)
        - parking to wait for  <0x0000000700f25bc8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(java.base@17.0.14/LockSupport.java:341)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.14/AbstractQueuedSynchronizer.java:506)
        at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.14/ForkJoinPool.java:3465)
        at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.14/ForkJoinPool.java:3436)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.14/AbstractQueuedSynchronizer.java:1630)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.14/ScheduledThreadPoolExecutor.java:1170)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.14/ScheduledThreadPoolExecutor.java:899)
        at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.14/ThreadPoolExecutor.java:1062)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.14/ThreadPoolExecutor.java:1122)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.14/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17.0.14/Thread.java:840)

"BufferPoolPruner-1-thread-1" #19 daemon prio=5 os_prio=0 cpu=183.67ms elapsed=59949.65s tid=0x00007fc7994370e0 nid=0x20 waiting on condition  [0x00007fc798183000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@17.0.14/Native Method)
        - parking to wait for  <0x00000007015da618> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.14/LockSupport.java:252)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@17.0.14/AbstractQueuedSynchronizer.java:1679)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.14/ScheduledThreadPoolExecutor.java:1182)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.14/ScheduledThreadPoolExecutor.java:899)
        at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.14/ThreadPoolExecutor.java:1062)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.14/ThreadPoolExecutor.java:1122)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.14/ThreadPoolExecutor.java:635)
        at java.lang.Thread.run(java.base@17.0.14/Thread.java:840)

"VM Periodic Task Thread" os_prio=0 cpu=34448.65ms elapsed=59957.07s tid=0x00007fc7df3b7d50 nid=0x17 waiting on condition  

"VM Thread" os_prio=0 cpu=1645.13ms elapsed=59957.09s tid=0x00007fc7df3bf060 nid=0xd runnable  

"G1 Service" os_prio=0 cpu=12640.18ms elapsed=59957.12s tid=0x00007fc7df69df80 nid=0xc runnable  

"G1 Refine#0" os_prio=0 cpu=6.71ms elapsed=59957.12s tid=0x00007fc7ebe47cc0 nid=0xb runnable  

"G1 Conc#0" os_prio=0 cpu=39.16ms elapsed=59957.15s tid=0x00007fc7ebe479b0 nid=0xa runnable  

"G1 Main Marker" os_prio=0 cpu=0.63ms elapsed=59957.15s tid=0x00007fc7ebe47690 nid=0x9 runnable  

"GC Thread#0" os_prio=0 cpu=244.05ms elapsed=59957.15s tid=0x00007fc7ebe47340 nid=0x8 runnable  

JNI global refs: 15, weak refs: 0

Heap
 garbage-first heap   total 4194304K, used 143599K [0x0000000700000000, 0x0000000800000000)
  region size 2048K, 62 young (126976K), 2 survivors (4096K)
 Metaspace       used 22374K, committed 22656K, reserved 1114112K
  class space    used 2411K, committed 2560K, reserved 1048576K

Logback config:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration>

<configuration>
	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d{yyyy-MM-dd'T'HH:mm:ssXXX} %-5level [%logger] %msg%n</pattern>
		</encoder>
	</appender>

	<appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender">
		<http>
			<url>https://lokiurl</url>
			<tenantId>tenant</tenantId>
		</http>
		<format>
			<label>
				<pattern>namespace=namespace,service_name=${APP_NAME:-updater-test},level=%level</pattern>
			</label>
			<message>
				<pattern>%-5level [%logger] %msg%n</pattern>
			</message>
		</format>
	</appender>

	<logger name="package" level="info" />
	<root level="warn">
		<appender-ref ref="STDOUT" />
		<appender-ref ref="LOKI" />
	</root>
</configuration>

Regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions