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

Duo Zhang commented on HBASE-19803:
-----------------------------------

Checked the stacktrace a bit
{noformat}
org.apache.hadoop.hbase.HConstants$ExitException: There is no escape!
        at 
org.apache.hadoop.hbase.HConstants$NoExitSecurityManager.checkExit(HConstants.java:63)
        at java.lang.Runtime.halt(Runtime.java:273)
        at 
org.apache.maven.surefire.booter.ForkedBooter.kill(ForkedBooter.java:300)
        at 
org.apache.maven.surefire.booter.ForkedBooter.kill(ForkedBooter.java:294)
        at 
org.apache.maven.surefire.booter.ForkedBooter.access$300(ForkedBooter.java:68)
        at 
org.apache.maven.surefire.booter.ForkedBooter$4.update(ForkedBooter.java:247)
        at 
org.apache.maven.surefire.booter.CommandReader$CommandRunnable.insertToListeners(CommandReader.java:475)
        at 
org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:421)
        at java.lang.Thread.run(Thread.java:748)
{noformat}

https://github.com/apache/maven-surefire/blob/surefire-2.20.1/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java#L421

https://github.com/apache/maven-surefire/blob/surefire-2.20.1/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java#L247

I think it is obvious that the UT is killed by the surefire itself. 
CommandReader is a class that keep reading data from stdin to get commands from 
the plugin process. And in the ForkedBooter, we actually do the kill job by 
calling System.exit, see the below code.

{code}
                    DumpErrorSingleton.getSingleton()
                            .dumpText( "Killing self fork JVM. Received 
SHUTDOWN command from Maven shutdown hook." );
                    kill();
{code}

This is not a kill by signal since the command is gotten from stdin. I think 
this is correct direction to go, find out why the plugin process(or called 
maven master process?) wants to kill the forked test process.

Thanks.

> False positive for the HBASE-Find-Flaky-Tests job
> -------------------------------------------------
>
>                 Key: HBASE-19803
>                 URL: https://issues.apache.org/jira/browse/HBASE-19803
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Duo Zhang
>            Priority: Major
>         Attachments: 2018-01-24T17-45-37_000-jvmRun1.dumpstream, 
> HBASE-19803.master.001.patch
>
>
> It reports two hangs for TestAsyncTableGetMultiThreaded, but I checked the 
> surefire output
> https://builds.apache.org/job/HBASE-Flaky-Tests/24830/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.client.TestAsyncTableGetMultiThreaded-output.txt
> This one was likely to be killed in the middle of the run within 20 seconds.
> https://builds.apache.org/job/HBASE-Flaky-Tests/24852/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.client.TestAsyncTableGetMultiThreaded-output.txt
> This one was also killed within about 1 minutes.
> The test is declared as LargeTests so the time limit should be 10 minutes. It 
> seems that the jvm may crash during the mvn test run and then we will kill 
> all the running tests and then we may mark some of them as hang which leads 
> to the false positive.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to