japarson / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
MIT License
0 stars 0 forks source link

Java.Lang.NullPointerException at MauiAppCompatActivity.dispatchTouchEvent -crash #315

Open japarson opened 6 months ago

japarson commented 6 months ago

Description

crc6488302ad6e9e4df1a.MauiAppCompatActivity.dispatchTouchEvent
MauiAppCompatActivity.java, line 57
Java.Lang.NullPointerException: Attempt to read from field 'int android.view.View.mPrivateFlags' on a null object reference

Crash log:
Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualBooleanMethod(JniObjectReference , JniObjectReference , JniMethodInfo , JniArgumentValue* )
Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualBooleanMethod(String , IJavaPeerable , JniArgumentValue* )
Android.App.Activity.DispatchTouchEvent(MotionEvent )
Microsoft.Maui.MauiAppCompatActivity.DispatchTouchEvent(MotionEvent )
Android.App.Activity.n_DispatchTouchEvent_Landroid_view_MotionEvent_(IntPtr jnienv, IntPtr native__this, IntPtr native_ev)
Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPL_Z(_JniMarshal_PPL_Z callback, IntPtr jnienv, IntPtr klazz, IntPtr p0)
java.lang.NullPointerException: Attempt to read from field 'int android.view.View.mPrivateFlags' on a null object reference
android.view.ViewGroup.resetCancelNextUpFlag ViewGroup.java:2750
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2655
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
android.view.ViewGroup.dispatchTransformedTouchEvent ViewGroup.java:2968
android.view.ViewGroup.dispatchTouchEvent ViewGroup.java:2657
com.android.internal.policy.DecorView.superDispatchTouchEvent DecorView.java:448
com.android.internal.policy.PhoneWindow.superDispatchTouchEvent PhoneWindow.java:1829
android.app.Activity.dispatchTouchEvent Activity.java:3321
crc6488302ad6e9e4df1a.MauiAppCompatActivity.n_dispatchTouchEvent(Native Method)
crc6488302ad6e9e4df1a.MauiAppCompatActivity.dispatchTouchEvent MauiAppCompatActivity.java:57
androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent WindowCallbackWrapper.java:70
com.android.internal.policy.DecorView.dispatchTouchEvent DecorView.java:410
android.view.View.dispatchPointerEvent View.java:12016
android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent ViewRootImpl.java:4864
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess ViewRootImpl.java:4678
android.view.ViewRootImpl$InputStage.deliver ViewRootImpl.java:4206
android.view.ViewRootImpl$InputStage.onDeliverToNext ViewRootImpl.java:4259
android.view.ViewRootImpl$InputStage.forward ViewRootImpl.java:4225
android.view.ViewRootImpl$AsyncInputStage.forward ViewRootImpl.java:4352
android.view.ViewRootImpl$InputStage.apply ViewRootImpl.java:4233
android.view.ViewRootImpl$AsyncInputStage.apply ViewRootImpl.java:4409
android.view.ViewRootImpl$InputStage.deliver ViewRootImpl.java:4206
android.view.ViewRootImpl$InputStage.onDeliverToNext ViewRootImpl.java:4259
android.view.ViewRootImpl$InputStage.forward ViewRootImpl.java:4225
android.view.ViewRootImpl$InputStage.apply ViewRootImpl.java:4233
android.view.ViewRootImpl$InputStage.deliver ViewRootImpl.java:4206
android.view.ViewRootImpl.deliverInputEvent ViewRootImpl.java:6749
android.view.ViewRootImpl.doProcessInputEvents ViewRootImpl.java:6723
android.view.ViewRootImpl.enqueueInputEvent ViewRootImpl.java:6684
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent ViewRootImpl.java:6852
android.view.InputEventReceiver.dispatchInputEvent InputEventReceiver.java:187
android.os.MessageQueue.nativePollOnce(Native Method)
android.os.MessageQueue.next MessageQueue.java:325
android.os.Looper.loop Looper.java:142
android.app.ActivityThread.main ActivityThread.java:6518
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:438
com.android.internal.os.ZygoteInit.main ZygoteInit.java:807

And stack shows: MauiAppCompatActivity.dispatchTouchEvent MauiAppCompatActivity.java, line 57 Haven't searched the maui code, but maybe it's possible to check if the view still exists before calling/dispatching touchEvent.

Checklist - [X] Create `src/Core/AndroidNative/maui/src/main/java/com/microsoft/maui/MauiAppCompatActivity.java` ✓ https://github.com/japarson/maui/commit/d076e34e290bba4e7b1efd74f8a97b5b41a824b8 [Edit](https://github.com/japarson/maui/edit/sweep/javalangnullpointerexception_at_mauiappc/src/Core/AndroidNative/maui/src/main/java/com/microsoft/maui/MauiAppCompatActivity.java) - [X] Running GitHub Actions for `src/Core/AndroidNative/maui/src/main/java/com/microsoft/maui/MauiAppCompatActivity.java` ✓ [Edit](https://github.com/japarson/maui/edit/sweep/javalangnullpointerexception_at_mauiappc/src/Core/AndroidNative/maui/src/main/java/com/microsoft/maui/MauiAppCompatActivity.java)
sweep-ai[bot] commented 6 months ago

🚀 Here's the PR! #317

See Sweep's progress at the progress dashboard!
Sweep Basic Tier: I'm using GPT-4. You have 4 GPT-4 tickets left for the month and 2 for the day. (tracking ID: 25826bceb9)

For more GPT-4 tickets, visit our payment portal. For a one week free trial, try Sweep Pro (unlimited GPT-4 tickets).
Install Sweep Configs: Pull Request

[!TIP] I'll email you at japarson@microsoft.com when I complete this pull request!


Actions (click)

GitHub Actions failed

The sandbox appears to be unavailable or down.


Step 1: 🔎 Searching

I found the following snippets in your repository. I will now analyze these snippets and come up with a plan.

Some code snippets I think are relevant in decreasing order of relevance (click to expand). If some file is missing from here, you can mention the path in the ticket description. https://github.com/japarson/maui/blob/7639a2cf24ac3e5a17a08fc1eb0103883659d57d/src/Core/AndroidNative/maui/src/main/java/com/microsoft/maui/MauiViewGroup.java#L1-L138 https://github.com/japarson/maui/blob/7639a2cf24ac3e5a17a08fc1eb0103883659d57d/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt#L60-L65 https://github.com/japarson/maui/blob/7639a2cf24ac3e5a17a08fc1eb0103883659d57d/src/Controls/src/Core/ContentPage/HideSoftInputOnTappedChanged/HideSoftInputOnTappedChangedManager.Android.cs#L1-L63 https://github.com/japarson/maui/blob/7639a2cf24ac3e5a17a08fc1eb0103883659d57d/src/Controls/src/Core/Window/Window.Android.cs#L1-L46

Step 2: ⌨️ Coding

Ran GitHub Actions for d076e34e290bba4e7b1efd74f8a97b5b41a824b8:


Step 3: 🔁 Code Review

I have finished reviewing the code for completeness. I did not find errors for sweep/javalangnullpointerexception_at_mauiappc.


🎉 Latest improvements to Sweep:
  • New dashboard launched for real-time tracking of Sweep issues, covering all stages from search to coding.
  • Integration of OpenAI's latest Assistant API for more efficient and reliable code planning and editing, improving speed by 3x.
  • Use the GitHub issues extension for creating Sweep issues directly from your editor.

💡 To recreate the pull request edit the issue title or description. To tweak the pull request, leave a comment on the pull request.Something wrong? Let us know.

This is an automated message generated by Sweep AI.