here-android-sdk-examples icon indicating copy to clipboard operation
here-android-sdk-examples copied to clipboard

Black screen in navigation when opening for first time.

Open binod-techindustan opened this issue 4 years ago • 12 comments

We are testing on Samsung A30 which is running on android 10. When opening the navigation screen for the first time we are getting a black screen, and the navigation works for some time with the back screen in the foreground and then the app got to crash. On opening the screen next time we didn't get the black screen doesn't. Here are some log found:

Process: com.techindustan.example, PID: 13133
    java.lang.NullPointerException: Attempt to read from field 'java.util.concurrent.Semaphore com.nokia.maps.e0.a' on a null object reference
        at com.nokia.maps.e0.b(BaseTextureView.java:1)
        at com.nokia.maps.e0$d.a(BaseTextureView.java:8)
        at com.nokia.maps.e0$b.onSurfaceTextureSizeChanged(BaseTextureView.java:3)
        at android.view.TextureView.onSizeChanged(TextureView.java:377)
        at android.view.View.sizeChange(View.java:23959)
        at android.view.View.setFrame(View.java:23892)
        at android.view.View.layout(View.java:23751)
        at com.here.android.mpa.mapping.MapView.onLayout(MapView.java:6)
        at android.view.View.layout(View.java:23754)
        at android.view.ViewGroup.layout(ViewGroup.java:7277)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103)
        at android.view.View.layout(View.java:23754)
        at android.view.ViewGroup.layout(ViewGroup.java:7277)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:23754)
        at android.view.ViewGroup.layout(ViewGroup.java:7277)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:23754)
        at android.view.ViewGroup.layout(ViewGroup.java:7277)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:23754)
        at android.view.ViewGroup.layout(ViewGroup.java:7277)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:23754)
        at android.view.ViewGroup.layout(ViewGroup.java:7277)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:1058)
        at android.view.View.layout(View.java:23754)
        at android.view.ViewGroup.layout(ViewGroup.java:7277)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3652)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3112)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2169)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8933)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996)
        at android.view.Choreographer.doCallbacks(Choreographer.java:794)
        at android.view.Choreographer.doFrame(Choreographer.java:729)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:7811)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)

binod-techindustan avatar Mar 14 '20 07:03 binod-techindustan

Hi @binod-techindustan Which SDK version is being used?

starand avatar Mar 16 '20 08:03 starand

@starand SDK version is3.13.3.105

binod-techindustan avatar Mar 16 '20 10:03 binod-techindustan

@binod-techindustan Are there any other error messages in the logcat? Can you reproduce the same issue on any of our github sample?

Merlin1stHere avatar Mar 16 '20 16:03 Merlin1stHere

@Merlin1stHere I haven't try the sample project yet. Let me try the sample project and will update the result.

binod-techindustan avatar Mar 17 '20 06:03 binod-techindustan

@Merlin1stHere I have tried turn by turn sample navigation example, it didn't get Black screen issues. In the Github sample code, there are minimal features but in our project, there are two many listeners and map updates. I am not able to found out the exact cause of this issue. It's occurring in Android 9 too.

binod-techindustan avatar Mar 17 '20 12:03 binod-techindustan

@binod-techindustan But I have to reproduce the issue to fix it. Can you update the version of the SDK you are using? Actual version is 3.14.

Merlin1stHere avatar Mar 17 '20 12:03 Merlin1stHere

Ok @Merlin1stHere let me update it first.

binod-techindustan avatar Mar 17 '20 12:03 binod-techindustan

@Merlin1stHere still the same crash

java.lang.NullPointerException: Attempt to read from field 'java.util.concurrent.Semaphore com.nokia.maps.e0.a' on a null object reference
        at com.nokia.maps.e0.b(BaseTextureView.java:1)
        at com.nokia.maps.e0$d.a(BaseTextureView.java:8)
        at com.nokia.maps.e0$b.onSurfaceTextureSizeChanged(BaseTextureView.java:3)
        at android.view.TextureView.onSizeChanged(TextureView.java:421)
        at android.view.View.sizeChange(View.java:21325)
        at android.view.View.setFrame(View.java:21286)
        at android.view.View.layout(View.java:21138)
        at com.here.android.mpa.mapping.MapView.onLayout(MapView.java:6)
        at android.view.View.layout(View.java:21143)
        at android.view.ViewGroup.layout(ViewGroup.java:6388)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
        at android.view.View.layout(View.java:21143)
        at android.view.ViewGroup.layout(ViewGroup.java:6388)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:21143)
        at android.view.ViewGroup.layout(ViewGroup.java:6388)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1828)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:21143)
        at android.view.ViewGroup.layout(ViewGroup.java:6388)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:21143)
        at android.view.ViewGroup.layout(ViewGroup.java:6388)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1828)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:21143)
        at android.view.ViewGroup.layout(ViewGroup.java:6388)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:902)
        at android.view.View.layout(View.java:21143)
        at android.view.ViewGroup.layout(ViewGroup.java:6388)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3350)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2791)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1806)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8222)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:992)
        at android.view.Choreographer.doCallbacks(Choreographer.java:804)
        at android.view.Choreographer.doFrame(Choreographer.java:736)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:978)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:226)
        at android.app.ActivityThread.main(ActivityThread.java:7209)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)

binod-techindustan avatar Mar 17 '20 13:03 binod-techindustan

@binod-techindustan I need steps to reproduce this issue. You can cut functions one at a time from your application to find out what is going wrong.

Merlin1stHere avatar Mar 18 '20 07:03 Merlin1stHere

@Merlin1stHere this is hard to find out it occurs rarely.

binod-techindustan avatar Mar 26 '20 08:03 binod-techindustan

@Merlin1stHere by looking at the exception can you please guess where on the map it got crash.

binod-techindustan avatar Mar 26 '20 09:03 binod-techindustan

@binod-techindustan Were you able to reproduce this crash?

by looking at the exception can you please guess where on the map it got crash.

If you asking whether we can determine geo location - then answer is no, it is not possible.

NazarKacharaba avatar May 06 '20 07:05 NazarKacharaba