New issue
Advanced search Search tips

Issue 854926 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression: Improper ghost text is seen on 'Send Feedback' overlay after killing tab.

Reported by db...@etouch.net, Jun 21 2018

Issue description

Chrome Version: 69.0.3466.0 Revision 7a22a4a62948746c970b84f31b1f78cd2cb3a1c2-refs/branch-heads/3466@{#1}(64 bit)
OS: Mac(10.12.6 , 10.13.1 , 10.13.6)

What steps will reproduce the problem?
(1) Launch chrome, open two NTP, type chrome://kill in one tab.
(2) Open second tab and click on 'Send Feedback' and observe ghost text on overlay.

Actual: Improper ghost text is seen on 'Send Feedback' overlay.

Expected: 'Tab is killed' ghost text msg should seen on 'Send Feedback' overlay.

This is a regression issue, broken in 'M66', below is bisect info:

ChangeLog info:
https://chromium.googlesource.com/chromium/src/+log/66.0.3343.0..66.0.3344.0?pretty=fuller&n=10000

Suspect: r535446 ?

@mcnee: Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Note:
1.Unable to narrow down range using bisect per revision and narrow bisect as send feedback overlay doesnot open in chromium build hence providing suspect from change log URL.
2. Issue is not seen on Windows(7,8,8.1,10) and Linux(14.04 LTS)
3. Issue is also seen on Stable build #67.0.3396.87 and Beta build #68.0.3440.33
 
Actual_msg.mov
4.5 MB View Download
Expected_Msg.mov
2.0 MB View Download

Comment 1 by db...@etouch.net, Jun 21 2018

Good Build: 66.0.3343.0(Revision: 535277)
Bad Build: 66.0.3344.0(Revision: 535592)

Comment 2 by mcnee@chromium.org, Jun 21 2018

Cc: ellyjo...@chromium.org mcnee@chromium.org
Owner: afakhry@chromium.org
My change was only temporarily disabling a DCHECK and was reverted in https://chromium-review.googlesource.com/c/chromium/src/+/911708 so I don't think it's related.

If I understand the bug correctly, the placeholder text should distinguish between crashes and kills, but it's not.

From git blame, it looks like afakhry@ has done some work related to feedback strings and can hopefully triage further.
Labels: OS-Chrome
Status: Started (was: Assigned)
This is also seen on ChromeOS.
Cc: jochen@chromium.org afakhry@chromium.org
Owner: w...@chromium.org
Status: Assigned (was: Started)
This is the culprit CL: https://chromium-review.googlesource.com/c/chromium/src/+/907675

wez@ please take a look.

Comment 5 by w...@chromium.org, Jun 26 2018

Status: Started (was: Assigned)
Thanks afakhry@

IIUC the issue is that the RenderFrameImpl call to base::Process::Terminate() was relying on two not-explicitly-documented properties:
1. On Windows, an exit-code of 1 is conventionally as "process killed" - I didn't change the exit code, so that property was preserved.
2. On POSIX, base::ProcessTerminate() first attempts to SIGTERM the process, which is what we look for to determine that the tab was killed, rather than crashing or (ab)normal termination.

So I plan to amend the chrome://kill implementation to:
(1) Explicitly self-terminate using base::win::kProcessKilledExitCode on Windows.
(2) Explicitly kill(SIGTERM) on POSIX.
(3) Fall-back to TerminateCurrentProcessImmediately on all other configurations (as is currently the case).

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 27 2018

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

commit b63f00de4179518540f06dacb6108d7e21091e45
Author: Wez <wez@chromium.org>
Date: Wed Jun 27 16:46:36 2018

Fix chrome://kill debug URL to simulate process kills correctly.

The implementation of this debug URL was changed in
https://chromium-review.googlesource.com/c/chromium/src/+/907675 to one
which _exit()s the process under POSIX, rather than self-terminating via
kill().  Since we detect process kills (versus self-termination, crashes
etc) by checking for SIGTERM, this broke chrome://kill.

Fix chrome://kill by explicitly kill()ing the process, and structure the
implementation to make clear that we need to simulate termination by a
peer process, specifically.

Bug: 806451,  854926 
Change-Id: I0408dd1d248e04b3045f37d46051c220b33ab081
Reviewed-on: https://chromium-review.googlesource.com/1116076
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570801}
[modify] https://crrev.com/b63f00de4179518540f06dacb6108d7e21091e45/content/renderer/render_frame_impl.cc

Comment 7 by w...@chromium.org, Jun 28 2018

Status: Fixed (was: Started)

Comment 8 by db...@etouch.net, Jun 28 2018

Labels: TE-Verified-M69 TE-Verified-69.0.3475.0
Update:-
 Re-tested this issue on Mac(10.12.6 , 10.13.1 , 10.13.6) using latest Chrome latest Canary build# 69.0.3475.0 and fix is working as intended. 

Please find the attached screen-cast for reference.

Thank you.
Fix_Issue.mov
3.5 MB View Download

Sign in to add a comment