dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.24k stars 1.76k forks source link

Maui-Blazor App With Android WebView 105.x Stops Responding #9882

Closed Thomr77 closed 2 years ago

Thomr77 commented 2 years ago

Description

On Android Devices (API 31) where the Android System WebView has been updated to 105.x, Maui-Blazor apps stop responding when interacting with them for a few seconds after launch.

Once interaction has stopped, some basic browser functionality is still available (e.g. scrolling the page or button state changes) but anything that involves JavaScript fails (callbacks etc).

Once the 105.x WebView is uninstalled the Maui-Blazor apps work correctly again.

We have just noticed this first on a Samsung SM-T870 tablet on Friday where the new WebView was installed but also later on other Android devices.

Update: We have also tried WebView 106 Beta which shows the same issue as 105.

Steps to Reproduce

  1. Create a new .Net Maui-Blazor App (the reproduction project repository contains a copy of this).
  2. Deploy it to a (real) Android device with API 31 and Android System WebView 105.x.
  3. Go to the 'Counter' page and keep clicking the 'Click me' button for some time - it usually fails between 50 and 120 clicks. Watch the Output for the message indicating it has failed (see log section).

Note: The failing point seems to be linked to how much JavaScript interaction there is - Apps that have more heavy usage will fail pretty much immediately post launch.

Link to public reproduction project repository

https://github.com/Thomr77/MauiBlazorWebView105

Version with bug

6.0.486 (current)

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

Android API 31 With Android System WebView 105.x and 106.x Beta.

Did you find any workaround?

None.

Relevant log output

Failing is linked to Output: [lazorwebview10] Explicit concurrent copying GC freed 31190(2115KB) AllocSpace objects, 0(0B) LOS objects, 64% free, 3380KB/9524KB, paused 21us,22us total 7.232ms

artyomszasa commented 2 years ago

We're having the same issue. Application "hungs" within seconds of usage.

It worth mentioning that installing 107.0.5271.2 version of WebView (DEV channel right now) seems to workaround (or fix?) the issue. On some devices installing 107.0.5271.2 makes the app usable for few minutes. Sadly last version our maui/blazor application does not lose its responsiveness is 104.0.5112.97 .

GarageGadget commented 2 years ago

Experiencing a similar problem since Friday across Android 9 & 11 and Android device manufacturers.

I have noticed the following log entries on my Samsung Galaxy A31 dev. device when pressing app buttons

