Archived

This forum has been archived. Please start a new discussion on GitHub.

Can't close ssl connection?

Hi,

i get a problem: ssl connection can't be establish.

server at Linux.
client at windows XP.
connection via ssl.

i call the service many times( more than 10 times) serially.
but there is a problem: the client often paused before completed. Why?

I set Ice.Network.Trace=3, get:

server:

[ Network: accepted ssl connection
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: sent 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: received 84 of 84 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: sent 26 of 26 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: received 52 of 52 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
15:29:19 [INFO] /*************************************
15:29:19 [INFO] *妤澹璋绋淇℃褰锛
濞锛 QueryDataAdapter
15:29:19 [INFO] *缃缁杩妤锛local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128
15:29:19 [INFO] *瀵硅薄鏍璇锛QueryHPCDynamic
15:29:19 [INFO] *f浣锛 queryHPCDynamic
15:29:19 [INFO] *璋绋妯″硷糔onmutating
15:29:19 [INFO] *涓涓骘? null
15:29:19 [INFO] *ID锛 2
15:29:19 [INFO] *************************************/
[ Network: sent 1477 of 1477 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: shutting down ssl connection for reading and writing
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: closing ssl connection
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4128 ]
[ Network: accepted ssl connection
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: sent 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: received 84 of 84 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: sent 26 of 26 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: received 59 of 59 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
15:29:19 [INFO] /*************************************
15:29:19 [INFO] *妤澹璋绋淇℃褰锛
濞锛 QueryDataAdapter
15:29:19 [INFO] *缃缁杩妤锛local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129
15:29:19 [INFO] *瀵硅薄鏍璇锛QueryHPCDynamic
15:29:19 [INFO] *f浣锛 queryHPCDynamic
15:29:19 [INFO] *璋绋妯″硷糔onmutating
15:29:19 [INFO] *涓涓骘? null
15:29:19 [INFO] *ID锛 2
15:29:19 [INFO] *************************************/
[ Network: sent 1177 of 1177 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: shutting down ssl connection for reading and writing
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]
[ Network: closing ssl connection
local address = 10.0.38.121:10001
remote address = 10.0.40.77:4129 ]

server stop here.

client message:

log4j:WARN No such property [maxFileSize] in org.apache.log4j.DailyRollingFileAppender.
log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.DailyRollingFileAppender.
[ Network: trying to establish ssl connection to 10.0.38.121:10001 ]
[ Network: ssl connection established
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: sent 98 of 98 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: received 12 of 12 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
HPC.*
[ Network: sent 66 of 66 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: received 1463 of 1463 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
true
[ Network: sent 14 of 14 bytes via ssl
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: shutting down ssl connection for reading and writing
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]
[ Network: closing ssl connection
local address = 10.0.40.77:4128
remote address = 10.0.38.121:10001 ]

[ Network: trying to establish ssl connection to 10.0.38.121:10001 ]
[ Network: ssl connection established
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: sent 98 of 98 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: received 12 of 12 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
HPC.Device.*
[ Network: sent 73 of 73 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: received 14 of 14 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: received 1163 of 1163 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
true
[ Network: sent 14 of 14 bytes via ssl
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: shutting down ssl connection for reading and writing
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]
[ Network: closing ssl connection
local address = 10.0.40.77:4129
remote address = 10.0.38.121:10001 ]

[ Network: trying to establish ssl connection to 10.0.38.121:10001 ]

client stop here.

why stop ? problem of ssl or ice/java?

properties of server:
[IceSSL]
Ice.ThreadPerConnection=10
Ice.Plugin.IceSSL=IceSSL.PluginFactory
IceSSL.DefaultDir=conf/middleware/keystore/server
IceSSL.Keystore=server.jks
//IceSSL.KeystorePassword=s654321
IceSSL.Password=s123456
IceSSL.Truststore=ca.jks
IceSSL.TruststorePassword=654321
IceSSL.TrustOnly.Server=O="GridCA-node121", CN="C1"

[IceTrace]
Ice.Trace.Network=3

[Adapter]
Service.Adapter=QueryDataAdapter
QueryDataAdapter.Endpoints=ssl -p 10001:tcp -p 10005


properties of client:
[IceSSL]
Ice.ThreadPerConnection=1
Ice.Plugin.IceSSL=IceSSL.PluginFactory
IceSSL.DefaultDir=conf/middleware/keystore/client 3
IceSSL.Keystore=user.jks
//IceSSL.KeystorePassword=c654321
IceSSL.Password=c123456
IceSSL.Truststore=ca.jks
IceSSL.TruststorePassword=654321
IceSSL.TrustOnly.Client=O="GridCA-node121", CN="Ice Server testServer"

[Ice]
Service.Name=QueryHPCDynamic
Service.Endpoints=QueryHPCDynamic:ssl -h 10.0.38.121 -p 10001

Can you help me please?

thank you.

Comments

  • matthew
    matthew NL, Canada
    What do you mean stop? Do you mean that there is a pause in the connection and it takes some time (if so, how much time)? Or do you mean that the connection simply doesn't work? If so, what exception do you get in the client?
  • pause in the connection

    I mean that the connection paused sometimes , didn't continue.

    according to the network trace, i see:

    when it started to call server for the 3ed time, the client paused at "[ Network: trying to establish ssl connection to 10.0.38.121:10001 ]", and didn't continue.

    I want to call the service more than 10 times one by one, but it can't to finish.

    I have tried for many times, but "pause" takes often.

    env:

    server:
    RedHat, Java 1.5

    client:
    Windows XP sp2, Java 1.5

    Network:
    100M Lan
  • matthew
    matthew NL, Canada
    Does this only occur after you've tried several connections in fast succession? If so, its most likely because XP SP2 introduced a TCP connection limiter to help with spam and such.

    To see whether you are getting hit with this check the event log in the event view. Under System look for TCP/IP warnings saying "TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts". It has the Event ID of 4226. If you do an internet search you can find out more on this including some patches (that we do NOT endorse) that can apparently remove this "feature".

    If this isn't the cause of your problem please let us know and we'll look for other possible causes.
  • I looked for the system log, but did not find the log you said.

    if the client call server with tcp, there is not any problem at all.

    the tcp/ip patch was been installed several month ago.

    in fact, it only occurs after trying several connections in fast succession. if restarting , it works at the beginning, but after several times ,it pause again.
  • matthew
    matthew NL, Canada
    Could it be the java GC running? Another possibility is that the the SSL plug-in is having to re-generate some session keys. Did you do a thread dump of the client and server when you getting a hang? If you can reproduce this in a small self-contained compilable demo then we can take a look at your issue.
  • I tried it again between two linux machines.
    it has the same problem, but a little different.

    server's trace:

    ......
    [ Network: sent 284 of 284 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44973 ]
    [ Network: received 14 of 14 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44973 ]
    [ Network: shutting down ssl connection for reading and writing
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44973 ]
    [ Network: closing ssl connection
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44973 ]
    [ Network: accepted ssl connection
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: sent 14 of 14 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: received 14 of 14 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: received 82 of 82 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: sent 26 of 26 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: received 14 of 14 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: received 56 of 56 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    10:17:25 [INFO] /*************************************
    10:17:25 [INFO] **************/
    [ Network: sent 56 of 56 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: received 14 of 14 bytes via ssl
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: shutting down ssl connection for reading and writing
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]
    [ Network: closing ssl connection
    local address = 10.0.38.121:10001
    remote address = 10.0.38.124:44975 ]


    server stop here.

    client's trace:

    [ Network: trying to establish ssl connection to 10.0.38.121:10001 ]
    [ Network: ssl connection established
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: ssl connection established
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: received 14 of 14 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: sent 96 of 96 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: received 14 of 14 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: received 12 of 12 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: sent 70 of 70 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: received 14 of 14 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: received 42 of 42 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: sent 14 of 14 bytes via ssl
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: shutting down ssl connection for reading and writing
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    [ Network: closing ssl connection
    local address = 10.0.38.124:44975
    remote address = 10.0.38.121:10001 ]
    10:24:39 [DEBUG] /**************************************/
    10:24:39 [DEBUG] /**************************************/
    [ Network: trying to establish ssl connection to 10.0.38.121:10001 ]
    [ Network: ssl connection established
    local address = 10.0.38.124:44976
    remote address = 10.0.38.121:10001 ]


    client stop here.

    to be continued...
  • I got the thread dump.

    server's thread dump:

    Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_06-b05 mixed mode):

    "Thread-60" prio=1 tid=0x0000002b214f75d0 nid=0xa5c runnable [0x0000000041f6e000..0x0000000041f6ed30]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adfd51500> (a sun.nio.ch.Util$1)
    - locked <0x0000002adfd514e8> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adfd50c20> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.TransceiverI.read(TransceiverI.java:509)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:577)
    at IceSSL.TransceiverI.write(TransceiverI.java:180)
    - locked <0x0000002adfd507f8> (a IceSSL.TransceiverI)
    at Ice.ConnectionI.validate(ConnectionI.java:120)
    - locked <0x0000002adfd50998> (a java.lang.Object)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)

    "Thread-45" prio=1 tid=0x0000002b2149e370 nid=0xa41 runnable [0x000000004206f000..0x000000004206feb0]
    at sun.misc.Unsafe.copyMemory(Native Method)
    at java.nio.DirectByteBuffer.compact(DirectByteBuffer.java:336)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:581)
    at IceSSL.TransceiverI.write(TransceiverI.java:180)
    - locked <0x0000002adfb73e28> (a IceSSL.TransceiverI)
    at Ice.ConnectionI.validate(ConnectionI.java:120)
    - locked <0x0000002adfb73fc8> (a java.lang.Object)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)

    "Thread-19" prio=1 tid=0x0000002b21873580 nid=0x9dd runnable [0x0000000041e6d000..0x0000000041e6ddb0]
    at sun.misc.Unsafe.copyMemory(Native Method)
    at java.nio.DirectByteBuffer.compact(DirectByteBuffer.java:336)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:581)
    at IceSSL.TransceiverI.write(TransceiverI.java:180)
    - locked <0x0000002adf887348> (a IceSSL.TransceiverI)
    at Ice.ConnectionI.validate(ConnectionI.java:120)
    - locked <0x0000002adf8874e8> (a java.lang.Object)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)

    "Thread-16" prio=1 tid=0x0000002b214f79c0 nid=0x9da runnable [0x0000000041b6a000..0x0000000041b6ab30]
    at sun.misc.Unsafe.copyMemory(Native Method)
    at java.nio.DirectByteBuffer.compact(DirectByteBuffer.java:336)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:581)
    at IceSSL.TransceiverI.write(TransceiverI.java:180)
    - locked <0x0000002adf83a6e8> (a IceSSL.TransceiverI)
    at Ice.ConnectionI.validate(ConnectionI.java:120)
    - locked <0x0000002adf83a888> (a java.lang.Object)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)

    "Prototyper" daemon prio=1 tid=0x0000002b212aa2f0 nid=0x9d8 in Object.wait() [0x0000000041d6c000..0x0000000041d6ce30]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf650038> (a org.logicalcobwebs.proxool.PrototyperThread)
    at java.lang.Object.wait(Object.java:474)
    at org.logicalcobwebs.proxool.PrototyperThread.doWait(PrototyperThread.java:69)
    - locked <0x0000002adf650038> (a org.logicalcobwebs.proxool.PrototyperThread)
    at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:58)

    "HouseKeeper" daemon prio=1 tid=0x0000002b214f6f20 nid=0x9d6 waiting on condition [0x0000000041c6b000..0x0000000041c6beb0]
    at java.lang.Thread.sleep(Native Method)
    at org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:46)

    "Thread-11" prio=1 tid=0x0000002b21362670 nid=0x9d4 runnable [0x0000000041a69000..0x0000000041a69db0]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf650230> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf650248> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf643120> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Thread-10" prio=1 tid=0x0000002b21348510 nid=0x9d3 runnable [0x0000000041968000..0x0000000041968c30]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf6521f0> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf6521d8> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf651040> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Thread-9" prio=1 tid=0x0000002b21349f30 nid=0x9d2 runnable [0x0000000041867000..0x0000000041867cb0]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf64e838> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf64e820> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf64deb0> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Thread-8" prio=1 tid=0x0000002b21307390 nid=0x9d1 runnable [0x0000000041766000..0x0000000041766b30]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf62f2f0> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf62f2d8> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf62e6f8> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Thread-7" prio=1 tid=0x0000002b213065d0 nid=0x9d0 runnable [0x0000000041665000..0x0000000041665bb0]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf62e048> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf62e030> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf62d5f8> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    to be continued...
  • "Thread-6" prio=1 tid=0x0000002b2121eb20 nid=0x9cf runnable [0x0000000041564000..0x0000000041564e30]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf640058> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf640040> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf63fdc0> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Ice.ConnectionMonitor" prio=1 tid=0x0000002b2149f740 nid=0x9ce in Object.wait() [0x0000000041463000..0x0000000041463eb0]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf625708> (a IceInternal.ConnectionMonitor)
    at IceInternal.ConnectionMonitor.run(ConnectionMonitor.java:101)
    - locked <0x0000002adf625708> (a IceInternal.ConnectionMonitor)

    "Thread-4" prio=1 tid=0x0000002b214ff210 nid=0x9cd runnable [0x0000000041362000..0x0000000041362d30]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf650428> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf650440> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf6503a0> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Thread-3" prio=1 tid=0x0000002b214fe9d0 nid=0x9cc runnable [0x0000000041261000..0x0000000041261db0]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf658b88> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf658b70> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf6581e8> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Thread-2" prio=1 tid=0x0000002b21289a10 nid=0x9cb runnable [0x0000000041160000..0x0000000041160c30]
    at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
    at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
    at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
    - locked <0x0000002adf65ddb0> (a sun.nio.ch.Util$1)
    - locked <0x0000002adf65dd98> (a java.util.Collections$UnmodifiableSet)
    - locked <0x0000002adf65d320> (a sun.nio.ch.PollSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
    at IceSSL.AcceptorI.accept(AcceptorI.java:122)
    at IceInternal.IncomingConnectionFactory.run(IncomingConnectionFactory.java:636)
    at IceInternal.IncomingConnectionFactory.access$100(IncomingConnectionFactory.java:12)
    at IceInternal.IncomingConnectionFactory$ThreadPerIncomingConnectionFactory.run(IncomingConnectionFactory.java:755)

    "Ice.ConnectionMonitor" prio=1 tid=0x0000002b21561db0 nid=0x9ca in Object.wait() [0x000000004105f000..0x000000004105fcb0]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf625498> (a IceInternal.ConnectionMonitor)
    at IceInternal.ConnectionMonitor.run(ConnectionMonitor.java:101)
    - locked <0x0000002adf625498> (a IceInternal.ConnectionMonitor)

    "Ice.ConnectionMonitor" prio=1 tid=0x0000002b21114cc0 nid=0x9c9 in Object.wait() [0x0000000040f5e000..0x0000000040f5eb30]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf6253f0> (a IceInternal.ConnectionMonitor)
    at IceInternal.ConnectionMonitor.run(ConnectionMonitor.java:101)
    - locked <0x0000002adf6253f0> (a IceInternal.ConnectionMonitor)

    "Low Memory Detector" daemon prio=1 tid=0x0000002b1d6151a0 nid=0x9c7 runnable [0x0000000000000000..0x0000000000000000]

    "CompilerThread1" daemon prio=1 tid=0x0000002b1d613580 nid=0x9c6 waiting on condition [0x0000000000000000..0x0000000040c5a740]

    "CompilerThread0" daemon prio=1 tid=0x0000002b1d611fe0 nid=0x9c5 waiting on condition [0x0000000000000000..0x0000000040b595d0]

    "AdapterThread" daemon prio=1 tid=0x0000002b1d6109d0 nid=0x9c4 waiting on condition [0x0000000000000000..0x0000000000000000]

    "Signal Dispatcher" daemon prio=1 tid=0x0000002b1d60f4f0 nid=0x9c2 waiting on condition [0x0000000000000000..0x0000000000000000]

    "Finalizer" daemon prio=1 tid=0x0000002b1d5fdaa0 nid=0x9c1 in Object.wait() [0x0000000040857000..0x0000000040857cb0]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf65fb58> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
    - locked <0x0000002adf65fb58> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

    "Reference Handler" daemon prio=1 tid=0x0000002b1d5fb100 nid=0x9c0 in Object.wait() [0x0000000040756000..0x0000000040756b30]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf5f1e80> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:474)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x0000002adf5f1e80> (a java.lang.ref.Reference$Lock)

    "main" prio=1 tid=0x0000000040115b00 nid=0x9ba in Object.wait() [0x0000007fbfffc000..0x0000007fbfffd020]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf644248> (a IceInternal.ObjectAdapterFactory)
    at java.lang.Object.wait(Object.java:474)
    at IceInternal.ObjectAdapterFactory.waitForShutdown(ObjectAdapterFactory.java:60)
    - locked <0x0000002adf644248> (a IceInternal.ObjectAdapterFactory)
    at Ice.CommunicatorI.waitForShutdown(CommunicatorI.java:29)
    at com.dawning.nisac.middleware.server.Startup.main(Startup.java:92)

    "VM Thread" prio=1 tid=0x0000002b1d5f6cf0 nid=0x9bf runnable

    "GC task thread#0 (ParallelGC)" prio=1 tid=0x0000000040132ee0 nid=0x9bb runnable

    "GC task thread#1 (ParallelGC)" prio=1 tid=0x0000000040133d60 nid=0x9bc runnable

    "GC task thread#2 (ParallelGC)" prio=1 tid=0x0000000040134be0 nid=0x9bd runnable

    "GC task thread#3 (ParallelGC)" prio=1 tid=0x0000000040135a60 nid=0x9be runnable

    "VM Periodic Task Thread" prio=1 tid=0x0000002b1d616f60 nid=0x9c8 waiting on condition

    to be continued...
  • client's thread dump:

    Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_06-b05 mixed mode):

    "Thread-15" prio=1 tid=0x0000002b214fe910 nid=0x6283 runnable [0x000000004105f000..0x000000004105fdb0]
    at sun.misc.Unsafe.copyMemory(Native Method)
    at java.nio.DirectByteBuffer.compact(DirectByteBuffer.java:336)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:581)
    at IceSSL.TransceiverI.read(TransceiverI.java:259)
    at Ice.ConnectionI.validate(ConnectionI.java:135)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)

    "Ice.ConnectionMonitor" prio=1 tid=0x0000002b2147d570 nid=0x6282 in Object.wait() [0x0000000040f5e000..0x0000000040f5ec30]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf5c2208> (a IceInternal.ConnectionMonitor)
    at IceInternal.ConnectionMonitor.run(ConnectionMonitor.java:101)
    - locked <0x0000002adf5c2208> (a IceInternal.ConnectionMonitor)

    "Low Memory Detector" daemon prio=1 tid=0x0000002b1d6e3440 nid=0x6272 runnable [0x0000000000000000..0x0000000000000000]

    "CompilerThread1" daemon prio=1 tid=0x0000002b1d6e1960 nid=0x6271 waiting on condition [0x0000000000000000..0x0000000040c5a540]

    "CompilerThread0" daemon prio=1 tid=0x0000002b1d6e0540 nid=0x6270 waiting on condition [0x0000000000000000..0x0000000040b59410]

    "AdapterThread" daemon prio=1 tid=0x0000002b1d6df0b0 nid=0x626f waiting on condition [0x0000000000000000..0x0000000000000000]

    "Signal Dispatcher" daemon prio=1 tid=0x0000002b1d6ddd60 nid=0x626e waiting on condition [0x0000000000000000..0x0000000000000000]

    "Finalizer" daemon prio=1 tid=0x0000002b1d6cc540 nid=0x626d in Object.wait() [0x0000000040857000..0x0000000040857eb0]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf5c44a8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
    - locked <0x0000002adf5c44a8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

    "Reference Handler" daemon prio=1 tid=0x0000002b1d6cbc60 nid=0x626c in Object.wait() [0x0000000040756000..0x0000000040756d30]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf5c6098> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:474)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x0000002adf5c6098> (a java.lang.ref.Reference$Lock)

    "main" prio=1 tid=0x0000000040115980 nid=0x6266 in Object.wait() [0x0000007fbfffc000..0x0000007fbfffcca0]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000002adf5c6300> (a Ice.ConnectionI)
    at java.lang.Object.wait(Object.java:474)
    at Ice.ConnectionI.validate(ConnectionI.java:48)
    - locked <0x0000002adf5c6300> (a Ice.ConnectionI)
    at IceInternal.OutgoingConnectionFactory.create(OutgoingConnectionFactory.java:312)
    at IceInternal.RoutableReference.createConnection(RoutableReference.java:379)
    at IceInternal.DirectReference.getConnection(DirectReference.java:192)
    at Ice._ObjectDelM.setup(_ObjectDelM.java:258)
    at Ice.ObjectPrxHelperBase.__getDelegate(ObjectPrxHelperBase.java:905)
    - locked <0x0000002adf5c45f8> (a Ice.ObjectPrxHelperBase)
    at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:73)
    at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:61)
    at com.dawning.nisac.data.QueryStaticDataPrxHelper.checkedCast(QueryStaticDataPrxHelper.java:76)
    at com.dawning.nisac.middleware.client.QueryHPCStaticClient.QueryHPCStatic(QueryHPCStaticClient.java:34)
    at com.dawning.nisac.middleware.testcase.QueryHPCStaticClientLinux.main(QueryHPCStaticClientLinux.java:29)

    "VM Thread" prio=1 tid=0x0000002b1d6c79b0 nid=0x626b runnable

    "GC task thread#0 (ParallelGC)" prio=1 tid=0x0000000040132d60 nid=0x6267 runnable

    "GC task thread#1 (ParallelGC)" prio=1 tid=0x0000000040133be0 nid=0x6268 runnable

    "GC task thread#2 (ParallelGC)" prio=1 tid=0x0000000040134a60 nid=0x6269 runnable

    "GC task thread#3 (ParallelGC)" prio=1 tid=0x00000000401358e0 nid=0x626a runnable

    "VM Periodic Task Thread" prio=1 tid=0x0000002b1d6e5210 nid=0x6273 waiting on condition


    and there is another problem.

    I saw system info by cmd "top", and found:

    server's info:

    Cpu0 : 50.7% us, 0.7% sy, 0.0% ni, 48.7% id, 0.0% wa, 0.0% hi, 0.0% si
    Cpu1 : 99.0% us, 0.0% sy, 0.0% ni, 1.0% id, 0.0% wa, 0.0% hi, 0.0% si
    Cpu2 : 49.7% us, 0.3% sy, 0.0% ni, 50.0% id, 0.0% wa, 0.0% hi, 0.0% si
    Cpu3 : 98.7% us, 0.0% sy, 0.0% ni, 1.3% id, 0.0% wa, 0.0% hi, 0.0% si
    Mem: 4041280k total, 3371088k used, 670192k free, 91248k buffers
    Swap: 4096564k total, 0k used, 4096564k free, 2830848k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    2490 root 18 0 2303m 107m 14m S 298 2.7 90:56.65 java

    client's info:

    Cpu(s): 25.1% us, 0.2% sy, 0.0% ni, 74.6% id, 0.0% wa, 0.0% hi, 0.0% si
    Mem: 4041280k total, 1328872k used, 2712408k free, 179824k buffers
    Swap: 4096564k total, 0k used, 4096564k free, 601292k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    25190 root 15 0 2314m 241m 12m S 101 6.1 17:52.62 java

    too much resource

    possible causes?
  • mes
    mes California
    Hi,

    We have seen one other report of a problem with stack traces that are similar to yours. Several threads appear to be hung in the call to DirectByteBuffer.compact, which is a JDK API method that should not block. I suspect that there's a bug in the JDK, but it's difficult to say for certain without a reliable way to reproduce it.

    There are several things you can try:
    • Upgrade to the latest JDK to see if the situation improves.
    • Make a modification to IceSSL to eliminate the use of direct byte buffers. You would need to edit ssl/jdk1.5/IceSSL/TransceiverI.java, replace all calls to allocateDirect with calls to allocate, then rebuild the Ice JAR file.
    • Create a small client/server example that demonstrates the problem and send it to us for further investigation.
    Take care,
    - Mark
  • I tried again with JDK 1.5.0_11, client got it again.

    I wrote a demo.(with ice 3.1.1)

    if i run client and server in the same PC, no problem.

    but if i run between two PCs, the problem will come.

    i will try to change the code of ICE according to your said.

    Thanks.
  • I replaced all calls to allocateDirect with calls to allocate according to your said, then rebuilt the Ice.jar.

    the problem appeared again.
    i got the client's dump trace three times, there is a little different from before

    client's dump:

    the first dump.

    "Thread-5" prio=1 tid=0xaf2ac538 nid=0x6e83 runnable [0xaddfe000..0xaddff0b0]
    at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:776)
    at com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:663)
    - locked <0xb3a56d88> (a java.lang.Object)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:566)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:580)
    at IceSSL.TransceiverI.read(TransceiverI.java:259)
    at Ice.ConnectionI.validate(ConnectionI.java:135)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)

    the second dump.

    "Thread-5" prio=1 tid=0xaf2ac538 nid=0x6e83 runnable [0xaddfe000..0xaddff0b0]
    at com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:459)
    - waiting to lock <0xb3a54ab8> (a com.sun.net.ssl.internal.ssl.SSLEngineImpl)
    at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:695)
    at com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:663)
    - locked <0xb3a56d88> (a java.lang.Object)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:566)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:580)
    at IceSSL.TransceiverI.read(TransceiverI.java:259)
    at Ice.ConnectionI.validate(ConnectionI.java:135)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)

    the third dump.

    "Thread-5" prio=1 tid=0xaf2ac538 nid=0x6e83 runnable [0xaddfe000..0xaddff0b0]
    at java.nio.HeapByteBuffer.compact(HeapByteBuffer.java:205)
    at IceSSL.TransceiverI.handshake(TransceiverI.java:581)
    at IceSSL.TransceiverI.read(TransceiverI.java:259)
    at Ice.ConnectionI.validate(ConnectionI.java:135)
    at Ice.ConnectionI.run(ConnectionI.java:2167)
    at Ice.ConnectionI.access$300(ConnectionI.java:12)
    at Ice.ConnectionI$ThreadPerConnection.run(ConnectionI.java:2552)


    look at the second dump,
    waiting to Lock? is this deadlock?
  • mes
    mes California
    Hi,

    I was able to reproduce the hang you reported, and it was caused by a bug in the IceSSL plug-in for JDK 1.5. We have fixed this for the next release. Let me know if you'd like a patch.

    Thanks for reporting this problem.

    Take care,
    - Mark
  • the bug has been fixed in Ice 3.2.0?
    if so , i will use it instead of 3.1.1.
    if not, can you send the patch to me? my email is liurunfeng@hotmail.com.
  • marc
    marc Florida
    liurunfeng wrote: »
    the bug has been fixed in Ice 3.2.0?
    if so , i will use it instead of 3.1.1.
    if not, can you send the patch to me? my email is liurunfeng@hotmail.com.

    Please contact us at info@zeroc.com if you are interested in a commercial support agreement. Otherwise, I'm afraid you will have to wait for the next release of Ice.
  • Thanks for your help and reply.