Archived

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

Need help with ICE hanging

I have inherited an client-server application which is using ICE and am having to come up to speed very quickly. We are using a publisher-subscriber model (using IceStorm). Basically, the client tells the servers to execute a test and report the results. The ICE interface works well until another part of the server application downloads a file from a URL, outside of the ICE interface. The downloader class uses HttpWebRequest and HttpWebResponse C# classes to download the file. The download works correctly but once the test is finished and the servers send back the test reponse, they do not respond to further requests. Do I need to implement the download method in the ICE Interface? I could use some help.

Comments

  • mes
    mes California
    Hi Gloria,

    Welcome to the forum.

    Sorry to hear that you're having trouble, but it's difficult to diagnose the problem without more information. Providing a small code example that we could use to reproduce the problem would be the quickest way to resolve it.

    To answer your question, it is not necessary to use Ice to perform the download.

    When an Ice server fails to respond to requests, it usually means that no threads are available in Ice's server-side thread pool. Increasing the size of the pool may be necessary, but I also recommend that you investigate the reason for the lack of threads. First of all, you should make sure that you understand the server's configuration, such as whether any thread-related properties are being set or whether the server is using Ice's default settings.

    Secondly, you should attach to the process that is no longer responding and examine the state of its threads. It's very likely that one or more threads from the Ice run time are blocked; you should be able to distinguish the Ice-specific threads by their thread names.

    Regards,
    Mark
  • Thanks for your response. I did suspect that might be the issue so made sure the WebResponse is being closed. I'll check it out further per your suggestions.