Problems running Jabberd v1.4.3 under cygwin v1.5.7 (or latest snapshot), and heap allocation error caused by fork()

Frank Seesink frank@mail.wvnet.edu
Sun Mar 14 06:14:00 GMT 2004


Hey Chris,

For the record, I tried this.  No dice.  Tried rebaseall with Cygwin 
1.5.7, then with the latest snapshot at the time (20040306), and as I 
mentioned in my original post, I even used a modified version of 
rebaseall to rebase the DLLs generated by Jabberd (which are run from 
their build directories, not /usr/bin, etc.).  None of that worked.

I see your name on the list quite a bit, and you seem to be one of the 
key guys "in the know."  Can you possibly explain to me what the error 
usually indicates?  I mean, beyond the rebaseall, what exactly are we 
talking about?  A forked process trying to get loaded into an 
overlapping spot in memory, something like that?  I'm really trying to 
_understand_ this, as I'd like to get to the bottom of it.

I just looked and noticed that there's another snapshot out there.  I'll 
give that a whack this week, but I won't hold my breath.  Like I wrote 
initially, this same error occurred when I tried this back in Nov2003, 
and it's still there (across 4+ different versions of Cygwin so far). 
As no other programs exhibited this issue (I run PostgreSQL under Cygwin 
quite regularly, for example), I find it hard to believe that rebaseall 
is the answer to everything.  I'd really like to dig a little deeper if 
anyone can point me in the right direction.  I've nailed it down to the 
fork() call using gdb, but don't really know what I can possibly do at 
this point.  I've kind of hit my current knowledge limit in this area. 
(But I'm more than willing to expand that if I know where to look. ;-) )


Christopher Faylor wrote:
> On Fri, Mar 12, 2004 at 01:28:02AM -0500, Frank Seesink wrote:
> 
>>Basically, no, I haven't been able to reproduce it outside of Jabberd.
>>
>>Then again, I don't have a lot of custom source to compile/use.  My 
>>simple test program (the one which loaded a DLL which in turn did a 
>>fork()) worked fine, but that was an uber-simple app.
>>
>>Jabberd fires up multiple threads/processes with more than one 
>>fork()/spawn_() call prior to reaching the dnsrv module where the final 
>>fork() breaks the camel's back as it were.
> 
> 
> For the record, this problem usually indicates the need to run 'rebaseall'.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list