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

On TimeoutExceptions with AMI calls


I'm using lots of AMI calls in my GUI application to avoid UI blocking, the implementation follows the 'Integrating Ice with a GUI' articles.

When I debug my application, I receive lots of TimeoutExceptions when transferring higher amounts of data between client and server. I switched on break on exceptions for the TimeoutException (in VS2005) to find out where the timeouts originate. Unfortunately the call stack shows that those exceptions are raised somewhere down the Ice runtime in Ice::TcpTranseiver::read().

Do you have an idea how to track down those exceptions or don't those exception matter at all?

If they shouldn't matter, is there a chance to hide those exceptions from the VS debug output? I guess the reason for the output is that the exception is not handled??




  • marc
    marc Florida
    These are exceptions that are raised and handled internally. They do not indicate any problem in Ice, and do not propagate to user code. Have a look at this article for more info.
  • Thanks for the explanation and the link to the kb article. I'm just afraid because of the amount of TimeoutExceptions that are raised (about 50 during a 1 MB transfer call), I wanted to ask if there are any settings that might influence the Ice runtime positively to avoid some of those timeouts?

  • benoit
    benoit Rennes, France
    Hi Stephan,

    The only settings which might influence this would be to use to the thread per connection concurrency model (where a thread will be dedicated for reading on the connection).

    I wouldn't worry about these timeout exceptions though, they just indicate the Ice thread pool that there's no more data to read on the connection. This might happen for example if the sender is a bit slower to send the data than the receiver to read them.