Project

General

Profile

all TLSIO.read and TLSIO.write threads are blocked

shen wr
Added almost 5 years ago

today my tigase server can't login any more,then i jstact the stack-info,

i found all TLSIO.read and TLSIO.write are blocked;

and many close_wait connection;

how did it happen? what's wrong..

my tigase server version is 5.3.0-snapshot released in 2014-05-28

free

             total       used       free     shared    buffers     cached
Mem:      65965112   35698684   30266428          0     432564   11232616
-/+ buffers/cache:   24033504   41931608
Swap:     24742908          0   24742908
~
"in_15-c2s" prio=10 tid=0x00007fa9f889f800 nid=0x3943 waiting for monitor entry [0x00007f9cf6a34000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at sun.security.ssl.SSLEngineImpl.getHSStatus(SSLEngineImpl.java:484)
    - waiting to lock <0x00007fa0e3e864d8> (a sun.security.ssl.SSLEngineImpl)
    at sun.security.ssl.SSLEngineImpl.getHandshakeStatus(SSLEngineImpl.java:548)
    at tigase.io.TLSWrapper.getStatus(TLSWrapper.java:299)
    at tigase.io.TLSIO.write(TLSIO.java:337)
    at tigase.net.IOService.writeData(IOService.java:1294)
    at tigase.xmpp.XMPPIOService.writeRawData(XMPPIOService.java:373)
    at tigase.server.xmppclient.ClientConnectionManager.processCommand(ClientConnectionManager.java:1016)
    at tigase.server.xmppclient.ClientConnectionManager.processPacket(ClientConnectionManager.java:152)
    at tigase.server.AbstractMessageReceiver$QueueListener.run(AbstractMessageReceiver.java:1473)



"pool-12-thread-2" prio=10 tid=0x00007f9b9c008800 nid=0x42a1 waiting for monitor entry [0x00007f9d55099000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at sun.security.util.MemoryCache.put(Cache.java:353)
    - waiting to lock <0x00007fa1a84d58b0> (a sun.security.util.MemoryCache)
    at sun.security.ssl.SSLSessionContextImpl.put(SSLSessionContextImpl.java:181)
    at sun.security.ssl.ServerHandshaker.clientFinished(ServerHandshaker.java:1501)
    at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:243)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
    at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
    at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1004)
    - locked <0x00007fa0e3e86b18> (a sun.security.ssl.SSLEngineImpl)
    at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:884)
    at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:758)
    - locked <0x00007fa0e3e86c48> (a java.lang.Object)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
    at tigase.io.TLSWrapper.unwrap(TLSWrapper.java:356)
    at tigase.io.TLSIO.decodeData(TLSIO.java:458)
    at tigase.io.TLSIO.read(TLSIO.java:268)
    at tigase.net.IOService.readData(IOService.java:1020)
    at tigase.xmpp.XMPPIOService.processSocketData(XMPPIOService.java:676)
    at tigase.net.IOService.call(IOService.java:265)
    at tigase.net.IOService.call(IOService.java:104)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

"pool-12-thread-1" prio=10 tid=0x00007f9ca000e000 nid=0x4111 waiting for monitor entry [0x00007f9b3bf73000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at sun.security.util.MemoryCache.put(Cache.java:353)
    - waiting to lock <0x00007fa1a84d58b0> (a sun.security.util.MemoryCache)
    at sun.security.ssl.SSLSessionContextImpl.put(SSLSessionContextImpl.java:181)
    at sun.security.ssl.ServerHandshaker.clientFinished(ServerHandshaker.java:1501)
    at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:243)
    at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
    at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
    at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1004)
    - locked <0x00007fa0dcbfd5d0> (a sun.security.ssl.SSLEngineImpl)
    at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:884)
    at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:758)
    - locked <0x00007fa0dcc02218> (a java.lang.Object)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
    at tigase.io.TLSWrapper.unwrap(TLSWrapper.java:356)
    at tigase.io.TLSIO.decodeData(TLSIO.java:458)
    at tigase.io.TLSIO.read(TLSIO.java:268)
    at tigase.net.IOService.readData(IOService.java:1020)
    at tigase.xmpp.XMPPIOService.processSocketData(XMPPIOService.java:676)
    at tigase.net.IOService.call(IOService.java:265)
    at tigase.net.IOService.call(IOService.java:104)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
