Bug 3091

Summary: frysk encounters waitpid status 0xFF on exec
Product: frysk Reporter: Andrew Cagney <cagney>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: NEW ---    
Severity: normal CC: qiyaoltc, woodzltc, zhengyo
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1496, 2654    

Description Andrew Cagney 2006-08-18 21:17:16 UTC
Description of problem:

When frysk observers a process for exec events, it observes a waitpid status of:
0xFF. This status is unknown.

Version-Release number of selected component (if applicable):

All.

How reproducible:

Always.

Steps to Reproduce:

1. Ensure frysk logging is enabled by making sure your
~/.frysk/logging.properties has at least:

cat ~/.frysk/logging.properties 
java.util.logging.ConsoleHandler.level = OFF 
java.util.logging.FileHandler.level = FINE
frysk.core.debug.WindowHandler.level = OFF

2. Create a session that has bash in it, and an exec observer
3. Type: exec /usr/bin/which in an attached bash shell.

  
Actual results:

Frysk will show an error, and the logs will contain at the end:

{frysk.proc.LinuxHost$PollWaitOnSigChld@911e50,sig=Sig_CHLD} execute
frysk.sys.Wait pid 21263 status 0x4057f
frysk.sys.Wait pid 0 errno 0
{TaskId,21263} execEvent
{frysk.proc.LinuxHost@848360,state=running} get TaskId
{frysk.proc.LinuxTask@1513d80,pid=21263,tid=21263,state=running} handleExecedEvent
{frysk.proc.LinuxProc@15ffc80,pid=21263,state=running} retain(Task) -- remove
all but task
{frysk.proc.LinuxHost@848360,state=running} removeTasks Collection
Exec Observer: PID: 21263 TID: 21263 Event: called exec  Host:
localhost.localdomainfrysk.gui.monitor.actions.GenericActionPoint@101f9d8  
runActions
{frysk.proc.LinuxTask@1513d80,pid=21263,tid=21263,state=blockedInExecSyscall}
requestUnblock -- observer
{frysk.proc.LinuxTask@1513d80,pid=21263,tid=21263,state=blockedInExecSyscall}
handleUnblock
{frysk.proc.LinuxTask@1513d80,pid=21263,tid=21263,state=blockedInExecSyscall}
sendContinue
{frysk.proc.LinuxHost$PollWaitOnSigChld@911e50,sig=Sig_CHLD} execute
frysk.sys.Wait pid 21263 status 0x6057f
frysk.sys.Wait pid 0 errno 0
{TaskId,21263} exitEvent
{frysk.proc.LinuxHost@848360,state=running} get TaskId
{frysk.proc.LinuxTask@1513d80,pid=21263,tid=21263,state=running}
handleTerminatingEvent
{frysk.proc.LinuxTask@1513d80,pid=21263,tid=21263,state=running} sendContinue
{frysk.proc.LinuxHost$PollWaitOnSigChld@911e50,sig=Sig_CHLD} execute
frysk.sys.Wait pid 21263 status 0xff
frysk.sys.Wait pid 0 errno 0

Expected results:

A correct waitpid status

Additional info:
Comment 1 Andrew Cagney 2006-08-18 21:18:48 UTC
Downstream rhel:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=203056