New issue
Advanced search Search tips

Issue 681613 link

Starred by 2 users

Issue metadata

Status: Fixed
Merged: issue 625089
Owner:
Closed: Jan 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

java.lang.UnsatisfiedLinkError: No implementation found for void org.chromium.ui.gfx.DeviceDisplayInfo.nativeUpdateSharedDeviceDisplayInfo

Reported by huape...@amazon.com, Jan 16 2017

Issue description

Chrome Version       : 55+  (latest master)
URLs (if applicable) :
Other browsers tested:
  Add OK or FAIL, along with the version, after other browsers where you
have tested this issue:
     Safari: Not test
    Firefox: Not test
         IE: Not test

What steps will reproduce the problem?
We believe the browser is changing orientation while the browser is starting up, but the native lib is not ready yet.

What is the expected result?
no crash

What happens instead?

Full stack trace:
java.lang.UnsatisfiedLinkError: No implementation found for void org.chromium.ui.gfx.DeviceDisplayInfo.nativeUpdateSharedDeviceDisplayInfo(int, int, int, int, int, int, double, int, int) (tried Java_org_chromium_ui_gfx_DeviceDisplayInfo_nativeUpdateSharedDeviceDisplayInfo and Java_org_chromium_ui_gfx_DeviceDisplayInfo_nativeUpdateSharedDeviceDisplayInfo__IIIIIIDII)
at org.chromium.ui.gfx.DeviceDisplayInfo.nativeUpdateSharedDeviceDisplayInfo(Native Method)
at org.chromium.ui.gfx.DeviceDisplayInfo.updateNativeSharedDisplayInfo(DeviceDisplayInfo.java:191)
at org.chromium.ui.display.DisplayAndroidManager.access$200(DisplayAndroidManager.java:2205)
at org.chromium.ui.display.DisplayAndroidManager$DisplayListenerBackendImpl.onDisplayChanged(DisplayAndroidManager.java:166)
at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.handleMessage(DisplayManagerGlobal.java:476)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5466)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:984)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)


Please provide any additional information below. Attach a screenshot if
possible.

On V55(similar call stack on latest master), the instance DisplayAndroidManager can be created in ChromeActivity.preInflationStartup().

ChromeActivity.preInflationStartup() -> 
ChromeWindow(ChromeActivity activity) -> 
ActivityWindowAndroid(Context context) -> 
ActivityWindowAndroid(Context context, boolean listenToActivityState) ->
DisplayAndroid.get(context)

ChromeActivity.preinflationStartup() eventually calls DisplayAndroid.get(), which leads to DisplayListenerBackendImpl getting constructed, and immediately setups for listening event(native library is not ready yet). 
 

Comment 1 by ajha@chromium.org, Jan 17 2017

Labels: OS-Android

Comment 2 by kra...@amazon.com, Jan 17 2017

I believe this should be fixed by this commit:
https://chromium.googlesource.com/chromium/src/+/21c5afa38918f95dd79a171a9d9d16c85ae4e9eb

From what I can tell, the crashing code path no longer goes into native code.
(Correct me if I'm wrong)

Comment 3 by rbyers@chromium.org, Jan 18 2017

Cc: boliu@chromium.org
Mergedinto: 625089
Status: Duplicate (was: Unconfirmed)

Comment 4 by boliu@chromium.org, Jan 18 2017

Labels: M-56
Owner: boliu@chromium.org
Status: Assigned (was: Duplicate)
wait.. that's still an issue in m56 though

Comment 5 by boliu@chromium.org, Jan 18 2017

Labels: -Pri-3 Pri-1
fwiw, this is browser crash #767 in chrome m55

fix isn't that hard: https://codereview.chromium.org/2646573002/

Comment 6 by boliu@chromium.org, Jan 18 2017

Labels: Merge-Request-56
Request merging https://codereview.chromium.org/2646573002/
Project Member

Comment 7 by sheriffbot@chromium.org, Jan 18 2017

Labels: -Merge-Request-56 Merge-Review-56 Hotlist-Merge-Review
This bug requires manual review: We are only 12 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), gkihumba@(cros), bustamante@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-56 Merge-Approved-56
Merge approved for M56 branch 2924.
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 19 2017

Labels: -merge-approved-56 merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0ad513dc3af6c42bb44a4626f5031d2d89c66ca

commit c0ad513dc3af6c42bb44a4626f5031d2d89c66ca
Author: Bo Liu <boliu@chromium.org>
Date: Thu Jan 19 00:37:25 2017

[M56 fork] Fix DeviceDisplayInfo UnsatisfiedLinkError

There's a non-trivial window of time during start up, after display
listener is registered, but before native library is loaded. This crash
happens if the user rotates the device in this window.

Note DeviceDisplayInfo is deleted in M57 already, so M57 is not
affected.

BUG= 681613 
R=tedchoc@chromium.org

Review-Url: https://codereview.chromium.org/2646573002 .
Cr-Commit-Position: refs/branch-heads/2924@{#798}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/c0ad513dc3af6c42bb44a4626f5031d2d89c66ca/ui/android/java/src/org/chromium/ui/display/DisplayAndroidManager.java

Comment 10 by boliu@chromium.org, Jan 19 2017

Status: Fixed (was: Assigned)

Comment 11 by boliu@chromium.org, Jan 19 2017

> fwiw, this is browser crash #767 in chrome m55

Err, also I just learned that ranking isn't accurate. Number of crash reports for this particular crash is a gross underestimate, so the real ranking could be much higher.
Dear Chrome team, kindly pinging.

And I've found out another crash issue on v60.0.3112.107 and it's reported with I share the crash id 9a35302e982ddd1d.

Sign in to add a comment