New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 631304 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 629593
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Traditional Chinese Pinyin & Zhuyin IMEs do not work

Project Member Reported by djkurtz@chromium.org, Jul 26 2016

Issue description

Chrome Version: 54.0.2806.0
Chrome OS Version: 8631.0.0
Chrome OS Platform: veyron_minnie

Steps To Reproduce:
(1) Enable language "Traditional Chinese"
(2) Enable Zhuyin input method
(3) Type in omnibox

Expected Result:
Zhuyin character selection box pops up.

Actual Result:

Nothing.  Can't even type "Ctrl+Space" to return to English IME.

How frequently does this problem reproduce? (Always, sometimes, hard to
reproduce?)

Always.  Not veyron_minnie specific.

What is the impact to the user, and is there a workaround? If so, what is
it?

Cannot use Zhuyin IME.

Please provide any additional information below. Attach a screen shot or
log if possible.


 
Zhuyin still works on current R52 beta (52.0.2743.85 / 8350.60.0)
8539.29.0 / 53.0.2785.27 works.
Chrome OS bisect:
8562.0.0 / 54.0.2790.0 - fail
8561.0.0 / 54.0.2787.0 - ok

https://chromium.googlesource.com/chromium/src/+log/54.0.2787.0..54.0.2790.0?pretty=fuller&n=10000

429 patches
Cc: steve...@chromium.org hashimoto@chromium.org chirantan@chromium.org vapier@chromium.org ihf@chromium.org
Summary: Traditional Chinese Pinyin & Zhuyin IMEs do not work (was: Traditional Chinese Zhuyin IME does not work)
The problem is more strange than a pure chrome regression.
Using prebuilt 8562.0.0 / 54.0.2790.0 - fail
-> deploy simple-chrome built 54.0.2787.0 -> ok
-> deploy simple-chrome built 54.0.2790.0 -> fail

So, it seems like the issue is in the prebuilt 54.0.2790.0, but I cannot reproduce with default simple-chrome (gn) steps.

I highly suspect this is related to how gn is interacting with chromeos-chrome.

The patch to convert chromeos-chrome to gn was:
https://chromium-review.googlesource.com/#/c/358101/

It landed on Jul 6, in 8554.0.0.

The last USE="-gn" build of chromeos-chrome was 54.0.2787.0
The first USE="gn" build of chromeos-chrome is... 8562.0.0 / 54.0.2790.0 - the first one where the IMEs fail.

I suspected it could be related to  issue chromium:628432  "User cannot login b/c Google API keys missing".
 Issue 628432  was fixed by CL:361001 in 8594.0.0, so the first chromeos-chrome with the fix is probably 8598.0.0 / 54.0.2798.0.

However, as noted in the initial post, this IME issue still exists on 8631.0.0 / 54.0.02806.0.
Cc: shuchen@chromium.org
Labels: Proj-GN-Migration
Owner: wuyingbing@chromium.org
Status: Assigned (was: Available)
In chat, wuyingbing state that he could not reproduce on 54.0.2790.0 using clapper (or pixel 1?).

I also can't reproduce using 8616.0.0 / 54.0.2800.2 on chell.

So, perhaps this is related to ARM vs. Intel devices.
54.0.2787.0 is built on 07-07 18:06 (OK)
54.0.2790.0 is built on 07-08 02:06 (Fail)

Between the time slot, we didn't do any update.
And according to djkurtz@chromium.org talk.

Nacl binary crash on arm Arch.

So I confirm it's not inputtools issue.


Owner: brucedaw...@chromium.org
Just did a quick scan for the bisected cl range, found this CL is suspicious:
https://codereview.chromium.org/2128743002

brucedawson@, can you please help to confirm whether the cl can be the cause of this regression? Thanks!

@shuchen - it is unlikely to be any specific Chromium commit.
For comment #4, I had actually tried deploying simple-chrome w/ gn build 54.0.2787.0 and 54.0.2790.0, and ime's worked with both versions.

The version that failed was the prebuilt 54.0.2790.0, which was built with USE="gn" chromeos-chrome ebuild.
In the failure case, chrome://inspect -> Extensions -> __MSG_chos_inputtool_title__ -> Console
shows "NativeClient: Nexe crashed during startup" as in the attached screenshot.
chrome_inspect_zhuyin_ime.png
41.8 KB View Download
According to 

<dt><strong>NativeClient: NaCl module load failed: Nexe crashed during startup</strong></dt>
<dd>This error message indicates that a module crashed while being loaded. You
can determine which module crashed by looking at the Network tab in Chrome&#8217;s
Developer Tools (see above). The module that crashed will be the last one
that was loaded.</dd>

The Nexe that is crashing is:

Name: nacl_module.nmf
Initiator: chos_privatebackground-debug.js:2355


Comment 13 Deleted

I was curious why the chromeos-chrome I emerged worked, but the prebuilt did not.

It turns out the builder actually uses one more flag: "afdo_use"
Sure enough, if I build like this manually, the inputtool extension fails to load its NaCl 

USE="chrome_internal" emerge-elm chromeos-chrome          <=  This one works
USE="afdo_use chrome_internal" emerge-elm chromeos-chrome <=  This one fails!
Owner: llozano@chromium.org
Luis, any ideas?
I think this is a duplicte of https://bugs.chromium.org/p/chromium/issues/detail?id=629593.
It is related to the GN migration and somethings that should not be built with AFDO.
I am working on it. 
Mergedinto: 629593
Status: Duplicate (was: Assigned)
Using chromeos-chrome as a guide, I manually configured simple chrome to build with afdo enabled:

(1) Enter simple chrome sdk
cros chrome-sdk --board=elm --chroot=~/chromeos/chroot/ --internal

(2) Checkout 54.0.2809.0
cd src
git checkout 54.0.2809.0

(3) Download and extract afdo data using gsutil:
gsutil cp gs://chromeos-prebuilt/afdo-job/canonicals/chromeos-chrome-amd64-54.0.2808.0_rc-r1.afdo.bz2 .
bunzip2 chromeos-chrome-amd64-54.0.2808.0_rc-r1.afdo.bz2

(4) Configure gn to use afdo data:

$ gn args out_$SDK_BOARD/Release

# Change these lines:

cros_target_extra_cflags = "-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -gsplit-dwarf -Wno-error -fauto-profile=/usr/local/google/home/djkurtz/chromium/src/chromeos-chrome-amd64-54.0.2808.0_rc-r1.afdo"

use_goma = false

cros_target_extra_cxxflags = "-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_vector=1 -gsplit-dwarf -Wno-error -fauto-profile=/usr/local/google/home/djkurtz/chromium/src/chromeos-chrome-amd64-54.0.2808.0_rc-r1.afdo"



Note: I had to do "use_goma = false" because the goma builds would always fail to find my local .afdo file.

Following these steps, my self-built chrome fails "NativeClient: Nexe crashed during startup" as expected.
After #18, I then rebuilt *just* nacl_helper without afdo, and re-deployed to the device:

(4) Configure gn to use afdo data:

$ gn args out_$SDK_BOARD/Release

# Change these lines:
cros_target_extra_cflags = "-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -gsplit-dwarf"
use_goma = true
cros_target_extra_cxxflags = "-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_vector=1 -gsplit-dwarf"

ninja -C out_${SDK_BOARD}/Release -j500 nacl_helper
deploy_chrome --build-dir=out_${SDK_BOARD}/Release --to=${IP}


=> And now the Zhuyin IME works!
That's great news!

Sign in to add a comment