Hello.
We are trying to make some sort of a sessions (distributed GC), so we made session keeper, that sends "heart beat" to the remote side by calling proxy "refresh" AMI method .
When we kill remote process, or break down the network connection, sometimes (not always!) we see this messages:
IceUtil::Timer::run(): uncaught exception:
TcpTransceiver.cpp:158: Ice::ConnectionLostException:
connection lost: recv() returned zero
Assertion failed: !__os, file OutgoingAsync.cpp, line 76
or
IceUtil::Timer::run(): uncaught exception:
TcpTransceiver.cpp:191: Ice::ConnectionLostException:
connection lost: WSAECONNRESET
Assertion failed: !__os, file OutgoingAsync.cpp, line 76
BTW, we redirect ice logger to ours logging framework, so all other messages goes directly to our log, except this one - this goes to the console.
While investigating this, we have seen, that this happens in such pattern: make async call and before response (we should fill server thread pool, o'coz, to do that) break down the network connection. So async call never completes and never causes exception. It just do nothing!
This behaviour is really disappoints us, may be you can bring some light on this situation? Thanks!
Ice version: 3.3.0
System: Windows XP, 2003, 2008
Compiler: VS 2008
--
Andrew Solodovnikov

Reply With Quote

