Skip to content

[Bug]: (V10) Android freeze when using with react navigation #2212

@ziwei2221

Description

@ziwei2221

Mapbox Implementation

Mapbox

Mapbox Version

10.7.0

Platform

Android

@rnmapbox/maps version

10.0.0-beta.28

Standalone component to reproduce

import React from 'react';
import {
  MapView,
  ShapeSource,
  LineLayer,
  Camera,
} from '@rnmapbox/maps';

const aLine = {
  type: 'LineString',
  coordinates: [
    [-74.00597, 40.71427],
    [-74.00697, 40.71527],
  ],
};

class BugReportExample extends React.Component {
  render() {
    return (
      <MapView style={{flex: 1}}>
        <Camera centerCoordinate={[-74.00597, 40.71427]} zoomLevel={14} />
        <ShapeSource id="idStreetLayer" shape={aLine}>
          <LineLayer id="idStreetLayer" />
        </ShapeSource>
      </MapView>
    );
  }
}

Observed behavior and steps to reproduce

Create an app with mapbox and react navigation

  • add map in screen A
  • navigate from screen A to screen B
  • Try to navigate back
  • App freezes

Expected behavior

Create an app with mapbox and react navigation

  • add map in screen A
  • navigate from screen A to screen B
  • Try to navigate back
  • App should not freeze

Notes / preliminary analysis

There arent much errors on the javascript side nor on the native side

heres the adb logcat output

09-14 23:20:27.098  3675  3819 D InputReader: Input event(3): value=0 when=180563118937000
09-14 23:20:27.098  3675  3819 I InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=180563118937000
09-14 23:20:27.114  3675  3819 D InputReader: Input event(3): value=1 when=180563135734000
09-14 23:20:27.114  3675  3819 D InputReader: Input event(3): value=1 when=180563135734000
09-14 23:20:27.114  3675  3819 I InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.6199 ] when=180563135734000
09-14 23:20:27.114  3675  3819 D InputDispatcher: NTC window ce884c8 com.app.chargesini/com.app.chargesini.MainActivity (server) 2
09-14 23:20:27.169  3675  3819 I InputReader: Touch event's action (MT) is 0x105 (deviceType=0) [pCnt=2, s=0.6199 1.6200 2.6201 3.6202 ] when=180563190736000
09-14 23:20:27.169  3675  3819 I InputReader: Touch event's action (MT) is 0x205 (deviceType=0) [pCnt=3, s=0.6199 1.6200 2.6201 3.6202 ] when=180563190736000
09-14 23:20:27.169  3675  3819 I InputReader: Touch event's action (MT) is 0x305 (deviceType=0) [pCnt=4, s=0.6199 1.6200 2.6201 3.6202 ] when=180563190736000
09-14 23:20:27.185  3675  3819 I InputReader: Touch event's action (MT) is 0x206 (deviceType=0) [pCnt=4, s=0.6199 1.6200 3.6202 ] when=180563206690000
09-14 23:20:27.209  3675  3819 D InputReader: Input event(3): value=0 when=180563230758000
09-14 23:20:27.209  3675  3819 D InputReader: Input event(3): value=0 when=180563230758000
09-14 23:20:27.209  3675  3819 I InputReader: Touch event's action (MT) is 0x6 (deviceType=0) [pCnt=3, s=] when=180563230758000
09-14 23:20:27.209  3675  3819 I InputReader: Touch event's action (MT) is 0x6 (deviceType=0) [pCnt=2, s=] when=180563230758000
09-14 23:20:27.210  3675  3819 I InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=180563230758000
09-14 23:20:27.289  3204  3204 I android.hardware.wifi@1.0-service: getLinkLayerStats
09-14 23:20:27.306  3675  3819 D InputReader: Input event(3): value=1 when=180563327365000
09-14 23:20:27.306  3675  3819 D InputReader: Input event(3): value=1 when=180563327365000
09-14 23:20:27.306  3675  3819 I InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.6203 ] when=180563327365000
09-14 23:20:27.306  3675  3819 D InputDispatcher: NTC window ce884c8 com.app.chargesini/com.app.chargesini.MainActivity (server) 2
09-14 23:20:27.362  3675  3818 I InputDispatcher: Application is not responding: 31858  It has been 20001.9ms since event, 20001.3ms since wait started.  Reason: Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago.  Wait queue length: 20.  Wait queue head age: 20529.2ms.
09-14 23:20:27.365  3675  3819 I InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=1.6204 ] when=180563386878000
09-14 23:20:27.365  3675  3819 I InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=1.6204 ] when=180563386878000
09-14 23:20:27.371  3675  3818 I WindowManager: Input event dispatching timed out sending to com.app.chargesini/com.app.chargesini.MainActivity.  Reason: Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago.  Wait queue length: 20.  Wait queue head age: 20529.2ms.
09-14 23:20:27.371  3675  3819 D InputDispatcher: NTC window ce884c8 com.app.chargesini/com.app.chargesini.MainActivity (server) 2
09-14 23:20:27.382  3675  3818 D InputDispatcher: Waiting for application to become ready for input: 31858.  Reason: Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago.  Wait queue length: 20.  Wait queue head age: 20549.0ms.
09-14 23:20:27.397  3675  3819 D InputReader: Input event(3): value=0 when=180563418816000
09-14 23:20:27.398  3675  3819 D InputReader: Input event(3): value=0 when=180563418816000
09-14 23:20:27.398  3675  3819 I InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=180563418816000
09-14 23:20:27.442  3675  3705 I Process : Sending signal. PID: 31858 SIG: 3
09-14 23:20:27.443 31858 31864 I zygote64: Thread[3,tid=31864,WaitingInMainSignalCatcherLoop,Thread*=0x7a7f4c1400,peer=0x13000110,"Signal Catcher"]: reacting to signal 3
09-14 23:20:27.443 31858 31864 I zygote64: 
09-14 23:20:27.482  3675  3819 D InputReader: Input event(3): value=1 when=180563503905000
09-14 23:20:27.482  3675  3819 D InputReader: Input event(3): value=1 when=180563503905000

Additional links and references

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions