New issue
Advanced search Search tips

Issue 860208 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jul 13
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Null-dereference READ in blink::ProgressTracker::IncrementProgress

Project Member Reported by ClusterFuzz, Jul 4

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=5822752414760960

Fuzzer: inferno_layout_test_fuzzer
Job Type: linux_asan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000028
Crash State:
  blink::ProgressTracker::IncrementProgress
  blink::FrameFetchContext::DispatchDidReceiveResponse
  blink::ResourceLoader::DidReceiveResponse
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_mp&range=565694:565696

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5822752414760960

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jul 4

Components: Blink>Loader
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Jul 4

Labels: Test-Predator-Auto-Owner
Owner: dgozman@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/04bf4e5278a018769dbe776cbe722d6b5d102891 (FrameLoader: split start and commit code paths pt1).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd7f8b8a57712e9a2b2deb2a10282dea99bdb5eb

commit cd7f8b8a57712e9a2b2deb2a10282dea99bdb5eb
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Jul 12 19:06:57 2018

Restore some checks in FrameLoader::CommitNavigation

These were dropped when separating StartNavigation from
CommitNavigation. It's reasonable that we cannot be in StopAllLoaders
or similar unless there is a nested message loop.

See test for an example how print() triggers this stack:
...<message loop running here, dispatched CommitNavigation>...
IPC::SyncChannel::Send()
content::RenderThreadImpl::Send()
printing::PrintRenderFrameHelper::RequestPrintPreview()
content::RenderFrameImpl::ScriptedPrint()
blink::ChromeClientImpl::PrintDelegate()
blink::ChromeClient::Print()
blink::LocalDOMWindow::FinishedLoading()
blink::FrameLoader::DidFinishNavigation()
blink::Document::CheckCompleted()
blink::FrameLoader::DetachProvisionalDocumentLoader()
blink::DocumentLoader::StopLoading()
blink::DocumentLoader::DetachFromFrame()
blink::WebDocumentLoaderImpl::DetachFromFrame()
blink::FrameLoader::StopAllLoaders()
blink::LocalFrame::Detach()
blink::HTMLPlugInElement::DisconnectContentFrame()
blink::ChildFrameDisconnector::DisconnectCollectedFrameOwners()
blink::ContainerNode::WillRemoveChild()
blink::ContainerNode::RemoveChild()
...<JavaScript>...

Bug:  860208 ,  853487 , 862088
Change-Id: Ieb3f0330828f0a031a97d08cdc1ba7de8a3f0edc
Reviewed-on: https://chromium-review.googlesource.com/1130223
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574661}
[add] https://crrev.com/cd7f8b8a57712e9a2b2deb2a10282dea99bdb5eb/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing-expected.txt
[add] https://crrev.com/cd7f8b8a57712e9a2b2deb2a10282dea99bdb5eb/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing.html
[modify] https://crrev.com/cd7f8b8a57712e9a2b2deb2a10282dea99bdb5eb/third_party/blink/renderer/core/loader/frame_loader.cc

Project Member

Comment 4 by ClusterFuzz, Jul 13

ClusterFuzz has detected this issue as fixed in range 574659:574661.

Detailed report: https://clusterfuzz.com/testcase?key=5822752414760960

Fuzzer: inferno_layout_test_fuzzer
Job Type: linux_asan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000028
Crash State:
  blink::ProgressTracker::IncrementProgress
  blink::FrameFetchContext::DispatchDidReceiveResponse
  blink::ResourceLoader::DidReceiveResponse
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_mp&range=565694:565696
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_mp&range=574659:574661

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5822752414760960

See https://github.com/google/clusterfuzz-tools for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 5 by ClusterFuzz, Jul 13

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 5822752414760960 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment