cc1 hog

Joe Buck jbuck@synopsys.com
Wed Oct 1 14:02:00 GMT 1997


 
> There is one particular testcase in compile (961203-1.c) that may cause
> all VM to be consumed before cc1 fails.

Understood (that one usually dies with an infinite recursion so stack
limits catch it).  One thing to watch for is that in the old days, Linux boxes
typically came configured without any virtual memory limits, to which
Linux might respond to a 961203-1.c failure by entering a thrashing mode
which finally gets resolved by killing processes at random.  Some users
may still be configured this way ("I don't need no stinking limits!").

Thus it's important for make check to set some kind of virtual memory
limit if none is set; if this is too difficult to do we at least need to
make sure that we warn people before doing the tests (though the
appropriate limit or ulimit command isn't hard).

> make check takes forever because of the sheer amount of work that is being
> done.

Yes, but if many tests result in a working set that is larger than real
memory, "forever" starts getting more literal.



More information about the Gcc mailing list