New issue
Advanced search Search tips

Issue 668827 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Dec 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Crash in test_runner::TextInputController::SetComposition

Project Member Reported by ClusterFuzz, Nov 26 2016

Issue description

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=4990778985414656

Fuzzer: mbarbella_js_mutation_layout
Job Type: linux_asan_content_shell_drt
Platform Id: linux

Crash Type: UNKNOWN READ
Crash Address: 0x000000000000
Crash State:
  test_runner::TextInputController::SetComposition
  gin::internal::Dispatcher<void
  v8::internal::FunctionCallbackArguments::Call
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_content_shell_drt&range=431241:431480

Minimized Testcase (0.14 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv94Pze02u1guQeeIAp5EtHVDR9qry4YzkT9mr6nmqJO2lwWNPDBbD-8FkCBMneLcoG8NnDaDeh_EIl_Ir_UFeaIB3YUUsSIWWZajFBX8kELp-X1p9VQugrR23G8NJazfdnP1lTSZ7Z0fw5LWADz5e45QGwspCw?testcase_id=4990778985414656
<script>
    testRunner.setCanOpenWindows();
__v_0 = window.open();
__v_0.focus();
  textInputController.setComposition("world");
  </script>


Issue filed automatically.

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

Comment 1 by ajha@chromium.org, Nov 27 2016

Labels: M-57
Cc: msramek@chromium.org
Labels: Test-Predator-Correct-CLs
Owner: ekaramad@chromium.org
Status: Assigned (was: Untriaged)
From Find it, assigning to the concern owner, below is the find it results --
The result is a list of CLs that change the crashed files. 

Author: ekaramad
Project: chromium
Changelist: https://chromium.googlesource.com/chromium/src/+/2daaf676340283726a05cb1b387a9ff328e020e8
Time: Thu Nov 10 20:29:01 2016
Lines 305, 310-314, 319-327 of file text_input_controller.cc which potentially caused crash are changed in this cl (frame #0, "test_runner::TextInputController::SetComposition").
Minimum distance from crash line to modified line: 0. (file: text_input_controller.cc, crashed on: 305, modified: 305).

@ekaramad -- Could you please look into the issue, kindly re-assign if this is not related to your changes.
Thank You.
Status: Started (was: Assigned)
Sure. I will take a look. Thanks!
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 2 2016

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

commit c75b1b3b3a1cf1e3825ea14bc0536cf96f36bd19
Author: ekaramad <ekaramad@chromium.org>
Date: Fri Dec 02 03:57:52 2016

Consider TextInputController::inputMethodController() could be nullptr.

The assumption that, while in layout tests, WebFrameWidget::getActiveWebInputMethodController()
always returns a (non-null) pointer is incorrect. For example, if the WebViewImpl loses focus, then the bit m_imeAcceptEvents is set to false which will stop WebViewImpl from processing any IME events.

Alternatively, if there are no focused frames within the local root
associated with WebViewImpl (i.e., focusedFrame() is null) then again there
will be no focused frames for IME and conequently, no
WebInputMethodControllers.

This patch will first rename
TextInputController()::inputMethodController() to
GetInputMethodController() and then makes sure all the references to the
method are taking potential nullptr-ness of the result into account.

BUG= 668827 

Review-Url: https://codereview.chromium.org/2535303004
Cr-Commit-Position: refs/heads/master@{#435848}

[modify] https://crrev.com/c75b1b3b3a1cf1e3825ea14bc0536cf96f36bd19/components/test_runner/text_input_controller.cc
[modify] https://crrev.com/c75b1b3b3a1cf1e3825ea14bc0536cf96f36bd19/components/test_runner/text_input_controller.h

Labels: M56
The CL which caused this is in M56. Do we need to merge to M56?

Labels: -M56 M-56
Project Member

Comment 7 by ClusterFuzz, Dec 3 2016

ClusterFuzz has detected this issue as fixed in range 435840:435881.

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=4990778985414656

Fuzzer: mbarbella_js_mutation_layout
Job Type: linux_asan_content_shell_drt
Platform Id: linux

Crash Type: UNKNOWN READ
Crash Address: 0x000000000000
Crash State:
  test_runner::TextInputController::SetComposition
  gin::internal::Dispatcher<void
  v8::internal::FunctionCallbackArguments::Call
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_content_shell_drt&range=431241:431480
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_content_shell_drt&range=435840:435881

Minimized Testcase (0.14 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv94Pze02u1guQeeIAp5EtHVDR9qry4YzkT9mr6nmqJO2lwWNPDBbD-8FkCBMneLcoG8NnDaDeh_EIl_Ir_UFeaIB3YUUsSIWWZajFBX8kELp-X1p9VQugrR23G8NJazfdnP1lTSZ7Z0fw5LWADz5e45QGwspCw?testcase_id=4990778985414656
<script>
    testRunner.setCanOpenWindows();
__v_0 = window.open();
__v_0.focus();
  textInputController.setComposition("world");
  </script>


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs 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 8 by ClusterFuzz, Dec 3 2016

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

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

Sign in to add a comment