Bug 94997

Summary: REGRESSION: WebProcessProxy destructor is sometimes called recursively
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: WebKit2Assignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit.review.bot
Priority: P1 Keywords: InRadar, Regression
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
proposed fix none

Description Alexey Proskuryakov 2012-08-24 20:46:40 PDT
We're seeing sees this crash, which is obviously caused by my recent change to keep a vector of WebProcessProxies in a context:

3   com.apple.WebKit2             	0x000000010a26d8b9 WebKit::WebProcessProxy::~WebProcessProxy() + 17
4   com.apple.WebKit2             	0x000000010a2e95b5 WTF::Vector<WTF::RefPtr<WebKit::WebProcessProxy>, 0ul>::shrink(unsigned long) + 65
5   com.apple.WebKit2             	0x000000010a2e9545 WTF::Vector<WTF::RefPtr<WebKit::WebProcessProxy>, 0ul>::~Vector() + 25
6   com.apple.WebKit2             	0x000000010a2e5751 WebKit::WebContext::~WebContext() + 17
7   com.apple.WebKit2             	0x000000010a34017b WebKit::WebProcessProxy::~WebProcessProxy() + 313
8   com.apple.WebKit2             	0x000000010a26d8b9 WebKit::WebProcessProxy::~WebProcessProxy() + 17
9   com.apple.WebKit2             	0x000000010a2e7567 WTF::Vector<WTF::RefPtr<WebKit::WebProcessProxy>, 0ul>::remove(unsigned long) + 41
10  com.apple.WebKit2             	0x000000010a26d1dc WebKit::WebProcessProxy::disconnect() + 326

<rdar://problem/12157689>
Comment 1 Alexey Proskuryakov 2012-08-24 20:51:33 PDT
Created attachment 160551 [details]
proposed fix
Comment 2 WebKit Review Bot 2012-08-24 21:54:47 PDT
Comment on attachment 160551 [details]
proposed fix

Clearing flags on attachment: 160551

Committed r126679: <http://trac.webkit.org/changeset/126679>
Comment 3 WebKit Review Bot 2012-08-24 21:54:50 PDT
All reviewed patches have been landed.  Closing bug.