top - 12:55:03 up 27 days, 19:23,  1 user,  load average: 1.45, 1.01, 0.62
Tasks: 156 total,   1 running, 155 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.9%us,  0.4%sy,  0.0%ni, 98.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  65965112k total, 35669576k used, 30295536k free,   432564k buffers
Swap: 24742908k total,        0k used, 24742908k free, 11229864k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                    
14476 greenlin  20   0 59.2g  21g  12m S  104 33.9   1385:59 java                     
tcp6     119      0 10.10.100.128:5522      120.195.99.45:7115      CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      112.249.152.52:27133    ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      222.131.112.6:57914     CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      219.233.212.82:40613    CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      180.118.117.88:37190    CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      117.136.8.97:8349       CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      112.65.0.187:34249      ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      112.238.19.207:10555    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      218.205.23.209:36453    ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      116.231.101.248:21108   CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      117.81.179.106:40099    ESTABLISHED 14476/java      
tcp6     118      0 10.10.100.128:5522      117.136.8.56:19607      ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      222.70.152.210:35943    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      113.105.139.189:46473   ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      112.4.16.180:24167      CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      222.73.136.141:13811    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      119.35.63.236:30397     ESTABLISHED 14476/java      
tcp6     118      0 10.10.100.128:5522      117.136.8.65:2554       ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      114.81.254.172:62802    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      117.136.20.183:48082    ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      117.136.31.191:32655    CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      114.85.251.121:54124    CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      116.224.242.204:49099   CLOSE_WAIT  14476/java      
tcp6     141      0 10.10.100.128:5522      116.231.149.235:51822   CLOSE_WAIT  14476/java      
tcp6     278      0 10.10.100.128:5522      122.96.107.132:61052    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      117.136.8.59:5985       ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      221.181.100.197:37601   CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      223.166.189.241:20737   CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      58.208.142.132:13897    CLOSE_WAIT  14476/java      
tcp6     277      0 10.10.100.128:5522      117.136.19.103:40983    CLOSE_WAIT  14476/java      
tcp6     135      0 10.10.100.128:5522      218.107.19.186:60194    CLOSE_WAIT  14476/java      
tcp6     119      0 10.10.100.128:5522      14.115.117.223:53925    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      218.94.114.158:57710    ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      112.64.12.222:62113     CLOSE_WAIT  14476/java      
tcp6     277      0 10.10.100.128:5522      112.97.24.51:49192      CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      119.78.237.213:41295    ESTABLISHED 14476/java      
tcp6     140      0 10.10.100.128:5522      58.62.86.124:17702      ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      113.25.180.152:49642    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      49.86.182.113:7796      ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      58.48.153.141:25640     CLOSE_WAIT  14476/java      
tcp6     119      0 10.10.100.128:5522      117.136.8.56:18422      CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      119.78.237.213:41295    ESTABLISHED 14476/java      
tcp6     140      0 10.10.100.128:5522      58.62.86.124:17702      ESTABLISHED 14476/java      
tcp6     135      0 10.10.100.128:5522      113.25.180.152:49642    CLOSE_WAIT  14476/java      
tcp6     118      0 10.10.100.128:5522      49.86.182.113:7796      ESTABLISHED 14476/java

Replies (9)

Added by shen wr almost 5 years ago

tigase-console.log

2014-07-28 12:42:07.174 [in_7-c2s]         TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
2014-07-28 12:42:35.206 [Watchdog - c2s]   TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
2014-07-28 12:43:30.401 [in_4-c2s]         TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
2014-07-28 12:48:25.136 [in_22-c2s]        TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam almost 5 years ago

Thank you for all the detailed information provided.

Make sure you use the latest JDK7 from Oracle, not OpenJDK. The OpenJDK and JDK6 have a bug in IO which causes problems. The bug has been solved in latest JDK7 from Oracle but not in OpenJDK.

Added by shen wr almost 5 years ago

i think my jdk is jdk7 from oracle which run the tigase;

linux default jdk is 1.6

gree@lx24:~/apps/tigase-server-5.3.0$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

gree@lx24:~/apps/tigase-server-5.3.0$ /home/greenline/env/java/bin/java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

gree@lx24:~/env/java$ cat /home/greenline/env/java/LICENSE 
Please refer to http://java.com/license
1003     26769     1  0 Jul28 ?        00:02:32 /home/greenline/env/java/bin/java -XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:ParallelCMSThreads=4 -XX:-ReduceInitialCardMarks -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver -server -d64 -Xms48G -Xmx48G -Xmn16G -XX:PermSize=128m -XX:MaxPermSize=512m -XX:MaxDirectMemorySize=128m -Dlogback.configurationFile=/home/greenline/apps/tigase-server-5.3.0/etc/logback.xml -cp /home/greenline/apps/tigase-server-5.3.0/jars/commons-codec-1.6.jar:/home/greenline/apps/tigase-server-5.3.0/jars/derby.jar:/home/greenline/apps/tigase-server-5.3.0/jars/derbytools.jar:/home/greenline/apps/tigase-server-5.3.0/jars/fastjson-1.1.28.jar:/home/greenline/apps/tigase-server-5.3.0/jars/groovy-all.jar:/home/greenline/apps/tigase-server-5.3.0/jars/hamcrest-core.jar:/home/greenline/apps/tigase-server-5.3.0/jars/javax.servlet.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jdmkrt.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-continuation.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-http.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-io.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-security.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-server.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-servlet.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-util.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jstun.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jtds.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jul-to-slf4j.jar:/home/greenline/apps/tigase-server-5.3.0/jars/licence-lib.jar:/home/greenline/apps/tigase-server-5.3.0/jars/logback-classic.jar:/home/greenline/apps/tigase-server-5.3.0/jars/logback-core.jar:/home/greenline/apps/tigase-server-5.3.0/jars/mysql-connector-java.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.bundlerepository.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.configadmin.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.main.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.shell.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.shell.remote.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.osgi.core.jar:/home/greenline/apps/tigase-server-5.3.0/jars/postgresql.jar:/home/greenline/apps/tigase-server-5.3.0/jars/slf4j-api.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-acs.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-acs-muc.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-acs-pubsub.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-ext-0.0.1-SNAPSHOT.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-extras.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-http-api.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-message-archiving.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-muc.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-pubsub-3.0.1-SNAPSHOT.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-server.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-socks5.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-stats-collector-library.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-stats-collector-provider.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-stun.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-server.jar tigase.server.XMPPServer --property-file etc/init.properties

Added by shen wr almost 5 years ago

i traced the jdk7 release log,and see a related bug in JDK 7u60 release log;

http://bugs.java.com/view_bug.do?bug_id=8013809

i try to update jdk7 to 7u65

Added by shen wr almost 5 years ago

Artur Hefczyc wrote:

Thank you for all the detailed information provided.

Make sure you use the latest JDK7 from Oracle, not OpenJDK. The OpenJDK and JDK6 have a bug in IO which causes problems. The bug has been solved in latest JDK7 from Oracle but not in OpenJDK.


2014-08-01 15:34:30.242 [in_41-c2s]        TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
2014-08-01 15:36:32.201 [in_35-c2s]        TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
2014-08-01 15:38:30.214 [Watchdog - c2s]   TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
2014-08-01 15:38:30.238 [Watchdog - c2s]   TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ
2014-08-01 15:40:04.357 [in_61-c2s]        TLSIO.writeBuff()                  WARNING:  Infinite loop detected in writeBuff(buff) TLS code, tlsWrapper.getStatus(): NEED_READ


