mapbox / mapbox-gl-native

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
https://mapbox.com/mobile
Other
4.36k stars 1.33k forks source link

A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) #16389

Open astrit-veliu opened 4 years ago

astrit-veliu commented 4 years ago

Platform: Android Tested on: Galaxy S10 (os 10), Galaxy A20e (os 9) Mapbox SDK version: 9.1.0

Steps to trigger behavior

  1. Initialise the map
  2. Add a polygon and polyline layer
  3. Add a list of markers (symbols with custom drawable which source can be downloaded or locally)

Expected behavior

Map shows the polygon with different markers

Actual behavior

Polygon and polyline loads successfully, when i try to add markers application crashes, the only log available of error is A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6400000009 in tid 21604 (co.viacarpatica), pid 21604 (co.viacarpatica)

My layout



<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"> 

    <com.mapbox.mapboxsdk.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        mapbox:mapbox_cameraTargetLat="41.584170"
        mapbox:mapbox_cameraTargetLng="19.449723" />

</RelativeLayout>```

### Java Activity
```public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener,
        MapManagerInterface, OnlineMapCallback, PermissionsListener {

    MapView mapView;
    MapboxMap mapboxMap;
    MarkerOptions route_marker, polygon_marker;
    Layer polygon_Layer, route_layer, landmark_layer, destionation_layer;
    LineLayer lineLayer;

    Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Mapbox.getInstance(this, getString(R.string.mapbox_accestoken));
        setContentView(R.layout.activity_main);
        initMap(savedInstanceState);
        set_to_currentlocation.setOnClickListener(v -> {
            mapboxMap.getStyle(style -> enableLocationComponent(style));
        });
      }

    private void initMap(Bundle savedInstanceState) {
        mapView = findViewById(R.id.mapView);
        mapView.onCreate(savedInstanceState);
        mapView.getMapAsync(mapboxMap -> {
            MainActivity.this.mapboxMap = mapboxMap;
            CameraPosition position = new CameraPosition.Builder()
                    .target(new LatLng(41.273678, 19.931946))
                    .zoom(6.5)
                    .build();

            mapboxMap.setCameraPosition(position);
            mapboxMap.setStyle(Style.OUTDOORS, style -> {});
        });
    }

