Java死锁情况下打印日志,是先打印了死锁的警告然后输出Neo4j的日志,能否帮忙分析一下是什么原因导致的?...

分布式程序更新图,客户端使用CYPHER更新图,使用了Neo4j驱动,用C3p0做了连接池,当我启动一个Server和多个Client更新图的时候爆java.nio.channels.ClosedChannelException

备注:启动了一个server,五个client,测试时四个client挂掉了爆的错一样,只有一个client是看起来正常的

爆出这个错误,是先打印了死锁的警告然后输出Neo4j的日志,能否帮忙分析一下是什么原因导致的?

2018-08-18 10:39:59[com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector.run(ThreadPoolAsynchronousRunner.java:807)] com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@23468307 -- APPARENT DEADLOCK!!! Complete Status:

Managed Threads: 3

Active Threads: 3

Active Tasks:

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@245dbd09

on thread: C3P0PooledConnectionPoolManager[identityToken->2rvzm09xks5pppxp14t3|79698539]-HelperThread-#2

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@5655278d

on thread: C3P0PooledConnectionPoolManager[identityToken->2rvzm09xks5pppxp14t3|79698539]-HelperThread-#1

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@7bf16972

on thread: C3P0PooledConnectionPoolManager[identityToken->2rvzm09xks5pppxp14t3|79698539]-HelperThread-#0

Pending Tasks:

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@820b78a

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@75312c94

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@1dbf727a

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@2dd4a7a9

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@75566f4

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@3777fc44

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@23909b3

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@628aea61

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@6dd1f239

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@47400608

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@5857d723

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@109188b4

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@2cfd9b0a

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@752180c4

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@24ac87a

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@215404a1

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@6265a548

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@489b7559

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@39a09c0

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@34f32575

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@3ace65df

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@2c7aba7c

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@1185b0b7

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@404566e7

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@b0c4905

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@4a9f0360

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@240f712e

Pool thread stack traces:

Thread[C3P0PooledConnectionPoolManager[identityToken->2rvzm09xks5pppxp14t3|79698539]-HelperThread-#2,5,main]

sun.misc.Unsafe.park(Native Method)

java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)

java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)

java.util.concurrent.FutureTask.get(FutureTask.java:191)

org.neo4j.jdbc.utils.TimeLimitedCodeBlock.runWithTimeout(TimeLimitedCodeBlock.java:48)

org.neo4j.jdbc.bolt.impl.BoltNeo4jConnectionImpl.isValid(BoltNeo4jConnectionImpl.java:250)

sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:483)

org.neo4j.jdbc.utils.Neo4jInvocationHandler.invoke(Neo4jInvocationHandler.java:54)

com.sun.proxy.$Proxy3.isValid(Unknown Source)

com.mchange.v2.c3p0.impl.DefaultConnectionTester$2.activeCheckConnectionNoQuery(DefaultConnectionTester.java:136)

com.mchange.v2.c3p0.impl.DefaultConnectionTester$3.activeCheckConnectionNoQuery(DefaultConnectionTester.java:180)

com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:275)

com.mchange.v2.c3p0.AbstractConnectionTester.activeCheckConnection(AbstractConnectionTester.java:79)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0PooledConnectionPool.java:504)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.finerLoggingTestPooledConnection(C3P0PooledConnectionPool.java:452)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishResourceOnCheckin(C3P0PooledConnectionPool.java:404)

com.mchange.v2.resourcepool.BasicResourcePool.attemptRefurbishResourceOnCheckin(BasicResourcePool.java:1760)

com.mchange.v2.resourcepool.BasicResourcePool.access$200(BasicResourcePool.java:44)

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask.run(BasicResourcePool.java:1378)

com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

Thread[C3P0PooledConnectionPoolManager[identityToken->2rvzm09xks5pppxp14t3|79698539]-HelperThread-#0,5,main]

sun.misc.Unsafe.park(Native Method)

java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)

java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)

java.util.concurrent.FutureTask.get(FutureTask.java:191)

org.neo4j.jdbc.utils.TimeLimitedCodeBlock.runWithTimeout(TimeLimitedCodeBlock.java:48)

org.neo4j.jdbc.bolt.impl.BoltNeo4jConnectionImpl.isValid(BoltNeo4jConnectionImpl.java:250)

sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:483)

org.neo4j.jdbc.utils.Neo4jInvocationHandler.invoke(Neo4jInvocationHandler.java:54)

com.sun.proxy.$Proxy3.isValid(Unknown Source)

com.mchange.v2.c3p0.impl.DefaultConnectionTester$2.activeCheckConnectionNoQuery(DefaultConnectionTester.java:136)

com.mchange.v2.c3p0.impl.DefaultConnectionTester$3.activeCheckConnectionNoQuery(DefaultConnectionTester.java:180)

com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:275)

com.mchange.v2.c3p0.AbstractConnectionTester.activeCheckConnection(AbstractConnectionTester.java:79)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0PooledConnectionPool.java:504)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.finerLoggingTestPooledConnection(C3P0PooledConnectionPool.java:452)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishResourceOnCheckin(C3P0PooledConnectionPool.java:404)

com.mchange.v2.resourcepool.BasicResourcePool.attemptRefurbishResourceOnCheckin(BasicResourcePool.java:1760)

