Closed YoMamasNerd closed 10 months ago
Same here. Fresh grocy Installation. whenever I save a changw to the Master data (Stammdaten) the app crashes yet still writes the changes to the server.
Very strange, I cannot reproduce it on any of my devices :/ Thanks for the logcat, but sadly it isn't very helpful because it points on an internal field which seems to be not initialized on your devices, but when it works on other devices like mine it's very hard to find the cause I think...
Maybe there is a setting required to turn off keyboard animation as a workaround, as the animation callback causes the crash.
I'm running the app on my Google Pixel 6 with the latest Android 14 beta. The server is running on my local TrueNas server. Is there something or some log that would help you?
@YoMamasNerd I testet it yesterday on my Pixel 6 with Android 14 Beta, too, but the different behavior is hard to explain... Could you please give the specific steps you can perform on the demo server to reproduce the issue? Maybe I miss something?
@patzly Here is the video to reproduce the crash
Ah now I'm able to reproduce it with locations! I only tested it with products, but they seem to work.
Great, glad I could help a little bit
@YoMamasNerd @BuyakaBuyak A temporary workaround until we release the next version with the fix included is to close the keyboard manually before saving. That prevents the keyboard animation to run while the app is navigating back to the previous page. Hope this workaround works for you! Else you could use the nightly build instead.
The nightly build (downloaded 1 day ago) has the same failure on my Galaxy S21. Commented it on Google Play too. I will look for the workaround with the keyboard. It safes the changes but clothes as mentioned above.
@X-Nightmare-X Can you please attach your crash log from the nightly build?
@X-Nightmare-X This would be important as we want to release the next version😅
@X-Nightmare-X Can you please attach your crash log from the nightly build?
@patzly I'm able to reproduce the crash with the latest nightly too.
--------- beginning of crash
02-21 12:28:00.908 31609 31609 E AndroidRuntime: FATAL EXCEPTION: main
02-21 12:28:00.908 31609 31609 E AndroidRuntime: Process: xyz.zedler.patrick.grocy.nightly.debug, PID: 31609
02-21 12:28:00.908 31609 31609 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'float androidx.core.view.WindowInsetsAnimationCompat.getInterpolatedFraction()' on a null object reference
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at xyz.zedler.patrick.grocy.util.UiUtil$1.onProgress(UiUtil.java:334)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at androidx.core.view.WindowInsetsAnimationCompat$Impl30$ProxyCallback.onProgress(WindowInsetsAnimationCompat.java:1072)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.View.dispatchWindowInsetsAnimationProgress(View.java:12173)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7624)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.ViewRootInsetsControllerHost.dispatchWindowInsetsAnimationProgress(ViewRootInsetsControllerHost.java:108)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.InsetsController.lambda$new$3(InsetsController.java:818)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.InsetsController.$r8$lambda$meqKUiuVHZJFS86fhQQzBBmdABw(Unknown Source:0)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.InsetsController$$ExternalSyntheticLambda10.run(D8$$SyntheticClass:0)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:942)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:959)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:100)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8516)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
02-21 12:28:00.908 31609 31609 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: FATAL EXCEPTION: main
02-21 12:29:32.715 31846 31846 E AndroidRuntime: Process: xyz.zedler.patrick.grocy.nightly.debug, PID: 31846
02-21 12:29:32.715 31846 31846 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'float androidx.core.view.WindowInsetsAnimationCompat.getInterpolatedFraction()' on a null object reference
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at xyz.zedler.patrick.grocy.util.UiUtil$1.onProgress(UiUtil.java:334)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at androidx.core.view.WindowInsetsAnimationCompat$Impl30$ProxyCallback.onProgress(WindowInsetsAnimationCompat.java:1072)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.View.dispatchWindowInsetsAnimationProgress(View.java:12173)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7624)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.ViewRootInsetsControllerHost.dispatchWindowInsetsAnimationProgress(ViewRootInsetsControllerHost.java:108)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.InsetsController.lambda$new$3(InsetsController.java:818)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.InsetsController.$r8$lambda$meqKUiuVHZJFS86fhQQzBBmdABw(Unknown Source:0)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.InsetsController$$ExternalSyntheticLambda10.run(D8$$SyntheticClass:0)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:942)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:959)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:100)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8516)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-21 12:29:32.715 31846 31846 E AndroidRuntime: at com.android.internal.os.RuntimeI
Edit: @patzly Do you want a video that shows the steps to reproduce?
@YoMamasNerd That's good to hear :D I've built a new nightly build with a small change, can you please test it?
I'm using the mlkit version. Just in case it matters
--------- beginning of crash
02-21 13:51:57.663 20624 20624 E AndroidRuntime: FATAL EXCEPTION: main
02-21 13:51:57.663 20624 20624 E AndroidRuntime: Process: xyz.zedler.patrick.grocy.nightly.debug, PID: 20624
02-21 13:51:57.663 20624 20624 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'float androidx.core.view.WindowInsetsAnimationCompat.getInterpolatedFraction()' on a null object reference
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at xyz.zedler.patrick.grocy.util.UiUtil$1.onProgress(UiUtil.java:334)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at androidx.core.view.WindowInsetsAnimationCompat$Impl30$ProxyCallback.onProgress(WindowInsetsAnimationCompat.java:1072)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.View.dispatchWindowInsetsAnimationProgress(View.java:12173)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7624)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.ViewGroup.dispatchWindowInsetsAnimationProgress(ViewGroup.java:7630)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.ViewRootInsetsControllerHost.dispatchWindowInsetsAnimationProgress(ViewRootInsetsControllerHost.java:108)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.InsetsController.lambda$new$3(InsetsController.java:818)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.InsetsController.$r8$lambda$meqKUiuVHZJFS86fhQQzBBmdABw(Unknown Source:0)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.InsetsController$$ExternalSyntheticLambda10.run(D8$$SyntheticClass:0)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:942)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:959)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:100)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8516)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
02-21 13:51:57.663 20624 20624 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
@YoMamasNerd Oh sorry! Please test the master nightly, I haven't merged it yet :)
No issues with the master version. I don't know however if the bug would have been reproducible if I would have used the master version from the start. Sind I used the mlkit version for the initial test..
@YoMamasNerd That's perfect! The last fix was important, else you would had another exception in the crashlog so all good now :)
When adding new items in the Master Data section the app crashes. Data is still written. This but is reproducible on my end.