Bug 3092

Summary: Frysk gets confused by out of order events reported by kernel
Product: frysk Reporter: Andrew Cagney <cagney>
Component: generalAssignee: Andrew Cagney <cagney>
Status: RESOLVED FIXED    
Severity: normal    
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:21:54 UTC
When a fork occures, frysk is delivered two events:

- parent stopped with fork event (child pid as extra info)
- child stopped

with the current kernel, on an smp box at least, frysk instead sees:

- child stopped
- parent stopped with fork event (child pid as extra info)

that is the events arrive in a different order, and more importantly, the <<
child stopped >> event arrives before frysk knows that the child process even
exists (which, from an architectural pov is impossible :-).
Comment 1 Andrew Cagney 2006-08-18 21:22:51 UTC
Downstream rhel bug:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=202115
Comment 2 Andrew Cagney 2008-06-11 19:55:29 UTC
commit 73b36e6611a952baa33f61ac9075fee600e36dab
Author: Andrew Cagney <cagney@redhat.com>
Date:   Mon Nov 27 00:50:22 2006 +0000

    Index: frysk-core/frysk/proc/ChangeLog
    2006-11-26  Andrew Cagney  <cagney@redhat.com>
    
        * LinuxHost.java (PollWaitOnSigChild.waitObserver.cloneEvent):
        Call attemptDeliveringFsckedKernelEvents to force re-delivery of
        any stray waitpid events.
        (attemptDeliveringFsckedKernelEvents): Add more logging.