New issue
Advanced search Search tips

Issue 901646 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 28
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

NaCl plugin crashes on first gamepad button press

Reported by aicomman...@gmail.com, Nov 4

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

Steps to reproduce the problem:
1. Build and install the NaCl gamepad example distributed in the NaCl SDK in %NACL_SDK_ROOT%\examples\api\gamepad (or simply install my attached copy which is precompiled)
2. Plug in a gamepad. I used a wired Xbox 360 gamepad.
3. Run the gamepad example.
4. Press a button on the gamepad

What is the expected behavior?
The gamepad input should be reflected in the gamepad window.

What went wrong?
The NaCl plugin status text changes to CRASHED and the app is unresponsive.

Did this work before? Yes I don't know the exact version, but the report date suggests Chrome 68 or 69 is to blame

Does this work in other browsers? N/A

Chrome version: 70.0.3538.77  Channel: stable
OS Version: 10.0
Flash Version: 

The first report of this from my users was on August 30th. This problem appears to affected at least Windows and ChromeOS.

https://github.com/moonlight-stream/moonlight-chrome/issues/492
 
gamepad.zip
1.0 MB Download
Labels: Needs-Bisect Needs-Triage-M70
Labels: Triaged-ET TE-NeedsTriageFromHYD
The issue needs to be tested by using a gamepad and ET-team doesn't have a gamepad to test the issue. Hence, forwarding the issue to inhouse team for further triaging.

Thanks...!!
Cc: pnangunoori@chromium.org
Labels: -Needs-Bisect -TE-NeedsTriageFromHYD hasbisect-per-revision RegressedIn-69 Target-70 Target-71 Target-72 FoundIn-72 M-72 M-71 M-70 FoundIn-71 FoundIn-70
Owner: alexilin@chromium.org
Status: Assigned (was: Unconfirmed)
Tested on latest Stable #70.0.3538.77 and Canary #72.0.3602.0 on Debian Rodete, Windows 10 and Mac 10.13.6 and was able to reproduce the issue mentioned. 

Using the per-revision bisect providing the bisect results,
Good build: 69.0.3496.0
Bad build: 69.0.3497.0

You are probably looking for a change made after 576621 (known good), but no later than 576622 (first known bad).
CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
https://chromium.googlesource.com/chromium/src/+log/22179d3943015494b82b0e462f34e5007a0b7857..1ce671509c922ab463f3c2c9aff736745ade2850

From the CL above, assigning the issue to the owner concerned 

@alexilin: Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to concern owner.

Review-URL: https://chromium-review.googlesource.com/1142161

Sample Crash ID: 2458340f4b5b2074

Thanks!
901646.PNG
14.9 KB View Download
Labels: OS-Linux OS-Mac
Issue is also observed on Sony Wireless Controller as well (Tested on Model CUH-ZCT1E)
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 28

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

commit b76c606d8656f4373ac8591d6300a93ffc384154
Author: Alexandr Ilin <alexilin@chromium.org>
Date: Wed Nov 28 10:27:12 2018

Remove the PlatformSharedMemoryRegion permissions check on NaCl

To perform the permissions check on NaCl, we mmap() a shared memory region as
writable and check the return value to know if map failed. It's expected that
the call would fail if the region has read-only permissions.

Unfortunately, NaCl doesn't handle failure cases gracefully and crashes
instead of returning error value [1], [2].

This means, that an attempt to check permissions on a read-only shared memory
region always leads to a crash. This CL removes the check altogether to allow
the NaCl processes to use read-only shared memory.

[1] Posix: https://cs.chromium.org/chromium/src/native_client/src/trusted/service_runtime/sys_memory.c?rcl=f701a90597fc85979319447c0cd44c3b52201c78&l=868
[2] Win: https://cs.chromium.org/chromium/src/native_client/src/shared/imc/win/nacl_shm.cc?rcl=f701a90597fc85979319447c0cd44c3b52201c78&l=112

Bug:  901646 
Change-Id: I1f0cee4f7edae0390701320f5061470d62240186
Reviewed-on: https://chromium-review.googlesource.com/c/1352312
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Alexandr Ilin <alexilin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611630}
[modify] https://crrev.com/b76c606d8656f4373ac8591d6300a93ffc384154/base/memory/platform_shared_memory_region_posix.cc

Status: Fixed (was: Assigned)
The issue should be fixed in Chrome M72 and it should be included in the next Canary release.

It seems to be late for merging the fix into M71, since we've already passed the stable cut.
Labels: TE-Verified-M72 TE-Verified-72.0.3625.0
Tested on latest Canary #72.0.3625.0 and issue doesn't seems to be reproduced on Windows 10, Mac and Debian Rodete. Hence marking the issue with TE-Verified labels.

Thanks!

Sign in to add a comment