[omniORB] RE: No return from tcpConnection.cc::Recv

Martin Trappel 0xCDCDCDCD at gmx.at
Thu Oct 9 09:06:01 BST 2008


Preston, Ralph A. wrote:
 > Hello,
 >
 > I've created a simple client/server app to transfer large files and am
 > having trouble with it locking up. It will run for a while then
 > abruptly stop.  The problem occurs when running in Cygwin/Windows XP
 > often between 40 and 200 iterations.  I've tested various combinations
 > of Linux vs. Cygwin and local vs. remote server.  The problem occurs
 > only when the client is running in Cygwin, I've let it run up to 170K
 > iterations in Linux without a problem.  (...)
 > (...)
 > The lockup always occurs during the call to ::recv in
 > src/lib/omniORB/orbcore/tcp/tcpConnection::Recv(...).  It seems as if
 > the ::recv blocks and is never unblocked, judging by print statements
 > inserted before and after the ::recv call.
 >

Since recv is a winsock2 system call I really think this is not a 
problem with the code of omniORB, although of course it could be that 
there is something specific to omniorb that makes it fail in your case.

Have you tried googleing for recv+winsock2+lockup or something like this?

 > Any suggestions for debugging are very welcome.  Following is more
 > detailed information about the threads and source code.
 >

Since you have since rebuilt on VS2008 you may want to add debugging 
symbols for the system-dll's (Tools -> Options -> Debuging -> Symbols -> 
  http://msdl.microsoft.com/download/symbols)


Preston, Ralph A. wrote:
> As a follow up, I re-built the application using MS Visual Studio 2008
> as a Windows console app and it has the same problem, failed after 681
> iterations.  That rules out Cygwin.
> 

You wrote above that you have tried it on linux and it worked. Have you 
tried it on *another machine* with windows XP?

br,
Martin



More information about the omniORB-list mailing list