8000 Stack Overflow Error in feature_layer_utils · Issue #2111 · fleaflet/flutter_map · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Stack Overflow Error in feature_layer_utils #2111
Closed
@Finni123

Description

@Finni123

What is the bug?

A crash was reported on one of my user's devices.
Unfortunately, no logs were sent with it so I only have the stacktrace, but I don't know what happened...

I am very sorry that I can't provide a minimal reproducible example or anything else, but I thought it's probably good to report this here anyways.

This occurred on a non-rooted Android 15 phone in portrait mode. That's all I know :(

This is what my map looks like:

    
  final MapController _mapController = MapController();
  late final StreamController<double?> _alignPositionStreamController;
  /// ...

    return FlutterMap(
      mapController: _mapController,
      options: MapOptions(
        keepAlive: true,
        initialCenter: provider.center,
        initialZoom: provider.center.zoom,
        initialRotation: provider.center.rotation,
      ),
      children: [
        TileLayer(
          urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
          userAgentPackageName: _packageName,
          tileProvider: NetworkTileProvider(silenceExceptions: true),
        ),
        _floorLayer(provider),
        if (locationReady) _currentLocationLayer(),
        if (_showMarker) _markerLayer(provider),
      ],
    );

/// here are the layers:
  Widget _floorLayer(AppDataProvider provider) {
    return Consumer<AppDataProvider>(
      builder: (context, provider, _) {
        String mapAsset = provider.mapAsset;
        return IgnorePointer(
        child: OverlayImageLayer(
          overlayImages: [
            RotatedOverlayImage(
              bottomLeftCorner: provider.mapBotLeft,
              bottomRightCorner: provider.mapBotRight,
              topLeftCorner: provider.mapTopLeft,
              imageProvider:
                  AssetImage(mapAsset),
            ),
          ],
        ),
      );
      },
    );
  }

  Widget _currentLocationLayer() {
    return IgnorePointer(
      child: CurrentLocationLayer(
        alignPositionStream: _alignPositionStreamController.stream,
        style: LocationMarkerStyle(
      
783A
    accuracyCircleColor: AppConfig.instance.color.withAlpha(32),
          headingSectorColor: AppConfig.instance.color.withAlpha(32),
          headingSectorRadius: 10,
          marker: DefaultLocationMarker(color: color),
        ),
      ),
    );
  }

  Widget _markerLayer(AppDataProvider provider) {
    return IgnorePointer(
      child: MarkerLayer(markers: [
        Marker(
            point: provider.marker,
            child: Image.asset(AppConfig.instance.markerIcon),
            width: 40,
            height: 40)
      ]),
    );
  }

It was caused in flutter_map/src/layer/shared/feature_layer_utils.dart:66.

Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: Stack Overflow. Error thrown .
       at FeatureLayerUtils.workAcrossWorlds.protectInfiniteLoop(feature_layer_utils.dart:66)
       at FeatureLayerUtils.workAcrossWorlds(feature_layer_utils.dart:87)
       at CirclePainter.paint(painter.dart:105)
       at RenderCustomPaint._paintWithPainter(custom_paint.dart:593)
       at RenderCustomPaint.paint(custom_paint.dart:641)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at PaintingContext.pushTransform(object.dart:798)
       at RenderTransform.paint(proxy_box.dart:2686)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderShiftedBox.paint(shifted_box.dart:81)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderBoxContainerDefaultsMixin.defaultPaint(box.dart:3372)
       at RenderStack.paintStack(stack.dart:704)
       at RenderStack.paint(stack.dart:720)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderBoxContainerDefaultsMixin.defaultPaint(box.dart:3372)
       at RenderStack.paintStack(stack.dart:704)
       at RenderStack.paint(stack.dart:720)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at PaintingContext.pushLayer(object.dart:507)
       at PaintingContext.pushClipRect(object.dart:574)
       at RenderClipRect.paint(proxy_box.dart:1576)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at _RenderLayoutBuilder.paint(layout_builder.dart:472)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext.paintChild(object.dart:261)
       at RenderProxyBoxMixin.paint(proxy_box.dart:140)
       at RenderObject._paintWithContext(object.dart:3483)
       at PaintingContext._repaintCompositedChild(object.dart:176)
       at PaintingContext.repaintCompositedChild(object.dart:121)
       at PipelineOwner.flushPaint(object.dart:1312)
       at PipelineOwner.flushPaint(object.dart:1322)
       at RendererBinding.drawFrame(binding.dart:631)
       at WidgetsBinding.drawFrame(binding.dart:1242)
       at RendererBinding._handlePersistentFrameCallback(binding.dart:495)
       at SchedulerBinding._invokeFrameCallback(binding.dart:1438)
       at SchedulerBinding.handleDrawFrame(binding.dart:1351)
       at SchedulerBinding._handleDrawFrame(binding.dart:1204)

How can we reproduce it?

I don't know 😭

Do you have a potential solution?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    P: 3 (low)(Default priority for feature requests)

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0