Bug 645528
Summary: | SIGPROF keeps a large task from ever completing a fork() | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Guy Streeter <streeter> | ||||
Component: | kernel | Assignee: | Oleg Nesterov <onestero> | ||||
Status: | CLOSED ERRATA | QA Contact: | Han Pingtian <phan> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 5.5 | CC: | anton, murali.marimekala, nobody, qcai, spoyarek, stefanrin | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2011-07-21 10:12:47 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Guy Streeter
2010-10-21 17:57:12 UTC
Partial strace from reproducer: 11160 10:17:46.930243 --- SIGPROF (Profiling timer expired) @ 0 (0) --- 11160 10:17:46.930334 rt_sigreturn(0x1b) = 56 <0.000014> 11160 10:17:46.930406 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2b7acd3225a0) = ? ERESTARTNOINTR (To be restarted) <0.462230> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> int main() { long sz = 4.1*1024*1024*1024; char *p = (char*)malloc(sz); memset(p, 0, sz); fork(); return 0; } If you save it to a file fork.c and compile with /usr/bin/g++ -pg fork.c Well. The problem is quite obvious. Everything is clear and works "as expected". What is not clear to me is what can we do ;) And given that SIGPROF can happen at any time -pg can lead to the spurious (and perhaps unexpected) -EINTR from other syscalls... Otoh I understand why the customer dislikes this. I'll try to think more... This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. Patch(es) available in kernel-2.6.18-265.el5 You can download this test kernel (or newer) from http://people.redhat.com/jwilson/el5 Detailed testing feedback is always welcomed. Verified with -267.el5. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-1065.html Hi, Is it possible for anyone to attach the patch which contains the fix for this issue ? Thanks in Advance, Murali Created attachment 1023457 [details]
Reconstructed patch
From looking at the closest released versions before and after this patch has been added, I would expect it to be this.
|