private void drawPolygon(Integer id_coming) {
        polygonCoordinates = new ArrayList<>();
        for (int i = 0; i < singleDestionationModelData.get(0).getLat().size(); i++) {
            polygonCoordinates.add(Point.fromLngLat(Double.parseDouble(singleDestionationModelData.get(0).getLat().get(i)),
                    Double.parseDouble(singleDestionationModelData.get(0).getLng().get(i))));
        }
  polygonCoordinates.add(Point.fromLngLat(Double.parseDouble(singleDestionationModelData.get(0).getLat().get(0)),
                Double.parseDouble(singleDestionationModelData.get(0).getLng().get(0))));`

        mapView.getMapAsync(mapboxMap -> mapboxMap.getStyle(style -> {
            polygon(style,id_coming);

            CameraPosition position = new CameraPosition.Builder()
                    .target(new LatLng(Double.parseDouble(singleDestionationModelData.get(0).getCenterLng()),
                            Double.parseDouble(singleDestionationModelData.get(0).getCenterLat()))) // Sets 
     the new camera position
                    .zoom(7) // Sets the zoom
                    .bearing(340) // Rotate the camera
                    .tilt(50) // Set the camera tilt
                    .build(); // Creates a CameraPosition from the builder

            mapboxMap.animateCamera(CameraUpdateFactory
                    .newCameraPosition(position), 7000);
      }));
    }

public void polygon(Style style, Integer id_coming) {
        IconFactory iconFactory = IconFactory.getInstance(MainActivity.this);
        Icon icon = iconFactory.fromResource(R.drawable.ic_pin_default);
        polygon_marker = new MarkerOptions().position(new 
         LatLng(Double.parseDouble(singleDestionationModelData.get(0).getCenterLng()),
                Double.parseDouble(singleDestionationModelData.get(0).getCenterLat())))
                .setSnippet(String.valueOf(singleDestionationModelData.get(0).getId()))
                .setIcon(icon);
        mapboxMap.addMarker(polygon_marker);

        LineString lineString = LineString.fromLngLats(polygonCoordinates);

        style.addSource(new GeoJsonSource("polygon-source", 
 com.mapbox.geojson.Polygon.fromOuterInner(LineString.fromLngLats(polygonCoordinates))));
        style.addSource(new GeoJsonSource("outer-line-source", lineString));

        polygon_Layer = new FillLayer("polygon-layer", "polygon-source").withProperties(fillColor("#BF344C"),
                fillOpacity(.3f));

        lineLayer = new LineLayer("outer-line", "outer-line-source").withProperties(lineColor("#BF544C"),
                lineWidth(2f));

        style.addLayer(polygon_Layer);
        style.addLayer(lineLayer);
    }

 private void setUpMapImagePins(@NonNull Style loadedMapStyle, int id_point, Drawable icon) {
        loadedMapStyle.addImage("marker-icon"+id_point, icon);
    }

     private void addMarkers(int id_point){

        AtomicBoolean hasIcon= new AtomicBoolean(false);

        Drawable icon = getResources().getDrawable(R.drawable.ic_pin_default);
        List<Feature> symbolLayerIconFeatureList = new ArrayList<>();
        for (int i = 0; i < singleLandmarkTrailInfoModelData.size(); i++) {
            Double longitudeMarker = Double.parseDouble(singleLandmarkTrailInfoModelData.get(i).getLng().get(0));
            Double latittudeMarker = Double.parseDouble(singleLandmarkTrailInfoModelData.get(i).getLat().get(0));
            symbolLayerIconFeatureList.add(Feature.fromGeometry(
                    Point.fromLngLat(longitudeMarker, latittudeMarker)));

            if (singleLandmarkTrailInfoModelData.get(0) != null && hasIcon.get() == false) {
                try {
                    icon = drawableFromUrl(new URL(Links.storage_thumbs + singleLandmarkTrailInfoModelData.get(0).getMarker()),MainActivity.this);
                    hasIcon.set(true);
                } catch (MalformedURLException e) {
                    hasIcon.set(false);
                    e.printStackTrace();
                }
            }

        }

        Drawable finalIcon = icon;

        mapView.getMapAsync(mapboxMap -> mapboxMap.getStyle(style -> {

                setUpMapImagePins(style,id_point, finalIcon);

                style.addSource(new GeoJsonSource("markers-source"+id_point, FeatureCollection.fromFeatures(symbolLayerIconFeatureList)));

                 SymbolLayer maxTempLayer = new SymbolLayer("markers-layer"+id_point, "markers-source"+id_point);
                maxTempLayer.withProperties(
                        iconImage("marker-icon"+id_point),
                        iconAllowOverlap(true),
                        iconIgnorePlacement(true),
                        iconOffset(new Float[] {0f, -9f})
                );

                style.addLayer(maxTempLayer);

        }));
  }
}```
astrit-veliu commented 4 years ago

Data used to display them are retrieved from an online api.

astrit-veliu commented 4 years ago

Lifecycle methods

    //Lifecycle
    @Override
    @SuppressWarnings( {"MissingPermission"})
    protected void onStart() {
        super.onStart();
        mapView.onStart();
    }

    @Override
    public void onResume() {
        super.onResume();
        Configuration.getInstance().load(getApplicationContext(), PreferenceManager.getDefaultSharedPreferences(getApplicationContext()));
        if (mapView != null)
            mapView.onResume();
    }

    @Override
    public void onPause() {
        super.onPause();
        Configuration.getInstance().save(getApplicationContext(), PreferenceManager.getDefaultSharedPreferences(getApplicationContext()));
        if (mapView != null)
            mapView.onPause();
    }

    @Override
    protected void onStop() {
        super.onStop();
        mapView.onStop();
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        mapView.onSaveInstanceState(outState);
    }

    @Override
    public void onLowMemory() {
        super.onLowMemory();
        mapView.onLowMemory();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mapView.onDestroy();
    }
astrit-veliu commented 4 years ago

If i change the map method inside the add markers from mapView.getMapAsync(mapboxMap -> mapboxMap.getStyle(style -> to mapView.getMapAsync(mapboxMap -> { mapboxMap.setStyle(Style.OUTDOORS, style -> , the first layers with polygon and polyline disappears, but the symbol markers shows with no problem.


            mapboxMap.setStyle(Style.OUTDOORS, style -> {

                setUpMapImagePins(style,id_point, finalIcon);

                style.addSource(new GeoJsonSource("markers-source"+id_point, FeatureCollection.fromFeatures(symbolLayerIconFeatureList)));

                SymbolLayer maxTempLayer = new SymbolLayer("markers-layer"+id_point, "markers-source"+id_point);
                maxTempLayer.withProperties(
                        iconImage("marker-icon"+id_point),
                        iconAllowOverlap(true),
                        iconIgnorePlacement(true),
                        iconOffset(new Float[] {0f, -9f})
                );

                style.addLayer(maxTempLayer);

            });
        });
geeksville commented 4 years ago

I see a similar crash on my app with a Pixel 3xl, when I call addSource. Only happens some of the time:

06-10 12:27:00.762 30557 30557 F DEBUG   : Timestamp: 2020-06-10 12:27:00-0700
06-10 12:27:00.762 30557 30557 F DEBUG   : pid: 28251, tid: 28251, name: geeksville.mesh  >>> com.geeksville.mesh <<<
06-10 12:27:00.762 30557 30557 F DEBUG   : uid: 10434
06-10 12:27:00.762 30557 30557 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
06-10 12:27:00.762 30557 30557 F DEBUG   : Cause: null pointer dereference
06-10 12:27:00.762 30557 30557 F DEBUG   :     x0  000000721cf77720  x1  0000007fc1f3fe80  x2  0000000000000000  x3  00000072a3ed0076
06-10 12:27:00.762 30557 30557 F DEBUG   :     x4  0000007fc1f3fe68  x5  000000000000004a  x6  02ff2f4900ff5528  x7  7f7f7f7f7f7f7f7f
06-10 12:27:00.762 30557 30557 F DEBUG   :     x8  69679c4d1c7b16eb  x9  69679c4d1c7b16eb  x10 0000000000430000  x11 000000000000001a
06-10 12:27:00.762 30557 30557 F DEBUG   :     x12 0000007fc1f3ff30  x13 0000007fc1f3ffa8  x14 0000000000000001  x15 0000000000000000
06-10 12:27:00.762 30557 30557 F DEBUG   :     x16 00000072a43d8620  x17 00000073283d0000  x18 000000732a33a000  x19 000000732928f6c0
06-10 12:27:00.762 30557 30557 F DEBUG   :     x20 0000000000000000  x21 00000073294c6020  x22 0000007fc1f40240  x23 000000723db8844f
06-10 12:27:00.762 30557 30557 F DEBUG   :     x24 0000000000000010  x25 00000073294c6020  x26 00000073291d7cb0  x27 0000000000000004
06-10 12:27:00.762 30557 30557 F DEBUG   :     x28 0000007fc1f3ffc0  x29 0000007fc1f3ff80
06-10 12:27:00.762 30557 30557 F DEBUG   :     sp  0000007fc1f3ff40  lr  000000722ae4a2c4  pc  000000722ae4a2c8
06-10 12:27:00.991   912  1038 I CHRE    : @ 648.656: [AR_CHRE] Fill accel buffer for native multimodal model from beginning.
06-10 12:27:01.007  1364  2112 E WifiService: Permission violation - getConfiguredNetworks not allowed for uid=10318, packageName=com.tencent.mm, reason=java.lang.SecurityException: UID 10318 has no location permission
06-10 12:27:01.015 30462 30573 E libc    : Access denied finding property "net.dns1"
06-10 12:27:01.015 30462 30573 E libc    : Access denied finding property "net.dns2"
06-10 12:27:01.046 30557 30557 F DEBUG   : 

06-10 12:27:01.046 30557 30557 F DEBUG   : backtrace:
06-10 12:27:01.046 30557 30557 F DEBUG   :       #00 pc 00000000000852c8  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.046 30557 30557 F DEBUG   :       #01 pc 000000000013f350  /apex/com.android.runtime/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.046 30557 30557 F DEBUG   :       #02 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.046 30557 30557 F DEBUG   :       #03 pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.046 30557 30557 F DEBUG   :       #04 pc 00000000002df738  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.046 30557 30557 F DEBUG   :       #05 pc 00000000002daa18  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.046 30557 30557 F DEBUG   :       #06 pc 000000000059a13c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+400) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.046 30557 30557 F DEBUG   :       #07 pc 0000000000130914  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #08 pc 00000000004d346e  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.mapbox.mapboxsdk.maps.NativeMapView.addSource+26)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #09 pc 00000000005998a0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1740) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #10 pc 0000000000130a14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #11 pc 00000000004d5966  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.mapbox.mapboxsdk.maps.Style.addSource+14)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #12 pc 00000000005980ac  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1432) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #13 pc 0000000000130814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #14 pc 0000000000988aca  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.geeksville.mesh.ui.MapFragment$onViewCreated$1$1.onStyleLoaded+30)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #15 pc 00000000005998a0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1740) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #16 pc 0000000000130a14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #17 pc 00000000004d163a  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.mapbox.mapboxsdk.maps.MapboxMap.notifyStyleLoaded+54)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #18 pc 00000000005980ac  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1432) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #19 pc 0000000000130814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #20 pc 00000000004d16ec  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.mapbox.mapboxsdk.maps.MapboxMap.onFinishLoadingStyle)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #21 pc 00000000005980ac  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1432) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #22 pc 0000000000130814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #23 pc 00000000004ce1b4  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.mapbox.mapboxsdk.maps.MapView$MapCallback.onDidFinishLoadingStyle+28)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #24 pc 00000000005998a0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1740) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #25 pc 0000000000130a14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #26 pc 00000000004ca950  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.mapbox.mapboxsdk.maps.MapChangeReceiver.onDidFinishLoadingStyle+52)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #27 pc 00000000005998a0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1740) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #28 pc 0000000000130a14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #29 pc 00000000004d3750  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/oat/arm64/base.vdex (com.mapbox.mapboxsdk.maps.NativeMapView.onDidFinishLoadingStyle+8)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #30 pc 00000000002b0384  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.1271440803783865717+240) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #31 pc 00000000005893e4  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #32 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #33 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #34 pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #35 pc 00000000004a9668  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #36 pc 00000000004aa9b8  /apex/com.android.runtime/lib64/libart.so (art::InvokeVirtualOrInterfaceWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+424) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #37 pc 0000000000393260  /apex/com.android.runtime/lib64/libart.so (art::JNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+632) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #38 pc 0000000000367ffc  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType)+2372) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #39 pc 0000000000356364  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+72) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #40 pc 0000000000077664  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #41 pc 0000000000077f20  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #42 pc 000000000007a920  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #43 pc 00000000000d5e44  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #44 pc 0000000000121e44  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #45 pc 0000000000123ad8  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #46 pc 000000000016d090  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #47 pc 00000000000c225c  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #48 pc 0000000000093ca0  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #49 pc 0000000000093d7c  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #50 pc 0000000000092848  /data/app/com.geeksville.mesh-AES4FxqcLeowO0FjYXEC5w==/lib/arm64/libmapbox-gl.so (BuildId: 980ac71743367a134a958880e67d32f69eb7de18)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #51 pc 0000000000017d54  /system/lib64/libutils.so (android::Looper::pollInner(int)+856) (BuildId: 0df2a8dd53d2bcb22474e13735f3cab5)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #52 pc 000000000001795c  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+56) (BuildId: 0df2a8dd53d2bcb22474e13735f3cab5)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #53 pc 0000000000135c00  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44) (BuildId: d501f72a0b6c81722368d03bb54cdf67)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #54 pc 00000000002a3afc  /system/framework/arm64/boot-framework.oat (art_jni_trampoline+140) (BuildId: 1931a5f8587a133da6f6ac0e6825deec0d596cd1)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #55 pc 000000000201399c  /memfd:/jit-cache (deleted) (android.os.MessageQueue.next+204)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #56 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #57 pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #58 pc 00000000002df738  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #59 pc 00000000002daa18  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #60 pc 0000000000597d9c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+648) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #61 pc 0000000000130814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #62 pc 000000000031af7e  /system/framework/framework.jar (android.os.Looper.loop+130)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #63 pc 000000000059ac48  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+1136) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #64 pc 0000000000130994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #65 pc 000000000018a2e2  /system/framework/framework.jar (android.app.ActivityThread.main+194)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #66 pc 00000000002b0384  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.1271440803783865717+240) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #67 pc 00000000005893e4  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #68 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #69 pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #70 pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #71 pc 00000000004a9668  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #72 pc 00000000004ab090  /apex/com.android.runtime/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1476) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #73 pc 0000000000437ab0  /apex/com.android.runtime/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #74 pc 00000000000c2c34  /system/framework/arm64/boot.oat (art_jni_trampoline+180) (BuildId: 8059d03032a3341653796e14d676b1a997f7247e)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #75 pc 0000000000136334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #76 pc 000000000014506c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #77 pc 00000000002df738  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #78 pc 00000000002daa18  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #79 pc 0000000000597d9c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+648) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #80 pc 0000000000130814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #81 pc 000000000035095e  /system/framework/framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #82 pc 00000000002b0384  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.1271440803783865717+240) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #83 pc 00000000005893e4  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #84 pc 000000000013f468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #85 pc 00000000009b155c  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2076) (BuildId: 1931a5f8587a133da6f6ac0e6825deec0d596cd1)
06-10 12:27:01.047 30557 30557 F DEBUG   :       #86 pc 00000000001365b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #87 pc 000000000014508c  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #88 pc 00000000004a9668  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #89 pc 00000000004a92d4  /apex/com.android.runtime/lib64/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+408) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #90 pc 00000000003b67c4  /apex/com.android.runtime/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+628) (BuildId: 782d7b327d3cde508b7954af1362b4c0)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #91 pc 00000000000be560  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+116) (BuildId: d501f72a0b6c81722368d03bb54cdf67)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #92 pc 00000000000c13e8  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+780) (BuildId: d501f72a0b6c81722368d03bb54cdf67)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #93 pc 00000000000034e0  /system/bin/app_process64 (main+1168) (BuildId: e7b904a71a1cdf25c7a6206f850cf378)
06-10 12:27:01.048 30557 30557 F DEBUG   :       #94 pc 000000000007d780  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: 8de865099c99977483c8947f9b7937e9)
geeksville commented 4 years ago

btw - my theory is that getmapasync is calling my callback later when a time the view has gone away (because the user paged away from the pane that was showing the map). So I'm now testing getView() != null at the beginning of that callback and punting if it is.

astrit-veliu commented 4 years ago

btw - my theory is that getmapasync is calling my callback later when a time the view has gone away (because the user paged away from the pane that was showing the map). So I'm now testing getView() != null at the beginning of that callback and punting if it is.

The ironic part of it was that the MapBox was recognizing it like i had the style before and i had to remove the sources before adding them, non sense i know :'D. Thank you for your reply! Sometimes the MapBox is a real pain, try to get error stack always and analyse it, that's my best advice