flutter_staggered_grid_view
flutter_staggered_grid_view copied to clipboard
Bad state: No element.
I'm facing the following error tracked via Crashlytics:
Non-fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: Bad state: No element. Error thrown Instance of 'ErrorDescription'.
at ListMixin.reduce(ListMixin.java)
at RenderSliverMasonryGrid.performLayout(sliver_masonry_grid.dart:502)
at RenderObject.layout(object.dart:2135)
at RenderSliverEdgeInsetsPadding.performLayout(sliver_padding.dart:149)
at RenderSliverPadding.performLayout(sliver_padding.dart:386)
at RenderObject.layout(object.dart:2135)
at RenderViewportBase.layoutChildSequence(viewport.dart:516)
at RenderShrinkWrappingViewport._attemptLayout(viewport.dart:1960)
at RenderShrinkWrappingViewport.performLayout(viewport.dart:1905)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderCustomPaint.performLayout(custom_paint.dart:552)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderProxyBoxMixin.performLayout(proxy_box.dart:120)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderConstrainedBox.performLayout(proxy_box.dart:292)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at _RenderLayoutBuilder.performLayout(layout_builder.dart:318)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at ChildLayoutHelper.layoutChild(layout_helper.dart:56)
at RenderFlex._computeSizes(flex.dart:836)
at RenderFlex.performLayout(flex.dart:938)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderPadding.performLayout(shifted_box.dart:249)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at ChildLayoutHelper.layoutChild(layout_helper.dart:56)
at RenderFlex._computeSizes(flex.dart:836)
at RenderFlex.performLayout(flex.dart:938)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderConstrainedBox.performLayout(proxy_box.dart:292)
at RenderObject.layout(object.dart:2135)
at RenderBox.layout(box.dart:2418)
at RenderSliverToBoxAdapter.performLayout(sliver.dart:1814)
at RenderObject.layout(object.dart:2135)
at RenderViewportBase.layoutChildSequence(viewport.dart:516)
at RenderViewport._attemptLayout(viewport.dart:1600)
at RenderViewport.performLayout(viewport.dart:1507)
at RenderObject._layoutWithoutResize(object.dart:1973)
at PipelineOwner.flushLayout(object.dart:999)
at RendererBinding.drawFrame(binding.dart:513)
at WidgetsBinding.drawFrame(binding.dart:884)
at RendererBinding._handlePersistentFrameCallback(binding.dart:378)
at SchedulerBinding._invokeFrameCallback(binding.dart:1175)
at SchedulerBinding.handleDrawFrame(binding.dart:1104)
at SchedulerBinding._handleDrawFrame(binding.dart:1015)
RenderSliverMasonryGrid:
// Here, earliestUsefulChild is still the first child, it's got a
// scrollOffset that is at or before our actual scrollOffset, and it has
// been laid out, and is in fact our leadingChildWithLayout. It's possible
// that some children beyond that one have also been laid out.
final leadingScrollOffset = scrollOffsets.reduce(math.min);
Stackoverflow says:
This will happen when there is no matching element, i.e. when
a == bis never true for any of the elements in list and the optional parameter orElse is not specified.
Bug is reported, I never saw this myself. Around 3% of my users are affected.
I'm using latest version 0.6.2.