Archived

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

Two communicators problem

Good morning and happy new year from Spain :-)

I'm having a trouble using a library that internally uses Ice with my program, that is using Ice too.

Both (program and library) are developed by me. The library uses Ice to send a data structure from a client to a servant. It works perfectly and I have done some tests that simply work if the program that uses the library is not an "Ice program".

On my real program I have a communicator, an object adapter, a servant... but the library uses its own communicator and object adapter. At the beginning of the execution, the program and the library work fine, but if an program-servant invocation I affect in some way the library-servant, it stops working.

I think it would be a thread-related issue, because I'm using a gobject loop (the program and the library use GTK and Gstreamer) and both communicators are running in the same Gobject loop.

My program and the library are written in Python. Is it possible that affecting a servant from a different communicator invocation crashes it? The library-servant object stops working (including no ice_ping response).

Thanks in advance and best regards

P.S. I forget it, sorry. Ice 3.4.1, Debian GNU/Linux, Python 2.6

Comments

  • benoit
    benoit Rennes, France
    Hi,

    What do you mean by both communicators are running in the same Gobject loop?

    Did you try attaching with gdb to the process to see the thread stack traces? It might give some insights on the problem even if your program is written in python. The best would be to copy the thread dump into a text file and post it here so that we can take a quick look.

    Cheers,
    Benoit.