Archived

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

Bug of Glacier2Router

Let me describe the scenario first.

I deployed my service behind glacier2router.

My service upgraded to IcePy 3.2 recently and the glacier2router is the origin binary exe from Ice 3.2 distribution.

The basic way I do communication is that client register to service as callback interface, service push data to client through that callback interface.

Before I upgrade to 3.2, the service may slow down occasionally, times of callback usually drop to around 300/10s since it was 4000/10s when everything is ok.

I tried to solve that and modified my service. I reset communicator and all adapters since I found the situation above had appeared. That works on most occasions. However sometimes communicator failed to restart(I shut down the old communicator first and create it a new one after that), it blocked when communicator was trying to shutdown.

After that, I decided to upgrade to 3.2.

Things became worse after I did so. The glacier2router may halt sometimes. I can connect to glacier2router's endpoint but cannot get the 'IceP' magic number. All the communications seem to be deadlock since that.

My question is that if it's possible in Ice 3.2 that glacier2router in a state of deadlocked? What updates you guys have made could cause that?

Comments

  • benoit
    benoit Rennes, France
    Hi,

    I'm afraid it's difficult to help without more information. The best way to figure out if the glacier2router is deadlocked is to attach the debugger to the process and retrieve the stack traces of each thread. Can you try out to get this information?

    Also, which operating system do you use?

    Cheers,
    Benoit.
  • Yepp, I'll try to do that.
    BTW, I'm afraid that I can only use release version of glacier2router to retrive the call stack information. Could that be helpful?
  • benoit
    benoit Rennes, France
    Hi,

    The best would be to get this information with a debug build (you easily build it by using the Ice source packages). Whether or not you'll get a useful thread dump with a release build depends on the operating system you're using, just try it out to see how it looks.

    Cheers,
    Benoit.
  • I deployed my services on Windows 2003 sp1
  • benoit
    benoit Rennes, France
    You should rebuild Ice with debug information, otherwise I'm pretty sure you won't get useful stack traces with a release build on Windows. Another option would be to write a small self-contained and compilable test case that you could post here.

    Cheers,
    Benoit.