Bug 815674

Summary: unable to signal process group
Product: Red Hat Enterprise Linux 6 Reporter: Peter Hatina <phatina>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED NOTABUG QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.3CC: anton, onestero, tsmetana
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-03 09:12:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 810583    
Attachments:
Description Flags
Usage example in C none

Description Peter Hatina 2012-04-24 08:35:33 UTC
Description of problem:
I am not able to signal a group of processes. Wrt kill(1), by specifying negative PID, kill should send signal to the process group.

Version-Release number of selected component (if applicable):
util-linux-ng-2.17.2-12.4.el6.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. create a process group (parent, several children)
2. kill -s SIGTERM -- -PID_OF_PARENT
  
Actual results:
bash: kill: (-PID_OF_PARENT) - No such process

Expected results:
Process group should have been signalled.

Comment 2 Peter Hatina 2012-04-24 13:29:06 UTC
Created attachment 579856 [details]
Usage example in C

The program should signal a process group by the signal specified in the first argument.

Actual result is: kill: No such process

Same, as /bin/kill.

Comment 3 Peter Hatina 2012-04-25 13:23:09 UTC
Kernel used: 2.6.32-232.el6.x86_64

Comment 4 Oleg Nesterov 2012-04-30 12:33:57 UTC
(In reply to comment #2)
>
> Created attachment 579856 [details]

this test-case can't demonstrate the bug, it simply does sys_kill().

> The program should signal a process group by the signal specified in the first
> argument.

Yes, but pgid should be correct.

> Actual result is: kill: No such process
> 
> Same, as /bin/kill.

I do not have the testing machine with rhel right now, but I simply
can't believe it has the bug like this ;) I bet it would have been
noticed a long ago.

Could you please double check? Or could you provide the "complete"
test-case? Or, simply, could you show how did you verify that
kill -pgid doesn't work?

Or. could you try the simplest test-case:

    $ perl -wle '$SIG{CONT}=sub{print $$}; fork ? wait : kill "CONT", -getppid'

on my machine the output is:

    5398
    5399

which shows that kill -pgid works correctly.

Comment 5 Peter Hatina 2012-05-03 09:12:30 UTC
Oleg, thank you for your reply. The problem was in misunderstanding of the process group.