com.mchange.v2.resourcepool.BasicResourcePool.access$200(BasicResourcePool.java:44)

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask.run(BasicResourcePool.java:1378)

com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

Thread[C3P0PooledConnectionPoolManager[identityToken->2rvzm09xks5pppxp14t3|79698539]-HelperThread-#1,5,main]

sun.misc.Unsafe.park(Native Method)

java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)

java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)

java.util.concurrent.FutureTask.get(FutureTask.java:191)

org.neo4j.jdbc.utils.TimeLimitedCodeBlock.runWithTimeout(TimeLimitedCodeBlock.java:48)

org.neo4j.jdbc.bolt.impl.BoltNeo4jConnectionImpl.isValid(BoltNeo4jConnectionImpl.java:250)

sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

java.lang.reflect.Method.invoke(Method.java:483)

org.neo4j.jdbc.utils.Neo4jInvocationHandler.invoke(Neo4jInvocationHandler.java:54)

com.sun.proxy.$Proxy3.isValid(Unknown Source)

com.mchange.v2.c3p0.impl.DefaultConnectionTester$2.activeCheckConnectionNoQuery(DefaultConnectionTester.java:136)

com.mchange.v2.c3p0.impl.DefaultConnectionTester$3.activeCheckConnectionNoQuery(DefaultConnectionTester.java:180)

com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:275)

com.mchange.v2.c3p0.AbstractConnectionTester.activeCheckConnection(AbstractConnectionTester.java:79)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0PooledConnectionPool.java:504)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.finerLoggingTestPooledConnection(C3P0PooledConnectionPool.java:452)

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishResourceOnCheckin(C3P0PooledConnectionPool.java:404)

com.mchange.v2.resourcepool.BasicResourcePool.attemptRefurbishResourceOnCheckin(BasicResourcePool.java:1760)

com.mchange.v2.resourcepool.BasicResourcePool.access$200(BasicResourcePool.java:44)

com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask.run(BasicResourcePool.java:1378)

com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

2018-08-18 10:40:59[com.mchange.v2.async.ThreadPoolAsynchronousRunner.processReplacedThreads(ThreadPoolAsynchronousRunner.java:555)] Task com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@245dbd09 (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt().

2018-08-18 10:40:59[com.mchange.v2.async.ThreadPoolAsynchronousRunner.processReplacedThreads(ThreadPoolAsynchronousRunner.java:555)] Task com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@7bf16972 (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt().

2018-08-18 10:40:59[com.mchange.v2.async.ThreadPoolAsynchronousRunner.processReplacedThreads(ThreadPoolAsynchronousRunner.java:555)] Task com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@5655278d (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt().

八月 18, 2018 10:40:59 上午 org.neo4j.driver.internal.logging.JULogger error

严重: [727298531] TLS socket could not be closed cleanly

java.nio.channels.ClosedChannelException

at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:269)

at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:460)

at org.neo4j.driver.internal.security.TLSSocketChannel.channelWrite(TLSSocketChannel.java:193)

at org.neo4j.driver.internal.security.TLSSocketChannel.close(TLSSocketChannel.java:481)

at org.neo4j.driver.internal.net.SocketClient.stop(SocketClient.java:212)

at org.neo4j.driver.internal.net.SocketConnection.close(SocketConnection.java:265)

at org.neo4j.driver.internal.net.ConcurrencyGuardingConnection.close(ConcurrencyGuardingConnection.java:178)

at org.neo4j.driver.internal.net.pooling.PooledSocketConnection.dispose(PooledSocketConnection.java:251)

at org.neo4j.driver.internal.net.pooling.BlockingPooledConnectionQueue.disposeSafely(BlockingPooledConnectionQueue.java:167)

at org.neo4j.driver.internal.net.pooling.BlockingPooledConnectionQueue.disposeBroken(BlockingPooledConnectionQueue.java:120)

at org.neo4j.driver.internal.net.pooling.PooledConnectionReleaseConsumer.accept(PooledConnectionReleaseConsumer.java:50)

at org.neo4j.driver.internal.net.pooling.PooledConnectionReleaseConsumer.accept(PooledConnectionReleaseConsumer.java:29)

at org.neo4j.driver.internal.net.pooling.PooledSocketConnection.close(PooledSocketConnection.java:200)

at org.neo4j.driver.internal.NetworkSession.closeCurrentConnection(NetworkSession.java:375)

at org.neo4j.driver.internal.NetworkSession.syncAndCloseCurrentConnection(NetworkSession.java:349)

at org.neo4j.driver.internal.NetworkSession.close(NetworkSession.java:169)

at org.neo4j.jdbc.bolt.impl.BoltNeo4jConnectionImpl.close(BoltNeo4jConnectionImpl.java:214)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.neo4j.jdbc.utils.Neo4jInvocationHandler.invoke(Neo4jInvocationHandler.java:54)

at com.sun.proxy.$Proxy3.close(Unknown Source)

at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:642)

at com.mchange.v2.c3p0.impl.NewPooledConnection.closeMaybeCheckedOut(NewPooledConnection.java:255)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:622)

at com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:1076)

at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

f36d49dcdd5c03bd8acea06479703f9e.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值