-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bugpoint should fork processes with sane limits #1060
Comments
assigned to @asl |
I would argue that such things are outside the scope of LLVM. If you want to |
I don't really agree. Bugpoint can run for a long time and potentially consume a lot of time and memory. -Chris |
okay, care to define those limits? isn't the limit somewhat dependent on the input? and, what about gccld, llvm-ld, or other programs which might execute for a whlie? if we have to support this feature, then we have to do it on all platforms .. is |
I think that having bugpoint default to large but reasonable limits (e.g. 100M of memory and 1 minute of Hosts that don't support the "setlimit" family of functions can just ignore the request. -Chris |
Seems to be easy to add. Are there "setrlimit" call on Darwin? |
Yep, darwin has setrlimit, -Chris |
One thing that I recently noticed is that the --timeout=N value only applies to the program when it is -Chris |
memory limit introduced in http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070212/044634.html Something more to add? |
Very nice! Can you also investigate making sub-invocations of llc respect -timeout? If llc goes into an infinite loop, -Chris |
anton implemented this. |
Extended Description
When bugpoint runs something (gcc, or a probably-broken bit of code), it should
have some limits on disk and memory usage set, to add a bit of determinism and
be more polite. I just went through a bugpoint run where the code in question
was failing by exhausting swap - worked fine, just took 20x longer than it
should have.
This issue will probably become more serious if and when bugpoint gets
multithreaded.
The text was updated successfully, but these errors were encountered: