[ 
https://issues.apache.org/jira/browse/CASSANDRA-21172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18059336#comment-18059336
 ] 

Dmitry Konstantinov commented on CASSANDRA-21172:
-------------------------------------------------

An example of a thread dump printing for a junit timeout: 
https://pre-ci.cassandra.apache.org/job/cassandra-pipeline-debug/14/pipeline-overview/?start-byte=0&selected-node=391#log-391-1900

{code}
22:58:16  [junit-timeout] Testsuite: 
org.apache.cassandra.utils.TimeoutTest-_jdk17_x86_64
23:06:23  [junit-timeout] 2026-02-17 23:06:16
23:06:23  [junit-timeout] Full thread dump OpenJDK 64-Bit Server VM 
(17.0.15+6-Ubuntu-0ubuntu120.04 mixed mode, sharing):
23:06:23  [junit-timeout] 
23:06:23  [junit-timeout] Threads class SMR info:
23:06:23  [junit-timeout] _java_thread_list=0x00007f52e8001e20, length=12, 
elements={
23:06:23  [junit-timeout] 0x00007f5374023790, 0x00007f53740c87a0, 
0x00007f53740c9b80, 0x00007f53740cf210,
23:06:23  [junit-timeout] 0x00007f53740d05c0, 0x00007f53740d19d0, 
0x00007f53740d3380, 0x00007f53740d48b0,
23:06:23  [junit-timeout] 0x00007f53740d5d20, 0x00007f53741116a0, 
0x00007f5374436a80, 0x00007f52e8000e60
23:06:23  [junit-timeout] }
23:06:23  [junit-timeout] 
23:06:23  [junit-timeout] "main" #1 prio=5 os_prio=0 cpu=236.94ms 
elapsed=480.21s tid=0x00007f5374023790 nid=0x74ce waiting on condition  
[0x00007f537899e000]
23:06:23  [junit-timeout]    java.lang.Thread.State: TIMED_WAITING (sleeping)
23:06:23  [junit-timeout]       at 
java.lang.Thread.sleep([email protected]/Native Method)
23:06:23  [junit-timeout]       at 
org.apache.cassandra.utils.TimeoutTest.emulateTimeout(TimeoutTest.java:28)
23:06:23  [junit-timeout]       at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0([email protected]/Native 
Method)
23:06:23  [junit-timeout]       at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke([email protected]/NativeMethodAccessorImpl.java:77)
23:06:23  [junit-timeout]       at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke([email protected]/DelegatingMethodAccessorImpl.java:43)
23:06:23  [junit-timeout]       at 
java.lang.reflect.Method.invoke([email protected]/Method.java:569)
23:06:23  [junit-timeout]       at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
23:06:23  [junit-timeout]       at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
23:06:23  [junit-timeout]       at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
23:06:23  [junit-timeout]       at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
23:06:23  [junit-timeout]       at 
org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
23:06:23  [junit-timeout]       at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
23:06:23  [junit-timeout]       at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
23:06:23  [junit-timeout]       at 
org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
23:06:23  [junit-timeout]       at 
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
23:06:23  [junit-timeout]       at 
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
23:06:23  [junit-timeout]       at 
org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
23:06:23  [junit-timeout]       at 
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
23:06:23  [junit-timeout]       at 
org.junit.runners.ParentRunner.run(ParentRunner.java:363)
23:06:23  [junit-timeout]       at 
junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
23:06:23  [junit-timeout]       at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:534)
23:06:23  [junit-timeout]       at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1196)
23:06:23  [junit-timeout]       at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1041)
23:06:23  [junit-timeout] 
23:06:23  [junit-timeout]    Locked ownable synchronizers:
23:06:23  [junit-timeout]       - None
...
{code}

> Improve diagnostics of OOM kills and test timeouts for JUnit runs on CI
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-21172
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21172
>             Project: Apache Cassandra
>          Issue Type: Task
>          Components: CI, Test/unit
>            Reporter: Dmitry Konstantinov
>            Assignee: Dmitry Konstantinov
>            Priority: Normal
>             Fix For: 5.x
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> * JUnit starts a background forked JVM and it can be killed by Linux OOM 
> killer. We can check if it happens to simplify failed junit tests 
> troubleshooting
> * JUnit can print a thread dump if a unit test timed out (we have this logic 
> in the code but it does not work by some reason)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to