[omniORB] Weird issue running omniORB under wine
Duncan Grisby
duncan at grisby.org
Fri Mar 19 15:36:12 GMT 2010
On Tue, 2010-03-02 at 11:36 -0700, Barry Roberts wrote:
> I have a server-type CORBA application that runs just great under
> Windows but is a real pain to keep updated. As part of the process of
> porting it to Linux I'm trying to run it under Wine as an interim step
> to make maintenance and updates much easier. It works for a short
> while, but then at some point it dies with:
>
> omniORB: Assertion failed. This indicates a bug in the application using omniORB, or maybe in omniORB itself.
> file: SocketCollection.cc
> line: 946
> info: s->pd_fd_index >= 0
[...]
> I realize this is NOT an omniORB problem, but I also quickly realized
> that it would be pretty difficult for me to get familiar enough with
> the code to figure out why this was happening. So if anyone sees any
> easy things I can try to track down what's different between Wine and
> Windows so I can make this work, I would appreciate it.
Well, it's possible that it is an omniORB problem. Can you try with the
latest SVN version? There have been a few fixes in that area of the
code that I don't think will be relevant, but it's worth using the
latest version to be sure.
My guess is that the problem comes down to the strange way Windows
fd_sets work. Wine is possibly not using exactly the same semantics,
which will be a problem for omniORB because it relies on implementation
details for performance reasons. There is code around line 907 or
SocketCollection.cc that reaches in to the fd_set array and sets it
directly. Perhaps you could try changing it to use the FD_SET macro?
Search for other uses of fd_array in that file and change them to use
FD_SET / FD_CLR too. I don't know if that will help, but it's worth a
go.
Cheers,
Duncan.
--
-- Duncan Grisby --
-- duncan at grisby.org --
-- http://www.grisby.org --
More information about the omniORB-list
mailing list