WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 119620
[Curl] Crash when starting second download.
https://bugs.webkit.org/show_bug.cgi?id=119620
Summary
[Curl] Crash when starting second download.
peavo
Reported
2013-08-09 05:10:31 PDT
When I start a second download, I sometimes get a crash in Curl. This happens because the Curl easy handle is deleted and removed from the Curl multi handle twice. The first delete happens when the download thread has finished downloading, and the second happens when the WebDownload object is deleted, and calls the cancel method. The Curl handle is then put in a delete queue, which is processed by the download thread the next time it starts. This is the reason the crash happens when the second download is started.
Attachments
Patch
(5.11 KB, patch)
2013-08-09 05:30 PDT
,
peavo
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
peavo
Comment 1
2013-08-09 05:30:57 PDT
Created
attachment 208419
[details]
Patch
Brent Fulgham
Comment 2
2013-08-12 09:20:42 PDT
Comment on
attachment 208419
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=208419&action=review
r=me
> Source/WebCore/platform/network/curl/CurlDownload.cpp:133 > + if (addToCurl(m_pendingHandleList[0]))
I know you only moved this code, but glancing at it I am concerned by this loop. It seems like we could get stuck here if the 'addToCurl' keeps failing for the 0th entry in the pending handle list. Could you look over addToCurl at some point and see if this might be an issue?
WebKit Commit Bot
Comment 3
2013-08-12 09:34:54 PDT
Comment on
attachment 208419
[details]
Patch Clearing flags on attachment: 208419 Committed
r153944
: <
http://trac.webkit.org/changeset/153944
>
WebKit Commit Bot
Comment 4
2013-08-12 09:34:55 PDT
All reviewed patches have been landed. Closing bug.
peavo
Comment 5
2013-08-12 10:28:06 PDT
(In reply to
comment #2
)
> (From update of
attachment 208419
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=208419&action=review
> > r=me >
Thanks for reviewing, now I can download several files without crashing ;)
> > Source/WebCore/platform/network/curl/CurlDownload.cpp:133 > > + if (addToCurl(m_pendingHandleList[0])) > > I know you only moved this code, but glancing at it I am concerned by this loop. It seems like we could get stuck here if the 'addToCurl' keeps failing for the 0th entry in the pending handle list. Could you look over addToCurl at some point and see if this might be an issue?
Good point, will have a look.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug