Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Huawei startup crash: java.lang.UnsatisfiedLinkError: No implementation found for boolean org.mozilla.gecko.SurfaceViewWrapper.isSurfaceAbandoned(android.view.Surface) #28297

Closed
good2see opened this issue Dec 23, 2022 · 12 comments
Assignees
Labels
needs:triage Issue needs triage

Comments

@good2see
Copy link

good2see commented Dec 23, 2022

229d4b80-6c3b-428c-8cbd-69a14bbe3fff

java.lang.UnsatisfiedLinkError: No implementation found for boolean org.mozilla.gecko.SurfaceViewWrapper.isSurfaceAbandoned(android.view.Surface) (tried Java_org_mozilla_gecko_SurfaceViewWrapper_isSurfaceAbandoned and Java_org_mozilla_gecko_SurfaceViewWrapper_isSurfaceAbandoned__Landroid_view_Surface_2)

java.lang.UnsatisfiedLinkError: No implementation found for boolean org.mozilla.gecko.SurfaceViewWrapper.isSurfaceAbandoned(android.view.Surface) (tried Java_org_mozilla_gecko_SurfaceViewWrapper_isSurfaceAbandoned and Java_org_mozilla_gecko_SurfaceViewWrapper_isSurfaceAbandoned__Landroid_view_Surface_2)
	at org.mozilla.gecko.SurfaceViewWrapper.isSurfaceAbandoned(Native Method)
	at org.mozilla.geckoview.GeckoView$Display.acquire(GeckoView.java:10)
	at org.mozilla.geckoview.GeckoView.setSession(GeckoView.java:10)
	at mozilla.components.browser.engine.gecko.GeckoEngineView.render(GeckoEngineView.kt:9)
	at mozilla.components.feature.session.engine.EngineViewPresenter$start$1$3.emit(EngineViewPresenter.kt:16)
	at mozilla.components.support.ktx.kotlinx.coroutines.flow.FlowKt$ifAnyChanged$$inlined$filter$1$2.emit(Emitters.kt:19)
	at mozilla.components.feature.session.engine.EngineViewPresenter$start$1$invokeSuspend$$inlined$map$1$2.emit(Emitters.kt:7)
	at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:14)
	at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Channels.kt:1)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:4)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
	at android.os.Handler.handleCallback(Handler.java:900)
	at android.os.Handler.dispatchMessage(Handler.java:103)
	at android.os.Looper.loop(Looper.java:219)
	at android.app.ActivityThread.main(ActivityThread.java:8668)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@df847ac, Dispatchers.Main]

┆Issue is synchronized with this Jira Task

@good2see
Copy link
Author

Huawei P30 Android 12

@github-actions github-actions bot added the needs:triage Issue needs triage label Dec 23, 2022
@Mugurell
Copy link
Contributor

Thank you for the report!
Just to confirm, this is happening on today's Nightly? (cannot access the crash report, it may not have been sent to Mozilla)
We're investigating a recent crash that seems to be specific to some (but not all) Huawei devices.

@sv-calin
Copy link

I haven't used my tablet in days, after updating my Nightly it keept crashing.

tablet.Nightly.mp4

Tested on:
• Browser / Version: Firefox Nightly (updated on 12/23/2022)
• Operating System: Huawei MediaPad T5 (Android 8) - 1920 x 1200 pixels, 16:10 ratio (~224 ppi density)

Note:
• Logo and placeholder missing from the Nightly widget

image

@Mugurell
Copy link
Contributor

Thanks to @amocirean and @SoftVision-LorandJanos we saw that this startup crash affects only some (but not all) Huawei devices and there is no correlation with device form or Android version.

@Mugurell
Copy link
Contributor

@good2see Can you try reproducing again an in the crash reporter dialog tap to send the report to Mozilla?

@Balachandarsmr
Copy link

Nighty is always crashing on MI A2 android 8.1

@cpeterso
Copy link

@Mugurell says this crash is reproducible in Fenix, but not GeckoViewExample.

@rvandermeulen says this is the pushlog for the crashing GeckoView: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=dd4482632694e2bc4e64e4651210e1c1815285a2&tochange=27a62fceb6f41ff6e7c6de2f8e4ac0ae8792a39d

@cpeterso
Copy link

A crash with same stack trace was caused in 103 by https://bugzilla.mozilla.org/show_bug.cgi?id=1772839 and fixed in Fenix 104 by https://bugzilla.mozilla.org/show_bug.cgi?id=1783244.

@cpeterso
Copy link

QA is able to reproduce the crash in Fenix and the AC Sample Browser, but not in Focus or GVE. I'm trying to find an Android engineer to manually bisect the regression range. Christian suspects this is a Glean megazord issue.

@cpeterso cpeterso changed the title 229d4b80-6c3b-428c-8cbd-69a14bbe3fff Huawei startup crash: java.lang.UnsatisfiedLinkError: No implementation found for boolean org.mozilla.gecko.SurfaceViewWrapper.isSurfaceAbandoned(android.view.Surface) Dec 27, 2022
@csadilek
Copy link
Contributor

@good2see thanks for filing! Which version of Firefox for Android are you using? The stack trace you shared points to a problem that was fixed in 104.

For everyone else experiencing this, it would be super helpful if you could capture logs and share them here: https://github.com/mozilla-mobile/fenix/wiki/Logging-Crash-Information#using-adb-logcat-to-get-crash-information

@csadilek
Copy link
Contributor

csadilek commented Dec 27, 2022

Christian suspects this is a Glean megazord issue.

The Megazord is just a first suspicion based on the many Rust crate updates in the pushlog and the fact that this doesn't reproduce in Focus. If Focus, we don't call Megazord.init() on startup.

And Glean is interesting because of the logs in #28310.

@cpeterso
Copy link

Moved to bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1807716

Change performed by the Move to Bugzilla add-on.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs:triage Issue needs triage
Projects
None yet
Development

No branches or pull requests

7 participants