Bug 73451

Summary: [NRWT] It crashes intermittently when there are WebProcess crashes
Product: WebKit Reporter: János Badics <jbadics>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dpranke, eric, kkristof, ojan, ossy, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 64491    
Attachments:
Description Flags
crash log
none
proposed patch
ossy: review-
proposed patch none

Description János Badics 2011-11-30 08:28:58 PST
In some uncertain cases worker0 stops with exception; self._proc is probably None (maybe reseted) or isn't even created.
Comment 1 János Badics 2011-11-30 08:30:18 PST
Created attachment 117198 [details]
crash log
Comment 2 Csaba Osztrogonác 2011-11-30 08:33:06 PST
Comment on attachment 117198 [details]
crash log

It isn't patch, so we don't need r? and cq? :)
Comment 3 Csaba Osztrogonác 2011-11-30 08:36:07 PST
Guys, have you got any idea what is this bug? Unfortunately it is too hard to reproduce. :(
Comment 4 Eric Seidel (no email) 2011-11-30 10:59:48 PST
Looks like a design error.

_reset() can clear self._proc.  _check_for_crash grabs at self._proc w/o checking if it's None or if self.crashed in many places.  We just need to re-work that to never be the case.
Comment 5 Csaba Osztrogonác 2011-12-01 02:49:57 PST
*** Bug 73299 has been marked as a duplicate of this bug. ***
Comment 6 Csaba Osztrogonác 2011-12-06 05:24:37 PST
(In reply to comment #4)
> Looks like a design error.
> 
> _reset() can clear self._proc.  _check_for_crash grabs at self._proc w/o checking if it's None or if self.crashed in many places.  We just need to re-work that to never be the case.

Do you mean we should use self.poll() instead of self._proc.poll() everywhere?

def poll(self):
    """Check to see if the underlying process is running; returns None
    if it still is (wrapper around subprocess.poll)."""
    if self._proc:
        return self._proc.poll()
    return None
Comment 7 János Badics 2011-12-12 03:31:32 PST
Created attachment 118765 [details]
proposed patch

Use self.poll() instead of self._proc.poll() because it checks if self._proc is None or not.
Comment 8 Csaba Osztrogonác 2011-12-12 09:06:55 PST
Comment on attachment 118765 [details]
proposed patch

r- now, because this patch isn't up-to-date. Could you update your patch to ToT and resubmit?
Comment 9 János Badics 2011-12-13 03:52:24 PST
Created attachment 118996 [details]
proposed patch

Use self.poll() instead of self._proc.poll() because it checks if self._proc is None or not.
Comment 10 WebKit Review Bot 2011-12-13 05:41:51 PST
Comment on attachment 118996 [details]
proposed patch

Clearing flags on attachment: 118996

Committed r102677: <http://trac.webkit.org/changeset/102677>
Comment 11 WebKit Review Bot 2011-12-13 05:41:56 PST
All reviewed patches have been landed.  Closing bug.