Open bernardnormier opened 1 week ago
Similar failure with the idleTimeout test:
*** [106/259] Running csharp/Ice/idleTimeout tests ***
[ running client/server test - 06/21/24 17:43:26 ]
- Config: ssl,x64
(dotnet D:\a\ice\ice\csharp\test\Ice\idleTimeout\msbuild\server\net8.0\server.dll --Ice.Default.Host=127.0.0.1 --Ice.Warn.Connections=1 --Ice.Default.Protocol=ssl --Ice.IPv6=0 --Ice.Plugin.IceSSL= --IceSSL.*** --IceSSL.DefaultDir=D:\a\ice\ice\certs --IceSSL.CAs=cacert.pem --IceSSL.VerifyPeer=2 --IceSSL.CertFile=server.p12 --Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0 --Ice.PrintAdapterReady=1 env={'PATH': 'D:\\a\\ice\\ice\\cpp\\msbuild\\packages\\bzip2..1.0.6.10\\build\\native\\bin\\x64\\Release'})
(dotnet D:\a\ice\ice\csharp\test\Ice\idleTimeout\msbuild\client\net8.0\client.dll --Ice.Default.Host=127.0.0.1 --Ice.Warn.Connections=1 --Ice.Default.Protocol=ssl --Ice.IPv6=0 --Ice.Plugin.IceSSL= --IceSSL.*** --IceSSL.DefaultDir=D:\a\ice\ice\certs --IceSSL.CAs=cacert.pem --IceSSL.VerifyPeer=2 --IceSSL.CertFile=client.p12 env={'PATH': 'D:\\a\\ice\\ice\\cpp\\msbuild\\packages\\bzip2..1.0.6.10\\build\\native\\bin\\x64\\Release'})
testing that the idle check does not abort a connection that receives heartbeats... ok
testing that the idle check aborts a connection that does not receive anything for 1s... Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'array')
at System.ArgumentNullException.Throw(String paramName)
at System.Buffer.ByteLength(Array array)
at System.Buffer.GetByte(Array array, Int32 index)
at Ice.Internal.ByteBuffer.get(Int32 pos) in D:\a\ice\ice\csharp\src\Ice\Internal\ByteBuffer.cs:line 187
at Ice.ConnectionI.sendMessage(OutgoingMessage message) in D:\a\ice\ice\csharp\src\Ice\ConnectionI.cs:line 2122
at Ice.ConnectionI.sendHeartbeat() in D:\a\ice\ice\csharp\src\Ice\ConnectionI.cs:line 1542
at Ice.Internal.IdleTimeoutTransceiverDecorator.<>c__DisplayClass22_0.<.ctor>b__1(Object _) in D:\a\ice\ice\csharp\src\Ice\Internal\IdleTimeoutTransceiverDecorator.cs:line 112
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.TimerQueueTimer.Fire(Boolean isThreadPool)
at System.Threading.TimerQueue.FireNextTimers()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
ok```
I committed a temporary work-around for this failure.
On debug macos
https://github.com/zeroc-ice/ice/actions/runs/9616790340/job/26527104938
It's not immediately clear if the trigger is the System.ArgumentNullException. So far I could not reproduce it.