-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Closed
Labels
f: scrollingViewports, list views, slivers, etc.Viewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.r: invalidIssue is closed as not validIssue is closed as not valid
Description
refer to the title
this might be tough to reproduce, but this happens regularly to me
logs
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during performLayout():
'package:flutter/src/widgets/nested_scroll_view.dart': Failed assertion: line 955 pos 16: 'extra >=
0.0': is not true.
Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
The relevant error-causing widget was:
CustomScrollView file:///C:/dev/projects/native/app/lib/main.dart:38:15
When the exception was thrown, this was the stack:
#2 _NestedScrollCoordinator._getMetrics (package:flutter/src/widgets/nested_scroll_view.dart:955:16)
#3 _NestedScrollCoordinator.createInnerBallisticScrollActivity (package:flutter/src/widgets/nested_scroll_view.dart:923:9)
#4 _NestedInnerBallisticScrollActivity.applyNewDimensions (package:flutter/src/widgets/nested_scroll_view.dart:1632:40)
#5 ScrollPosition.applyNewDimensions (package:flutter/src/widgets/scroll_position.dart:593:15)
#6 _NestedScrollPosition.applyNewDimensions (package:flutter/src/widgets/nested_scroll_view.dart:1582:11)
#7 ScrollPosition.applyContentDimensions (package:flutter/src/widgets/scroll_position.dart:533:7)
#8 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1481:20)
#9 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#11 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#13 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#15 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#17 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#19 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#21 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#23 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#25 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:545:11)
#26 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:14)
#28 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#29 RenderSliverFillRemainingWithScrollable.performLayout (package:flutter/src/rendering/sliver_fill.dart:92:14)
#30 RenderObject.layout (package:flutter/src/rendering/object.dart:1783:7)
#31 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:510:13)
#32 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1568:12)
#33 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1477:20)
#34 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1640:7)
#35 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:883:18)
#36 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:463:19)
#37 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:876:13)
#38 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:329:5)
#39 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#40 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
#41 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998:5)
#45 _invoke (dart:ui/hooks.dart:167:10)
#46 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5)
#47 _drawFrame (dart:ui/hooks.dart:126:31)
(elided 5 frames from class _AssertionError and dart:async)
The following RenderObject was being processed when the exception was fired: RenderViewport#8d4d5 NEEDS-LAYOUT NEEDS-PAINT:
needs compositing
creator: Viewport ← IgnorePointer-[GlobalKey#8e496] ← Semantics ← Listener ← _GestureSemantics ←
RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#6162d] ← Listener ← _ScrollableScope
← _ScrollSemantics-[GlobalKey#a8ea3] ← RepaintBoundary ← CustomPaint ← RepaintBoundary ← ⋯
parentData: <none> (can use size)
constraints: BoxConstraints(w=392.7, h=759.3)
layer: OffsetLayer#9b2cc
size: Size(392.7, 759.3)
axisDirection: down
crossAxisDirection: right
offset: _NestedScrollPosition#cd132(inner, offset: 288.1, range: 0.0..696.7, viewport: 759.3)
anchor: 0.0
This RenderObject had the following descendants (showing up to depth 5):
center child: RenderSliverPadding#9783c relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
child: RenderSliverFixedExtentList#09dbb relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
child with index 0: RenderIndexedSemantics#43b1d
child: RenderRepaintBoundary#5480e
child: RenderSemanticsAnnotations#12f12
child with index 1: RenderIndexedSemantics#fb196
child: RenderRepaintBoundary#595b8
child: RenderSemanticsAnnotations#59ef1
child with index 2: RenderIndexedSemantics#177ae
child: RenderRepaintBoundary#716a3
child: RenderSemanticsAnnotations#72eab
child with index 3: RenderIndexedSemantics#07a0b
child: RenderRepaintBoundary#45d20
child: RenderSemanticsAnnotations#75959
child with index 4: RenderIndexedSemantics#259c4
child: RenderRepaintBoundary#58c72
child: RenderSemanticsAnnotations#f129e
child with index 5: RenderIndexedSemantics#b63bf
child: RenderRepaintBoundary#21d77
child: RenderSemanticsAnnotations#d49db
child with index 6: RenderIndexedSemantics#cd32c
child: RenderRepaintBoundary#b1e94
child: RenderSemanticsAnnotations#2d14b
child with index 7: RenderIndexedSemantics#a2e3a
child: RenderRepaintBoundary#6ed9c
child: RenderSemanticsAnnotations#c0b2d
child with index 8: RenderIndexedSemantics#a5f8b
child: RenderRepaintBoundary#71721
child: RenderSemanticsAnnotations#32893
════════════════════════════════════════════════════════════════════════════════════════════════════
code sample
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: NestedScrollViewExample(),
// home: CustomScrollViewExample(),
);
}
}
class NestedScrollViewExample extends StatelessWidget {
NestedScrollViewExample({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: NestedScrollView(
floatHeaderSlivers: true,
physics: BouncingScrollPhysics(),
headerSliverBuilder: (context, innerBoxIsScrolled) => [
SliverAppBar(
floating: true,
expandedHeight: 250.0,
elevation: 0.0,
forceElevated: false,
flexibleSpace: FlexibleSpaceBar(
title: Text('Demo'),
),
),
],
body: CustomScrollView(
slivers: <Widget>[
SliverPadding(
padding: const EdgeInsets.all(8.0),
sliver: SliverFixedExtentList(
itemExtent: 48.0,
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return ListTile(
title: Text('Item $index'),
);
},
childCount: 30,
),
),
),
],
),
),
);
}
}flutter doctor -v
[✓] Flutter (Channel master, 2.1.0-13.0.pre.223, on Microsoft Windows [Version 10.0.19041.867], locale ru-RU)
• Flutter version 2.1.0-13.0.pre.223 at c:\dev\src\flutter
• Framework revision 891511d58f (2 days ago), 2021-03-23 14:57:01 -0700
• Engine revision d59a01d2d3
• Dart version 2.13.0 (build 2.13.0-150.0.dev)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at C:\Users\danya\AppData\Local\Android\sdk
• Platform android-30, build-tools 30.0.2
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
• Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
• Visual Studio Community 2019 version 16.7.30621.155
• Windows 10 SDK version 10.0.18362.0
[✓] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 50.0.1
• Dart plugin version 193.7547
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[✓] VS Code (version 1.54.3)
• VS Code at C:\Users\danya\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.20.0
[✓] Connected device (5 available)
• Redmi Note 5 (mobile) • 40c9f14 • android-arm64 • Android 9 (API 28)
• sdk gphone x86 (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)
• Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19041.867]
• Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.90
• Edge (web) • edge • web-javascript • Microsoft Edge 89.0.774.57
• No issues found!
video.mp4
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
f: scrollingViewports, list views, slivers, etc.Viewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.r: invalidIssue is closed as not validIssue is closed as not valid