You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (Jira)" <ji...@apache.org> on 2019/10/15 08:34:00 UTC

[jira] [Commented] (HTTPASYNC-154) Deadlock (?) when using HttpAsyncClient in Java 11

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

Oleg Kalnichevski commented on HTTPASYNC-154:
---------------------------------------------

[~MadEgg] Could you please do the following?

# Make sure your application POM has the latest HttpCore and HttpClient dependencies explicitly defined? As of writing the latest release of HttpCore is 4.4.12 and HttpClient is 4.5.10 [1][2][3].
# Reproduce the issue with context / content management logging on as described here [4]
#  Upon deadlock please take a thread dump of the JRE process
# Attach the _complete_ log and thread dump to this ticket.

Oleg

[1] https://search.maven.org/artifact/org.apache.httpcomponents/httpcore/4.4.12/jar
[2] https://search.maven.org/artifact/org.apache.httpcomponents/httpcore-nio/4.4.12/jar
[3] https://search.maven.org/artifact/org.apache.httpcomponents/httpclient/4.5.10/jar
[4]http://hc.apache.org/httpcomponents-client-4.5.x/logging.html



> Deadlock (?) when using HttpAsyncClient in Java 11
> --------------------------------------------------
>
>                 Key: HTTPASYNC-154
>                 URL: https://issues.apache.org/jira/browse/HTTPASYNC-154
>             Project: HttpComponents HttpAsyncClient
>          Issue Type: Bug
>    Affects Versions: 4.1.4
>         Environment: Ubuntu 19.04 amd64
> openjdk-8-jdk ~8u222-b10-1ubuntu1~19.04.1
> openjdk-11-jdk ~11.0.4+11-1ubuntu2~19.04
>            Reporter: Egbert
>            Priority: Minor
>
> I'm working on with a Java Webcrawler based on HttpAsyncClient, and I've encountered a situation where a deadlock occurs in Java 11, where it does not in Java 8. The software is based on a fork of crawler4j, jcrawler ([ https://bintray.com/pointpro/jcrawler/JCrawler#files/nl%2Fpointpro%2Fjcrawler%2F2.0.0-snapshot-201910090600|https://bintray.com/pointpro/jcrawler/JCrawler#files/nl%2Fpointpro%2Fjcrawler%2F2.0.0-snapshot-201910090600] to be exact)
> The lock occurs in `org.apache.http.nio.pool.AbstractNIOConnPool#lease(T, java.lang.Object, long, long, java.util.concurrent.TimeUnit, org.apache.http.concurrent.FutureCallback<E>)` on line 278 where the `ReentrantLock` `lock` is locked.
> A set of several dozen pages is fetched successfully, but after the 20th request, it just hangs there. A created a thread dump that shows the thread is waiting to lock, but the thread dump doesn't show any other thread locking this lock. It never acquires the lock - it just waits there indefinitely. I left it running for an hour or so before killing it. The lock AbstractNIOConnPool is waiting for never becomes available but no other thread seems to have locked it.
> I'm not sure where to begin gathering more information on this issue. The two versions I've tried are:
> openjdk-8-jdk ~8u222-b10-1ubuntu1~19.04.1
> and
> openjdk-11-jdk ~11.0.4+11-1ubuntu2~19.04
> I'm willing to collect additional information but I can see so many directions in where I can debug that I don't know where to start.
> I've switched back to Java 8 for now.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org