Home Help Center

On TimeoutExceptions with AMI calls

stephanstephan Member Stephan StapelOrganization: Stephan StapelProject: BristolNG

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??




  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    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.
  • stephanstephan Member Stephan StapelOrganization: Stephan StapelProject: BristolNG
    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?

  • benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    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.

Sign In or Register to comment.