[GPUAUX] [AUX]GuiExtAuxCheckAuxPath:630: Null anb [GPUAUX] [AUX]GuiExtAuxCheckAuxPath:630: Null anb [ViewRootImpl@eb638e6[MainActivity]] ViewPostIme pointer 1 [InputMethodManager] HSIFW - flag : 0 [.crashtestdumm] Explicit concurrent copying GC freed 5936(511KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3594KB/7189KB, paused 113us total 51.304ms [ViewRootImpl@eb638e6[MainActivity]] ViewPostIme pointer 0 [GPUAUX] [AUX]GuiExtAuxCheckAuxPath:630: Null anb [GPUAUX] [AUX]GuiExtAuxCheckAuxPath:630: Null anb [GPUAUX] [AUX]GuiExtAuxCheckAuxPath:630: Null anb [ViewRootImpl@eb638e6[MainActivity]] ViewPostIme pointer 1 [GPUAUX] [AUX]GuiExtAuxCheckAuxPath:630: Null anb [InputMethodManager] HSIFW - flag : 0

Hauwei P20 [HwSecImmHelper] mSecurityInputMethodService is null [] [ZeroHung]zrhung_get_config: Get config failed for wp[0x0008] [.crashtestdumm] Explicit concurrent copying GC freed 10480(452KB) AllocSpace objects, 0(0B) LOS objects, 81% free, 2MB/14MB, paused 156us total 32.105ms [ViewRootImpl] jank_removeInvalidNode all the node in jank list is out of time [HwSecImmHelper] mSecurityInputMethodService is null

I hope these logs help.

TanayParikh commented 2 years ago

@Eilon would a repro without Blazor be possible here so it can be investigated by the WebView folks?

TanayParikh commented 2 years ago

@Thomr77 @GarageGadget can you please confirm if this is on a published application or in development mode. This may be related to this StackOverflow post where hot reload was identified as a potential culprit of that error.

artyomszasa commented 2 years ago

In our case it is a published application ( https://play.google.com/store/apps/details?id=hu.healthwhatelse ).

We are receiving user feedbacks about the problem since 4th of september.

Switching to version 104.x of Android System WebView and restarting the application instantly fixes the issue. Yet it is impossible to force all our users to downgrade manually

The issue is also reproducible using the emulator (both Debug and Release modes) --> using 105+ version of the webview results in application stops responding after few page switches. And everything comes back to normal if the version of the webview is switched 104.x

GarageGadget commented 2 years ago

@TanayParikh the problem exists in Release and Debug configurations.

You can reproduce the problem by using the default .NET Maui Blazor template. Start the App on Android device. Navigate to Counter. Click the "Click me" button between 30 to 150 times. The app will become unresponsive.

Thomr77 commented 2 years ago

@TanayParikh - Cheers - We are experiencing this with published Apps and also Apps in development mode.

I am sorry to ask but we are in quite a bad spot now as users that are automatically upgraded to 105 WebView cannot run our products, we really cannot ask them to uninstall 105 - will this get priority?

arthastheking113 commented 2 years ago

I think I have the same issue you are having right now. I will give out the full logs I got below when running in my Samsung Physical Device.

This is a serious Prod Issue. My user is complaining too. Will this be a hotfix priority ?

I noitice that when running in 105. I received these log when tapping on the screen. If I run on 103, I don't see those logs.

[ViewRootImpl@4c75399[MainActivity]] ViewPostIme pointer 0
[ViewRootImpl@4c75399[MainActivity]] ViewPostIme pointer 1

Full Logs:


Forwarding debugger port 8896
Detecting existing process
> am start -a "android.intent.action.MAIN" -c "android.intent.category.LAUNCHER" -n "com.ygovietnam.ygovn/crc645540a8e46bacd11a.MainActivity"
> Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.ygovietnam.ygovn/crc645540a8e46bacd11a.MainActivity }
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/YGOVN2.Maui.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Mono.Android.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Runtime.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Java.Interop.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Collections.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Threading.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Runtime.InteropServices.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Threading.Thread.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Diagnostics.StackTrace.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Maui.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Memory.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.ComponentModel.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Reflection.Emit.Lightweight.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Reflection.Emit.ILGeneration.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Reflection.Primitives.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Runtime.CompilerServices.Unsafe.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Maui.Essentials.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Core.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.DependencyInjection.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Maui.Controls.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.ObjectModel.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Maui.Controls.Xaml.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/InterfaceService.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Net.Http.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Authentication.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/netstandard.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Components.Authorization.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Identity.Core.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Configuration.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Configuration.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Logging.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Components.WebView.Maui.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Majorsoft.Blazor.Components.CssEvents.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Majorsoft.Blazor.Components.Common.JsInterop.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Radzen.Blazor.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ReportedCardService.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShopService.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/LogOutService.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Http.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Http.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Blazor-Analytics.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Http.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Authentication.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Authorization.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Options.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Maui.Graphics.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Logging.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.AppCompat.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.Google.Android.Material.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.SwipeRefreshLayout.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.ComponentModel.TypeConverter.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Private.Uri.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Collections.Concurrent.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Linq.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Fragment.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Activity.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Lifecycle.ViewModel.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Lifecycle.Common.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.SavedState.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.DrawerLayout.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.CustomView.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Navigation.Runtime.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Net.Primitives.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Components.WebView.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.JSInterop.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Components.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Components.Web.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Text.Json.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/YGOVN2.Shared.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Authentication.Core.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.DataProtection.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.WebEncoders.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Text.RegularExpressions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Cryptography.Internal.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.DataProtection.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Hosting.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Xml.XDocument.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Private.Xml.Linq.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Text.Encodings.Web.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.DependencyInjection.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Diagnostics.Tracing.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Xml.ReaderWriter.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Private.Xml.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Text.Encoding.Extensions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Runtime.Loader.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Numerics.Vectors.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.FileProviders.Abstractions.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.RecyclerView.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.CardView.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Loader.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Maui.Controls.Compatibility.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.CoordinatorLayout.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.Primitives.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.FileProviders.Embedded.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.Extensions.FileProviders.Composite.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Lifecycle.LiveData.Core.dll [External]
Thread started:  #2
Thread started:  #3
Thread started:  #4
Thread started:  #5
Thread started:  #6
Thread started:  #7
Thread started:  #8
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Runtime.Intrinsics.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShareComponent.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Majorsoft.Blazor.Components.Modal.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/About.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountControlPanel.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountCreateDeck.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountDeck.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountDeckEdit.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountEmail.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountGuide.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountGuideDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountImage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountInformation.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountOrder.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountPassword.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountPost.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountPostDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountTournament.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountTournamentCreate.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountTournamentEdit.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountTournamentType.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountTournamentTypeCreate.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountTournamentTypeEdit.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/AccountVideo.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/BanList.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/BlogIndex.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/BlogList.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/BlogDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/BoxPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/BreakDown.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/CardArchetype.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/CardDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Cart.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/CharacterPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/CheckoutPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Contact.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/DeckDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Gameplay.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/GuidePage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Manage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageBlogCategory.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageBlogDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageBlogPost.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageBlogTag.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageBox.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageBoxType.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageCard.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageCharacter.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageCharacterSkill.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageDeck.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageDeckArchetype.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageDeckCreate.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageDeckEdit.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageFixError.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageGameplay.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageGuide.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageGuideDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageImage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageOrder.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManagePDF.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageReportedCard.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageTierList.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageTournament.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageTournamentType.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageTranslateGuide.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageUser.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageVideo.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ManageWorld.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/MangeMenuSelect.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/NewbieGuidePage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ProcessOrder.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/SearchPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShareAccountComponent.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/SharedFewBlogsInGameplay.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/SharedFewGuidesInGameplay.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/SharedTournament.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/SharedTournamentDeck.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShareLoading.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShareManage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShareRadzen.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShareShop.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShopArchetype.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShopDeckBuilder.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShopDeckDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShopHomePage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/ShopTrackOrder.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/SkillDetails.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TierList.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TopDeckPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TournamentDeck.dll
[govietnam.ygov] Late-enabling -Xcheck:jni
[USNET] USNET: appName: com.ygovietnam.ygovn
[CompatibilityChangeReporter] Compat change id reported: 171979766; UID 10607; state: ENABLED
[ziparchive] Unable to open '/data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/base.dm': No such file or directory
[ziparchive] Unable to open '/data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/base.dm': No such file or directory
[GraphicsEnvironment] ANGLE Developer option for 'com.ygovietnam.ygovn' set to: 'default'
[GraphicsEnvironment] App is not on the allowlist for updatable production driver.
[LoadedApk] LoadedApk::makeApplication() appContext.mOpPackageName=com.ygovietnam.ygovn appContext.mBasePackageName=com.ygovietnam.ygovn
[NetworkSecurityConfig] No Network Security Config specified, using platform default
[NetworkSecurityConfig] No Network Security Config specified, using platform default
[debug-app-helper] Checking if libmonodroid was unpacked to /data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/lib/arm64/libmonodroid.so
[debug-app-helper] Native libs extracted to /data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/lib/arm64, assuming application/android:extractNativeLibs == true
[debug-app-helper] Setting up for DSO lookup in app data directories
[debug-app-helper] Added filesystem DSO lookup location: /data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/lib/arm64
[debug-app-helper] Using runtime path: /data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/lib/arm64
[debug-app-helper] checking directory: `/data/user/0/com.ygovietnam.ygovn/files/.__override__/lib`
[debug-app-helper] directory does not exist: `/data/user/0/com.ygovietnam.ygovn/files/.__override__/lib`
[debug-app-helper] Checking whether Mono runtime exists at: /data/user/0/com.ygovietnam.ygovn/files/.__override__/libmonosgen-2.0.so
[debug-app-helper] Checking whether Mono runtime exists at: /data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/lib/arm64/libmonosgen-2.0.so
[debug-app-helper] Mono runtime found at: /data/app/~~kbGeWg9_e1I6m0I5xRUN8A==/com.ygovietnam.ygovn--XkJZP63XHmA-r9Fs-kUGQ==/lib/arm64/libmonosgen-2.0.so
[govietnam.ygov] Attempt to remove non-JNI local reference, dumping thread
[DOTNET] JNI_OnLoad: JNI_OnLoad in pal_jni.c
[monodroid] Creating public update directory: `/data/user/0/com.ygovietnam.ygovn/files/.__override__`
[govietnam.ygov] Attempt to remove non-JNI local reference, dumping thread
[monodroid-debug] Trying to initialize the debugger with options: --debugger-agent=transport=dt_socket,loglevel=0,address=127.0.0.1:8896,server=y,embedding=1
[monodroid-assembly] open_from_bundles: failed to load assembly YGOVN2.Maui.dll
[monodroid-gc] GREF GC Threshold: 46080
[monodroid-assembly] open_from_bundles: failed to load assembly Mono.Android.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Runtime.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Java.Interop.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Collections.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Threading.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Runtime.InteropServices.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Threading.Thread.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Diagnostics.StackTrace.dll
[govietnam.ygov] Attempt to remove non-JNI local reference, dumping thread
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Maui.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Memory.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.ComponentModel.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Reflection.Emit.Lightweight.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Reflection.Emit.ILGeneration.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Reflection.Primitives.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Runtime.CompilerServices.Unsafe.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Maui.Essentials.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Core.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.DependencyInjection.Abstractions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Maui.Controls.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.ObjectModel.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Maui.Controls.Xaml.dll
[monodroid-assembly] open_from_bundles: failed to load assembly InterfaceService.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Net.Http.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Authentication.Abstractions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly netstandard.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Components.Authorization.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Identity.Core.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Configuration.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Configuration.Abstractions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Logging.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Components.WebView.Maui.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Majorsoft.Blazor.Components.CssEvents.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Majorsoft.Blazor.Components.Common.JsInterop.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Radzen.Blazor.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ReportedCardService.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShopService.dll
[monodroid-assembly] open_from_bundles: failed to load assembly LogOutService.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Http.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Http.Abstractions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Blazor-Analytics.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Http.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Authentication.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Authorization.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Options.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Maui.Graphics.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Logging.Abstractions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.AppCompat.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.Google.Android.Material.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.SwipeRefreshLayout.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.ComponentModel.TypeConverter.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Private.Uri.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Collections.Concurrent.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Linq.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Fragment.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Activity.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Lifecycle.ViewModel.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Lifecycle.Common.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.SavedState.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.DrawerLayout.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.CustomView.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Navigation.Runtime.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Net.Primitives.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Components.WebView.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.JSInterop.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Components.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Components.Web.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Text.Json.dll
[monodroid-assembly] open_from_bundles: failed to load assembly YGOVN2.Shared.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Authentication.Core.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.DataProtection.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.WebEncoders.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Text.RegularExpressions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Cryptography.Internal.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.DataProtection.Abstractions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Hosting.Abstractions.dll
[monodroid-assembly] Shared library 'kernel32.dll' not loaded, p/invoke 'LoadLibraryExW' may fail
[monodroid-assembly] Shared library 'kernel32.dll' not loaded, p/invoke 'LoadLibraryExW' may fail
[monodroid-assembly] open_from_bundles: failed to load assembly System.Xml.XDocument.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Private.Xml.Linq.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Text.Encodings.Web.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.DependencyInjection.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Diagnostics.Tracing.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Xml.ReaderWriter.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Private.Xml.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TournamentDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Text.Encoding.Extensions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Runtime.Loader.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Numerics.Vectors.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.FileProviders.Abstractions.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.RecyclerView.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.CardView.dll
[OpenGLRenderer] RenderThread::requireGlContext()
[AdrenoGLES-0] QUALCOMM build                   : cac6e6f805, I5187d04b75
[AdrenoGLES-0] Build Date                       : 11/22/21
[AdrenoGLES-0] OpenGL ES Shader Compiler Version: EV031.35.01.10
[AdrenoGLES-0] Local Branch                     : 
[AdrenoGLES-0] Remote Branch                    : 
[AdrenoGLES-0] Remote Branch                    : 
[AdrenoGLES-0] Reconstruct Branch               : 
[AdrenoGLES-0] Build Config                     : S P 10.0.7 AArch64
[AdrenoGLES-0] Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Loader.dll
[AdrenoGLES-0] PFP: 0x016dc094, ME: 0x00000000
[OpenGLRenderer] RenderThread::setGrContext()
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Maui.Controls.Compatibility.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.CoordinatorLayout.dll
[ziparchive] Unable to open '/data/app/~~vbpi65XkeuezyKtVcSkqhg==/com.google.android.trichromelibrary_519507734-Xj_g3HPXl1gdjqkWAfcynw==/base.dm': No such file or directory
[ziparchive] Unable to open '/data/app/~~vbpi65XkeuezyKtVcSkqhg==/com.google.android.trichromelibrary_519507734-Xj_g3HPXl1gdjqkWAfcynw==/base.dm': No such file or directory
[govietnam.ygov] Entry not found
[WebViewFactory] Loading com.google.android.webview version 105.0.5195.77 (code 519507734)
[govietnam.ygov] Accessing hidden method Landroid/os/Trace;->isTagEnabled(J)Z (unsupported, reflection, allowed)
[govietnam.ygov] Accessing hidden method Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V (unsupported, reflection, allowed)
[govietnam.ygov] Accessing hidden method Landroid/os/Trace;->traceEnd(J)V (unsupported, reflection, allowed)
[govietnam.ygov] Accessing hidden method Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V (unsupported, reflection, allowed)
[govietnam.ygov] Accessing hidden method Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V (unsupported, reflection, allowed)
[cr_WVCFactoryProvider] Loaded version=105.0.5195.77 minSdkVersion=29 isBundle=true multiprocess=true packageId=2
[cr_LibraryLoader] Successfully loaded native library
[cr_CachingUmaRecorder] Flushed 8 samples from 8 histograms.
[SchedPolicy] Failed to find cgroup for tid 20279
[SurfaceFlinger] ERROR(Operation not permitted, -1). Failed to call parcel remote()->transact(BnSurfaceComposer::GET_PRIMARY_PHYSICAL_DISPLAY_ID, data, &reply)
[chromium] [ERROR:simple_file_enumerator.cc(58)] Could not get file info for /data/user/0/com.ygovietnam.ygovn/cache/WebView/Default/HTTP Cache/Code Cache/js/index-dir
[CompatibilityChangeReporter] Compat change id reported: 171228096; UID 10607; state: ENABLED
[ConnectivityManager] StackLog: [android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:4124)] [android.net.ConnectivityManager.registerDefaultNetworkCallbackForUid(ConnectivityManager.java:4688)] [android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:4655)] [m40.e(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:142)] [Bb.a(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:31)] [org.chromium.android_webview.AwContentsLifecycleNotifier.onFirstWebViewCreated(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:54)] [J.N.MFiR_zHY(Native Method)] [org.chromium.android_webview.AwContents.<init>(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:49)] [com.android.webview.chromium.o.run(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:418)] [NH0.b(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:57)] [MH0.run(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:43)] [org.chromium.base.task.PostTask.d(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:115)] [NH0.a(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:43)] [com.android.webview.chromium.WebViewChromiumFactoryProvider.a(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:161)] [com.android.webview.chromium.WebViewChromium.init(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:364)] [android.webkit.WebView.<init>(WebView.java:445)] [android.webkit.WebView.<init>(WebView.java:365)] [android.webkit.WebView.<init>(WebView.java:347)] [android.webkit.WebView.<init>(WebView.java:334)] [android.webkit.WebView.<init>(WebView.java:324)] [crc64d693e2d9159537db.BlazorAndroidWebView.<init>(BlazorAndroidWebView.java:21)] [crc6488302ad6e9e4df1a.MauiAppCompatActivity.n_onCreate(Native Method)] [crc6488302ad6e9e4df1a.MauiAppCompatActivity.onCreate(MauiAppCompatActivity.java:47)] [android.app.Activity.performCreate(Activity.java:8290)] [android.app.Activity.performCreate(Activity.java:8270)] [android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)] [android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)] [android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)] [android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)] [android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)] [android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)] [android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)]
[ConnectivityManager] StackLog: [android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:4124)] [android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:4166)] [android.net.ConnectivityManager.registerNetworkCallback(ConnectivityManager.java:4548)] [m40.e(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:116)] [Bb.a(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:31)] [org.chromium.android_webview.AwContentsLifecycleNotifier.onFirstWebViewCreated(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:54)] [J.N.MFiR_zHY(Native Method)] [org.chromium.android_webview.AwContents.<init>(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:49)] [com.android.webview.chromium.o.run(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:418)] [NH0.b(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:57)] [MH0.run(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:43)] [org.chromium.base.task.PostTask.d(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:115)] [NH0.a(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:43)] [com.android.webview.chromium.WebViewChromiumFactoryProvider.a(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:161)] [com.android.webview.chromium.WebViewChromium.init(chromium-TrichromeWebViewGoogle6432.aab-stable-519507734:364)] [android.webkit.WebView.<init>(WebView.java:445)] [android.webkit.WebView.<init>(WebView.java:365)] [android.webkit.WebView.<init>(WebView.java:347)] [android.webkit.WebView.<init>(WebView.java:334)] [android.webkit.WebView.<init>(WebView.java:324)] [crc64d693e2d9159537db.BlazorAndroidWebView.<init>(BlazorAndroidWebView.java:21)] [crc6488302ad6e9e4df1a.MauiAppCompatActivity.n_onCreate(Native Method)] [crc6488302ad6e9e4df1a.MauiAppCompatActivity.onCreate(MauiAppCompatActivity.java:47)] [android.app.Activity.performCreate(Activity.java:8290)] [android.app.Activity.performCreate(Activity.java:8270)] [android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)] [android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)] [android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)] [android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)] [android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)] [android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)] [android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)]
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.Primitives.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.FileProviders.Embedded.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.Extensions.FileProviders.Composite.dll
[govietnam.ygov] Accessing hidden method Landroid/media/AudioManager;->getOutputLatency(I)I (unsupported, reflection, allowed)
[cr_media] Requires BLUETOOTH permission
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Lifecycle.LiveData.Core.dll
[DecorView] [INFO] isPopOver=false, config=true
[DecorView] updateCaptionType >> DecorView@e14b749[], isFloating=false, isApplication=true, hasWindowControllerCallback=true, hasWindowDecorCaption=false
[DecorView] setCaptionType = 0, this = DecorView@e14b749[]
[DecorView] getCurrentDensityDpi: from real metrics. densityDpi=420 msg=resources_loaded
[govietnam.ygov] Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed)
[govietnam.ygov] Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed)
[NativeCustomFrequencyManager] [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager()
[ViewRootImpl@4c75399[MainActivity]] setView = com.android.internal.policy.DecorView@e14b749 TM=true
[ViewRootImpl@4c75399[MainActivity]] Relayout returned: old=(0,0,2208,1768) new=(0,0,2208,1768) req=(2208,1768)0 dur=10 res=0x7 s={true 492059442864} ch=true fn=-1
[OpenGLRenderer] eglCreateWindowSurface
[ViewRootImpl@4c75399[MainActivity]] [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11420 android.view.ViewRootImpl.performTraversals:4193 android.view.ViewRootImpl.doTraversal:2919 
[ViewRootImpl@4c75399[MainActivity]] Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false
[ViewRootImpl@4c75399[MainActivity]] Creating frameCompleteCallback
[ViewRootImpl@4c75399[MainActivity]] Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false
[BufferQueueProducer] [ViewRootImpl@4c75399[MainActivity]#0(BLAST Consumer)0](id:4f3700000000,api:1,p:20279,c:20279) queueBuffer: queued for the first time.
[OpenGLRenderer] GPIS:: SetUp Pid : 20279    Tid : 20324
[ViewRootImpl@4c75399[MainActivity]] Received frameCompleteCallback  lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1
[ViewRootImpl@4c75399[MainActivity]] [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4995 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 
[ViewRootImpl@4c75399[MainActivity]] [DP] rdf()
[ViewRootImpl@4c75399[MainActivity]] reportDrawFinished (fn: -1) 
[InsetsSourceConsumer] ensureControlAlpha: for ITYPE_NAVIGATION_BAR on com.ygovietnam.ygovn/crc645540a8e46bacd11a.MainActivity
[InsetsSourceConsumer] ensureControlAlpha: for ITYPE_STATUS_BAR on com.ygovietnam.ygovn/crc645540a8e46bacd11a.MainActivity
[ViewRootImpl@4c75399[MainActivity]] MSG_WINDOW_FOCUS_CHANGED 1 1
[InputMethodManager] startInputInner - Id : 0
[InputMethodManager] startInputInner - mService.startInputOrWindowGainedFocus
[InputMethodManager] startInputInner - Id : 0
[monodroid-assembly] open_from_bundles: failed to load assembly System.Runtime.Intrinsics.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShareComponent.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Majorsoft.Blazor.Components.Modal.dll
[monodroid-assembly] open_from_bundles: failed to load assembly About.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountControlPanel.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountCreateDeck.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountDeck.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountDeckEdit.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountEmail.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountGuide.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountGuideDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountImage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountInformation.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountOrder.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountPassword.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountPost.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountPostDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountTournament.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountTournamentCreate.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountTournamentEdit.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountTournamentType.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountTournamentTypeCreate.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountTournamentTypeEdit.dll
[monodroid-assembly] open_from_bundles: failed to load assembly AccountVideo.dll
[monodroid-assembly] open_from_bundles: failed to load assembly BanList.dll
[monodroid-assembly] open_from_bundles: failed to load assembly BlogIndex.dll
[monodroid-assembly] open_from_bundles: failed to load assembly BlogList.dll
[monodroid-assembly] open_from_bundles: failed to load assembly BlogDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly BoxPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly BreakDown.dll
[monodroid-assembly] open_from_bundles: failed to load assembly CardArchetype.dll
[monodroid-assembly] open_from_bundles: failed to load assembly CardDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Cart.dll
[monodroid-assembly] open_from_bundles: failed to load assembly CharacterPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly CheckoutPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Contact.dll
[monodroid-assembly] open_from_bundles: failed to load assembly DeckDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Gameplay.dll
[monodroid-assembly] open_from_bundles: failed to load assembly GuidePage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Manage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageBlogCategory.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageBlogDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageBlogPost.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageBlogTag.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageBox.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageBoxType.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageCard.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageCharacter.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageCharacterSkill.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageDeck.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageDeckArchetype.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageDeckCreate.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageDeckEdit.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageFixError.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageGameplay.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageGuide.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageGuideDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageImage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageOrder.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManagePDF.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageReportedCard.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageTierList.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageTournament.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageTournamentType.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageTranslateGuide.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageUser.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageVideo.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ManageWorld.dll
[monodroid-assembly] open_from_bundles: failed to load assembly MangeMenuSelect.dll
[monodroid-assembly] open_from_bundles: failed to load assembly NewbieGuidePage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ProcessOrder.dll
[monodroid-assembly] open_from_bundles: failed to load assembly SearchPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShareAccountComponent.dll
[monodroid-assembly] open_from_bundles: failed to load assembly SharedFewBlogsInGameplay.dll
[monodroid-assembly] open_from_bundles: failed to load assembly SharedFewGuidesInGameplay.dll
[monodroid-assembly] open_from_bundles: failed to load assembly SharedTournament.dll
[monodroid-assembly] open_from_bundles: failed to load assembly SharedTournamentDeck.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShareLoading.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShareManage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShareRadzen.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShareShop.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShopArchetype.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShopDeckBuilder.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShopDeckDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShopHomePage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly ShopTrackOrder.dll
[monodroid-assembly] open_from_bundles: failed to load assembly SkillDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TierList.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TopDeckPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TournamentDeck.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TournamentDetails.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TournamentPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TournamentStatistics.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TranslateInstruction.dll
[monodroid-assembly] open_from_bundles: failed to load assembly UpdateAvailableDetector.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Video.dll
[monodroid-assembly] open_from_bundles: failed to load assembly WebsiteInstruction.dll
[monodroid-assembly] open_from_bundles: failed to load assembly PrivacyPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly DeckBuilderPage.dll
[monodroid-assembly] open_from_bundles: failed to load assembly TournamentBanlist.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TournamentPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TournamentStatistics.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TranslateInstruction.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/UpdateAvailableDetector.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Video.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/WebsiteInstruction.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/PrivacyPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/DeckBuilderPage.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/TournamentBanlist.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.IdentityModel.Tokens.Jwt.dll
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.IdentityModel.Tokens.dll
[monodroid-assembly] open_from_bundles: failed to load assembly System.Security.Claims.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.IdentityModel.Tokens.Jwt.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.IdentityModel.Tokens.dll [External]
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Security.Claims.dll [External]
Thread started: <Thread Pool> #9
Thread started: .NET ThreadPool Gate #10
Thread started: <Thread Pool> #11
[monodroid-assembly] open_from_bundles: failed to load assembly Xamarin.AndroidX.Security.SecurityCrypto.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Xamarin.AndroidX.Security.SecurityCrypto.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Metadata.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Metadata.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly System.Linq.Expressions.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Linq.Expressions.dll [External]
[EngineFactory] Provider GmsCore_OpenSSL not available
[monodroid-assembly] open_from_bundles: failed to load assembly System.Security.Cryptography.X509Certificates.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Security.Cryptography.X509Certificates.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly System.Diagnostics.DiagnosticSource.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Diagnostics.DiagnosticSource.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly System.Collections.NonGeneric.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Collections.NonGeneric.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly System.Net.Requests.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Net.Requests.dll [External]
Thread started: .NET Timers #12
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Http.Features.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Http.Features.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly Microsoft.AspNetCore.Components.Forms.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Microsoft.AspNetCore.Components.Forms.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly Majorsoft.Blazor.Components.Loading.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/Majorsoft.Blazor.Components.Loading.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly System.ComponentModel.Primitives.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.ComponentModel.Primitives.dll [External]
Loaded assembly: Anonymously Hosted DynamicMethods Assembly [External]
[Choreographer] Skipped 225 frames!  The application may be doing too much work on its main thread.
[OpenGLRenderer] Davey! duration=1884ms; Flags=0, FrameTimelineVsyncId=86129619, IntendedVsync=1004576379214333, Vsync=1004578254214258, InputEventId=0, HandleInputStart=1004578258765948, AnimationStart=1004578258768136, PerformTraversalsStart=1004578259879855, DrawStart=1004578260142980, FrameDeadline=1004576395880999, FrameInterval=1004578258692667, FrameStartTime=8333333, SyncQueued=1004578260376990, SyncStart=1004578260441053, IssueDrawCommandsStart=1004578260530532, SwapBuffers=1004578261483240, FrameCompleted=1004578263546053, DequeueBufferDuration=14948, QueueBufferDuration=508229, GpuCompleted=1004578262861001, SwapBuffersCompleted=1004578263546053, DisplayPresentTime=486145738064, 
[monodroid-assembly] open_from_bundles: failed to load assembly System.Net.Http.Json.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Net.Http.Json.dll [External]
[monodroid-assembly] open_from_bundles: failed to load assembly System.Threading.Tasks.Extensions.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.Threading.Tasks.Extensions.dll [External]
Thread started: <Thread Pool> #13
Thread started: <Thread Pool> #14
[monodroid-assembly] open_from_bundles: failed to load assembly System.ComponentModel.Annotations.dll
Loaded assembly: /data/data/com.ygovietnam.ygovn/files/.__override__/System.ComponentModel.Annotations.dll [External]
[govietnam.ygov] Explicit concurrent copying GC freed 56960(4101KB) AllocSpace objects, 30(996KB) LOS objects, 60% free, 4079KB/10223KB, paused 35us,20us total 11.596ms
[ViewRootImpl@4c75399[MainActivity]] ViewPostIme pointer 0
[ViewRootImpl@4c75399[MainActivity]] ViewPostIme pointer 1
[InputMethodManager] startInputInner - Id : 0
[InputMethodManager] startInputInner - mService.startInputOrWindowGainedFocus
[IMM_LC] hsifw() - flags=0, caller=android.view.inputmethod.InputMethodManager.hideSoftInputFromWindow:1846 org.chromium.content.browser.input.ImeAdapterImpl.f:174 org.chromium.content.browser.input.ImeAdapterImpl.updateState:545 android.os.MessageQueue.nativePollOnce:-2 android.os.MessageQueue.next:335 
[IMM_LC] hideSoftInputFromWindow - mService.hideSoftInput
[govietnam.ygov] Compiler allocated 4564KB to compile void android.view.ViewRootImpl.performTraversals()
mkArtakMSFT commented 2 years ago

@jonathanpeppers looks like this is caused by something low level and we'd need some help from you with this, as it doesn't seem to be Blazor specific.

Eilon commented 2 years ago

Well, the good news is that I can repro this in an emulator. I got to click 156 and then the app hangs.

Eilon commented 2 years ago

And it only repros with Android WebView Beta (I used version 106.0.5249.23). The non-Beta ones I tried both worked: 91.0.4472.114 came installed in the image, and then I updated to latest non-beta release 104.0.5112.97.

Eilon commented 2 years ago

Repros in debug mode too. Sometimes I got to 50, sometimes around 100, and one time to 230. But at least this could be helpful to understand why it's happening.

Eilon commented 2 years ago

Using the F12 tools, there's no weird allocations, no weird CPU usage, nothing weird at all... it just stops after a while. And it's not like it's hanging - it just stops accepting clicks. Will debug more.

Eilon commented 2 years ago

I added an HTML button with alert('hey') and that continues to work. So it's just the Blazor part of things that isn't working (which doesn't mean Blazor is broken - it could be that the message channel is not working).

Eilon commented 2 years ago

The click on the Blazor button is being correctly processed by the Blazor JS code because I can see it ends up calling SendMessage. But then a message never comes back... (receiveMessage is never called)

I added some instrumentation and I see a bunch of these happening:

SendMessage: __bwv:["BeginInvokeDotNet","90",null,"DispatchEventAsync",1,"[{\"eventHandlerId\":3,\"eventName\":\"click\",\"eventFieldInfo\":null},{\"detail\":1,\"screenX\":180,\"screenY\":216,\"clientX\":180,\"clientY\":182,\"offsetX\":61,\"offsetY\":27,\"pageX\":180,\"pageY\":182,\"button\":0,\"buttons\":0,\"ctrlKey\":false,\"shiftKey\":false,\"altKey\":false,\"metaKey\":false,\"type\":\"click\"}]"]
Eilon commented 2 years ago

I confirmed with some breakpoints in the .NET BlazorWebView code that the .NET code is not receiving the web message once things stop working. Not sure if the web message channel is busted due to incorrect usage, or perhaps there's an issue with the Android WebView beta.

jonathanpeppers commented 2 years ago

@Eilon usually things like this we would file an issue with Google: https://source.android.com/docs/setup/contribute/report-bugs

Is there a particular browser feature being used here that is failing? Is there an alternate JavaScript API?

Eilon commented 2 years ago

@jonathanpeppers it's a common browser feature called WebMessagePort/Channel: https://developer.android.com/reference/android/webkit/WebMessagePort

It's a way of passing messages between the stuff that runs within the browser ("JavaScript code") and whoever is hosting the code ("C# code" or "Java").

For some reason, the messages just seem to... stop.

I'll dig in a bit more and then file a bug if it seems appropriate. Thank you for the pointer! (I couldn't find that page when I searched!)

Eilon commented 2 years ago

From the JS side, this is what it looks like when it goes from "working" to "broken":

Click on Counter

Click on Counter

Click on Counter

Click on Counter (from here on it is broken)

Click on Counter

Click on Counter

Click on Counter

Click on Counter

Click on Counter

If you refresh just the WebView (such as by pressing F5 in the F12 Dev Tools), everything resets and starts working again.

So, it seems that something is breaking the web message channel.

Eilon commented 2 years ago

I have good news and bad news.

The good news is I have a fix: add the JS logging code console.log('NJSP2.message: ' + event); to the BlazorWebView initialization code for Android.

The bad news is that the good news is true 😁

So I do suspect that there could be a bug in the Android WebView Beta. I'll file a bug tomorrow.

TanayParikh commented 2 years ago

Logging the event prevents the crash? 😮

jonathanpeppers commented 2 years ago

Just a tip, Google might look into a bug report more quickly if you can send a pure Java or Kotlin example. Maybe you can reproduce in a single html page and throw that in a web view?

The response we have gotten in the past, "what is all this C# business?".

arthastheking113 commented 2 years ago

The good news is I have a fix: add the JS logging code console.log('NJSP2.message: ' + event); to the BlazorWebView initialization code for Android.

@Eilon Wow, Is this something we can do ourself or this will be included in the next release?

Eilon commented 2 years ago

Just a tip, Google might look into a bug report more quickly if you can send a pure Java or Kotlin example. Maybe you can reproduce in a single html page and throw that in a web view?

The response we have gotten in the past, "what is all this C# business?".

@jonathanpeppers yeah I'm a bit dreading that. I doubt it can be contained in only HTML because the premise is that it's about communicating between the host app and the webview. But if I can find a simple Java sample maybe I can adapt it.

Eilon commented 2 years ago

Argh, my "workaround" seems to not be so reliable. I'll investigate a bit more, but I'm still suspecting this is an issue with the WebView beta.

Xoben commented 2 years ago

console.log('NJSP2.message: ' + event);

Anyone have an example on how this is done?

Are we talking about BlazorWebViewInitialized?

arthastheking113 commented 2 years ago

Are we talking about BlazorWebViewInitialized?

@Xoben I think this is some low level debugging.

As Elion said, his "workaround" is not reliable.

I think we should wait for his confirmation.

Eilon commented 2 years ago

Alright, I am now an expert in both Java and Kotlin, and I think I have a repro that uses only Java. It's basically the same code as we use in BlazorWebView, but using only Java plus some JS code in the WebView. The WebMessagePort seems to stop after ~3000 "iterations".

And as to the workaround: yeah the workaround seemed good except when I tried it a 5th time and then it didn't work. I'm not sure how easy it would be for someone else to try it unless you compile MAUI on your own (not that hard to do, but hardly something trivial).

Eilon commented 2 years ago

Here's the repro with just Java:

  1. Have Android Studio ready
  2. Clone this repo: https://github.com/Eilon/AndroidWebMessageBug
  3. Set up an Android Emulator w/ Google Play Store
  4. In the Emulator install WebView Beta (I used 106.0.5249.23 (beta))
  5. Run the cloned repro app w/ debugger from Android Studio
  6. In the launched app, repeatedly click the Test button in the WebView. This will send a web message to the Java code, which will in turn send a message back to the JS code:
    image
  7. Then you have a choice:
    1. Click the button 4,000 more times manually
    2. Get a bucket of screws and carefully place it on the Enter key on your keyboard so that it holds it down to repeatedly click the button:
      image
    3. Ideally you would assembly some Ikea furniture while this takes place, because it can take several minutes to repro (that's what I did; not sure if it's required for the repro)
  8. In the Logcat window you will see messages like 2022-09-08 16:35:06.906 13566-13566/com.example.mywebviewport W/eilon: 12630: JavaScript To Native, with the counter value incrementing each time (e.g. 12630, 12631, 12632, etc.)
  9. Eventually, the messages will stop, meaning the web message channel has stopped working

With WebView version 91.0.4472.114 and 104.0.5112.97 this does not seem to repro.

jonathanpeppers commented 2 years ago

This is an EPIC repro!

jonathanpeppers commented 2 years ago

@Eilon I showed this to @dellis1972, could you write a script that does this in a loop:

adb shell input keyboard keyevent 66

66 is KEYCODE_ENTER: https://stackoverflow.com/a/8483797

Then next time, you can use those screws on the ikea furniture you're assembling.

Eilon commented 2 years ago

Android bug filed here: https://issuetracker.google.com/issues/245837736

We'll have to see what the Android folks say so that we can decide if we need to do a workaround instead. It's so far only reproing in the WebView Beta, which hopefully most people don't have yet, and hopefully if this is indeed a bug in the WebView, it can be fixed before it goes out broadly.

arthastheking113 commented 2 years ago

@Eilon I have my app right here https://play.google.com/store/apps/details?id=com.ygovietnam.ygovn . If my users' android system webview update to 105.0.5195.79 which not a beta version, our user cannot use our app. Can you confirm again this issue not reproing in this version ?

Eilon commented 2 years ago

Ah, I didn't see that version of webview available. Here's what I tried:

I'm not an Android WebView expert - do you know how I can install that specific version into my emulator?

arthastheking113 commented 2 years ago

@Eilon I'm not sure this is the correct way to repro this (I think It's not). I tried to download an apk of android system web view and install it. then run my app. I downloaded from here: https://www.apkmirror.com/apk/google-inc/android-system-webview/android-system-webview-105-0-5195-79-release/#downloads

I tried on my simulator but It's not working as I expected it to be frozen. My app crash right on launching.

Edit: Okay, I tried to close the simulator, then run it again. It's seem to be frozen as expected now. If you are testing my app, It will either be frozen at loading screen or if you passed loading screen, you can click on some picture a few times and It will frozen at some point (It will be quick).

Eilon commented 2 years ago

@arthastheking113 I tested something close to a default Blazor Hybrid app in .NET MAUI. The failure shouldn't be specific to the app - something with the Android WebView seems to just stop working after a while.

In your app, is it specifically Blazor functionality that stops working, such as buttons or other actions defined in .razor files? And other parts of the app are OK?

Thomr77 commented 2 years ago

@Eilon - I have built and run the AndroidWebMessageBug repro app on a Samsung SM-T870 with WebView 105 (and API 31) and it fails between 40 and 80 clicks usually. Once the 105 WebView is uninstalled I got the clicks up to 800 and it all continued to work smoothly.

I hope that helps for the Google submission.

arthastheking113 commented 2 years ago

In your app, is it specifically Blazor functionality that stops working, such as buttons or other actions defined in .razor files? And other parts of the app are OK?

@Eilon Yes, you are right, only .razor code is frozen. The js and css work fine. No error message.

I think you can preproduce the same issue in 105.0.5195.79 webview with a basic Blazor Hybrid Template.

tinytownsoftware commented 2 years ago

Just wanted to chime in that this happens with the non-Beta version of WebView too. The reason I noticed (and my users as well) is that Android automatically installed the latest WebView in the background.

gvs55 commented 2 years ago

Just wanted to second this. We have a production app and we're seeing more and more users who can no longer interact with elements on the page, effectively rendering it worthless. I can confirm that updating to 105.x breaks it, and downgrading fixes it. So as more of our users update the app breaks.

tinytownsoftware commented 2 years ago

Sounds like it's in Google's hands now. There is some activity on that bug request, so fingers crossed. Instructing my users to downgrade their WebView seems to be working well so far.

TanayParikh commented 2 years ago

For those experiencing this issue, I would encourage providing feedback/thumbs up in the Google issue. I imagine this may get more visibility if there's greater community engagement (and the impact is clear).

Askar938 commented 2 years ago

This just happened to me while I was developing my app. My device started downloading some updates including the Android System WebView update and the app started to act like described in this issue. I would have been lost if it wasn't for this issue, hopefully Google will release a fix soon.

Thomr77 commented 2 years ago

Could as many as possible (ask co-workers) to tick the 'I am Impacted' counter in the Google issue

image

This way it should get higher priority and get resolved faster.

gvs55 commented 2 years ago

I noticed some issues in at least 2 other web based apps I had installed already that are present with 105, but work with an earlier version.

It's interesting that their description of the update on the play store for 105 only reads "Bug fixes and speedy performance improvements"

No mention of mass panic, global outages, or what they actually fixed...

arthastheking113 commented 2 years ago

Google marked this issue with P3 priority which will not be fixed in a short period of time (Google status docs). I don't know if there is any solution to work around this issue since this is a PROD issue on Android device.

We have a production application and our users cannot use it for about 2 weeks.

Thomr77 commented 2 years ago

@arthastheking113 - Thanks for this - I thought about this priority too.

For us it is the same - asking users to uninstall WebView 105 is already a very high ask, and then Android re-installs it the next day and the user has to uninstall it again - there is no real workaround - what can be done?

Like @TanayParikh says, it is really important that we all post how this impacts us/our products in the Google issue - otherwise they do not know especially as its topic is about 106 Beta when it is about the currently installed WebView 105.

tinytownsoftware commented 2 years ago

Seems that Google has acknowledged the severity early this morning and has bumped the priority to S1 and priority P0.

musictopia2 commented 2 years ago

How can somebody uninstall the WebView 105? I would like to know so my apps that uses blazor hybrid can at least work for a day until its fixed.

tinytownsoftware commented 2 years ago

How can somebody uninstall the WebView 105? I would like to know so my apps that uses blazor hybrid can at least work for a day until its fixed.

https://play.google.com/store/apps/details?id=com.google.android.webview&hl=en_US&gl=US

Then tap Uninstall.