This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: "Couldn't allocate heap" - tried rebasing

On 11/15/2011 11:33 AM, Jesse Ziser wrote:
On 11/11/2011 12:29 PM, Ken Brown wrote:
On 11/11/2011 10:58 AM, Jesse Ziser wrote:

Since attempting to upgrade from Cygwin 1.5 to 1.7, I'm having the
problem that attempting to run various programs results in a slew of
errors like the following:

1 [main] bash 4276 c:\cygwin\bin\bash.EXE: *** fatal error - couldn't
cate heap, Win32 error 487, base 0x740000, top 0x970000, reserve_size
2289664, a
llocsize 2293760, page_const 4096
Stack trace:
Frame Function Args
0028E4EC 6102796B (0028E4EC, 00000000, 00000000, 0028E53C)
0028E7DC 6102796B (6117EC60, 00008000, 00000000, 61180977)
0028F80C 61004F1B (611B66CC, 00740000, 00970000, 0022F000)
0028F83C 6106E8C3 (7FFEFFFF, 000000FF, 00000008, 7713FE92)
0028F92C 610C133B (00000050, 02000000, 6116A724, 6116A720)
0028F95C 610064C0 (00000000, 00000002, 00000000, 753D3480)
0028FA1C 6106FC15 (61000000, 00000001, 0028FD24, 00000001)
0028FA3C 77159930 (6106F960, 61000000, 00000001, 0028FD24)
0028FB30 7715D8A9 (0028FD24, 7EFDD000, 7EFDE000, 7722206C)
0028FCB0 77172120 (0028FD24, 77120000, 70B9B815, 00000000)
0028FD00 77170BDA (0028FD24, 77120000, 00000000, 00000000)
0028FD10 77159E59 (0028FD24, 77120000, 00000000, 0001002F)
End of stack trace
0 [main] bash 4768 fork: child -1 - died waiting for longjmp before
lization, retry 0, exit code 0x100, errno 11
bash: fork: retry: Resource temporarily unavailable

I've tried all the standard solutions I could find suggested on the net,
including the following:

rebaseall -b 0x77000000
rebaseall -b 0x76000000
rebaseall -b 0x78000000
doing a reinstall all using setup.exe
wiping my cygwin directory and reinstalling
rebaseall -b 0x60000000

The last one was based on a blog post that suggested running
SysInternals' ListDLLs.exe to see what DLLs from the BLODA might be
sticking themselves into Cygwin processes. I found Sophos antivirus in
all my Cygwin processes at address 6FA00000, and that's why I chose
address 60000000 in my last rebaseall attempt.

Your cygcheck output shows that you're not using the latest version of rebase. I suggest you try it (after reading /usr/share/doc/rebase/README), without the -b option. See also

for further advice about using rebase. Two other suggestions: First, you
could try a Cygwin snapshot (; there
have been some improvements in Cygwin's ability to deal with fork
failures. Second, does uninstalling Sophos antivirus solve the problem?

Tried the new version of rebase. Did not fix the problem. Tried rebase -s -i. No asterisks, so presumably no collisions. Tried uninstalling Sophos. Did not fix the problem. Tried the 2011-11-08 snapshot. Seems to fix the problem!

I'm not comfortable deploying a snapshot throughout the building,
though. I will roll back to 1.5 for now and wait for that snapshot to
make it to a release. Thanks!

Actually, I just noticed this remark:

"In summary, current Windows implementations make it
impossible to implement a perfectly reliable fork, and occasional
fork failures are inevitable."

in winsup/doc/overview2.sgml in the source tree. Does that mean that, even with the improvements mentioned above, we cannot expect important Cygwin apps/scripts to always work reliably in a post-WinXP world? My company has been moving from Win2K/XP to Win7, so this would be important info for us.

So how serious is the above remark? I don't see anything quite that strongly-phrased in the FAQ. Maybe it should be mentioned there?

| Jesse Ziser, Code Warrior |
| Applied Research Labs: UT |

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]