greenline@lx24:~/apps/tigase-server-5.3.0/logs$ ps -ef |grep tigase
1003      6791     1 16 Jul29 ?        12:09:22 /home/greenline/env/java/bin/java -XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:ParallelCMSThreads=4 -XX:-ReduceInitialCardMarks -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver -server -d64 -Xms48G -Xmx48G -Xmn16G -XX:PermSize=128m -XX:MaxPermSize=512m -XX:MaxDirectMemorySize=128m -Dlogback.configurationFile=/home/greenline/apps/tigase-server-5.3.0/etc/logback.xml -cp /home/greenline/apps/tigase-server-5.3.0/jars/commons-codec-1.6.jar:/home/greenline/apps/tigase-server-5.3.0/jars/derby.jar:/home/greenline/apps/tigase-server-5.3.0/jars/derbytools.jar:/home/greenline/apps/tigase-server-5.3.0/jars/fastjson-1.1.28.jar:/home/greenline/apps/tigase-server-5.3.0/jars/groovy-all.jar:/home/greenline/apps/tigase-server-5.3.0/jars/hamcrest-core.jar:/home/greenline/apps/tigase-server-5.3.0/jars/javax.servlet.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jdmkrt.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-continuation.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-http.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-io.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-security.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-server.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-servlet.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jetty-util.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jstun.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jtds.jar:/home/greenline/apps/tigase-server-5.3.0/jars/jul-to-slf4j.jar:/home/greenline/apps/tigase-server-5.3.0/jars/licence-lib.jar:/home/greenline/apps/tigase-server-5.3.0/jars/logback-classic.jar:/home/greenline/apps/tigase-server-5.3.0/jars/logback-core.jar:/home/greenline/apps/tigase-server-5.3.0/jars/mysql-connector-java.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.bundlerepository.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.configadmin.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.main.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.shell.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.apache.felix.shell.remote.jar:/home/greenline/apps/tigase-server-5.3.0/jars/org.osgi.core.jar:/home/greenline/apps/tigase-server-5.3.0/jars/postgresql.jar:/home/greenline/apps/tigase-server-5.3.0/jars/slf4j-api.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-acs.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-acs-muc.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-acs-pubsub.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-ext-0.0.1-SNAPSHOT.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-extras.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-http-api.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-message-archiving.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-muc.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-pubsub-3.0.1-SNAPSHOT.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-server.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-socks5.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-stats-collector-library.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-stats-collector-provider.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-stun.jar:/home/greenline/apps/tigase-server-5.3.0/jars/tigase-server.jar tigase.server.XMPPServer --property-file etc/init.properties
1003     27931 24756  0 15:42 pts/1    00:00:00 g


greenline@lx24:~/apps/tigase-server-5.3.0/logs$ /home/greenline/env/java/bin/java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

Problems still exist!!!!

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam almost 5 years ago

Does the thread dead-lock still happens which prevents you from logging in? Or this is just the infinite loop detected in the log file? The infinite loop detected does not affect normal operation because as it is detected by Tigase, it is handled well.

Added by shen wr almost 5 years ago

Artur Hefczyc wrote:

Does the thread dead-lock still happens which prevents you from logging in? Or this is just the infinite loop detected in the log file? The infinite loop detected does not affect normal operation because as it is detected by Tigase, it is handled well.

Artur Hefczyc, thank you ;

at that time ,the connection number decreased a lot, after a few seconds. connections resumes normal ,and i found the error info in log, but i not timely access to thread information;

so i think do not dead-lock, but it lead to the lose connection?

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam almost 5 years ago

It was explained on different forum topics, but I will provide you some background for the error here to have a good understanding.

The error message happens when a connection is broken but the OS incorrectly reports the connection as not broken but as a connection with some data available to read (here is where Java and OS folks have disagreement, OS people say that OS reports broken connection correctly but Java reads the connection status incorrectly). So, as a result, we have a broken connection already, but the connection is reported back to Tigase as working connection with some data ready to read. Tigase reads data from the connection but there is none, so it puts the connection back to waiting queue, then the connections is instantly reported back as connection with data ready to read. So this is the infinite loop the error talks about.

As a workaround, we have some additional logic in Tigase to detect this loop and mark the connection as invalid.

So, to sum it up, the error does not lead to lose connection. The error is reported when the broken connection is discovered.

Added by shen wr almost 5 years ago

thank you very much;

    (1-9/9)