ice icon indicating copy to clipboard operation
ice copied to clipboard

ConnectionIdleException in inactivity timeout test (Java/Windows)

Open bernardnormier opened this issue 1 year ago • 1 comments

Interesting failure in the CI of an unrelated PR: https://github.com/zeroc-ice/ice/actions/runs/9999259759/job/27639943115

- Config: ws,compress,ipv6,mx,x64
(C:\hostedtoolcache\windows\Java_Oracle_jdk\17\x64\bin\java -ea -Dtest.class=test.Ice.inactivityTimeout.Server test.TestDriver --Ice.Default.Host=::1 --Test.BasePort=14200 --Ice.Warn.Connections=1 --Ice.Default.Protocol=ws --Ice.Override.Compress=1 --Ice.IPv6=1 --Ice.PreferIPv6Address=1 --Ice.Admin.Endpoints="tcp -h \"::1\"" --Ice.Admin.InstanceName=Server --IceMX.Metrics.Debug.GroupBy=id --IceMX.Metrics.Parent.GroupBy=parent --IceMX.Metrics.All.GroupBy=none --Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0 --Ice.PrintAdapterReady=1 env={'CLASSPATH': 'D:\\a\\ice\\ice\\java\\lib\\test.jar'})
(C:\hostedtoolcache\windows\Java_Oracle_jdk\17\x64\bin\java -ea -Dtest.class=test.Ice.inactivityTimeout.Client test.TestDriver --Ice.Default.Host=::1 --Test.BasePort=14200 --Ice.Warn.Connections=1 --Ice.Default.Protocol=ws --Ice.Override.Compress=1 --Ice.IPv6=1 --Ice.PreferIPv6Address=1 --Ice.Admin.Endpoints="tcp -h \"::1\"" --Ice.Admin.InstanceName=Client --IceMX.Metrics.Debug.GroupBy=id --IceMX.Metrics.Parent.GroupBy=parent --IceMX.Metrics.All.GroupBy=none env={'CLASSPATH': 'D:\\a\\ice\\ice\\java\\lib\\test.jar'})
testing that the client side inactivity timeout shuts down the connection... ok
testing that the server side inactivity timeout shuts down the connection... ok
testing the inactivity timeout with an outstanding two-way request... ok
testing the inactivity timeout with an outstanding one-way request... ok
com.zeroc.Ice.ConnectionIdleException
	at com.zeroc.IceInternal.OutgoingAsync.waitForResponseOrUserEx(OutgoingAsync.java:112)
	at com.zeroc.IceInternal.OutgoingAsync.waitForResponse(OutgoingAsync.java:95)
	at test.Ice.inactivityTimeout.Test.TestIntfPrx.shutdown(TestIntfPrx.java:63)
	at test.Ice.inactivityTimeout.Test.TestIntfPrx.shutdown(TestIntfPrx.java:58)
	at test.Ice.inactivityTimeout.AllTests.allTests(AllTests.java:26)
	at test.Ice.inactivityTimeout.Client.run(Client.java:17)
	at test.TestDriver.main(TestDriver.java:14)

bernardnormier avatar Jul 19 '24 14:07 bernardnormier

This is one of the few tests with a low idle timeout (1 second).

The shutdown call should return quickly from the server, as it only initiates the shutdown.

If we can reproduce this bug, it would be nice to trace the protocol messages.

bernardnormier avatar Jul 19 '24 17:07 bernardnormier

This was probably fixed by #2961.

bernardnormier avatar Oct 25 '24 19:10 bernardnormier