mlabouardy / flutter-watchnow

Serverless Cross-platform mobile application with Flutter & AWS Lambda 💭
MIT License
48 stars 11 forks source link

App crashing when no movies parsed #1

Open jwusch opened 6 years ago

jwusch commented 6 years ago

Doing a git clone and opening in Android Studio and attempting to run gives this stacktrace

Launching lib\main.dart on Nexus 6P in debug mode... Initializing gradle... Resolving dependencies... Running 'gradlew assembleDebug'... Built build\app\outputs\apk\debug\app-debug.apk (25.4MB). I/FlutterActivityDelegate( 1200): onResume setting current activity to this Syncing files to device Nexus 6P... I/flutter ( 1200): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ I/flutter ( 1200): The following RangeError was thrown during performLayout(): I/flutter ( 1200): RangeError (index): Invalid value: Valid value range is empty: 0 I/flutter ( 1200): I/flutter ( 1200): When the exception was thrown, this was the stack: I/flutter ( 1200): #0 List.[] (dart:core-patch/dart:core/growable_array.dart:141) I/flutter ( 1200): #1 TopMoviesState._fetchMovies. (file:///C:/Users/Wusch/Documents/GitHub/flutter-watchnow/lib/main.dart:81) I/flutter ( 1200): #2 SliverChildBuilderDelegate.build (package:flutter/src/widgets/sliver.dart:197) I/flutter ( 1200): #3 SliverMultiBoxAdaptorElement._build. (package:flutter/src/widgets/sliver.dart:716) I/flutter ( 1200): #4 _HashMap.putIfAbsent (dart:collection-patch/dart:collection/collection_patch.dart:143) I/flutter ( 1200): #5 SliverMultiBoxAdaptorElement._build (package:flutter/src/widgets/sliver.dart:716) I/flutter ( 1200): #6 SliverMultiBoxAdaptorElement.createChild. (package:flutter/src/widgets/sliver.dart:729) I/flutter ( 1200): #7 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2205) I/flutter ( 1200): #8 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:722) I/flutter ( 1200): #9 RenderSliverMultiBoxAdaptor._createOrObtainChild. (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:254) I/flutter ( 1200): #10 RenderObject.invokeLayoutCallback. (package:flutter/src/rendering/object.dart:1666) I/flutter ( 1200): #11 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:740) I/flutter ( 1200): #12 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1666) I/flutter ( 1200): #13 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:243) I/flutter ( 1200): #14 RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:351) I/flutter ( 1200): #15 RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:78) I/flutter ( 1200): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #17 RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:182) I/flutter ( 1200): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #19 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:285) I/flutter ( 1200): #20 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1008) I/flutter ( 1200): #21 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:932) I/flutter ( 1200): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #23 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #25 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #27 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #28 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #29 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #31 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #32 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #33 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #34 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #35 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #36 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #37 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #38 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #39 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:124) I/flutter ( 1200): #40 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:256) I/flutter ( 1200): #41 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:194) I/flutter ( 1200): #42 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:338) I/flutter ( 1200): #43 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #44 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #45 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #46 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #47 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1138) I/flutter ( 1200): #48 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #49 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:381) I/flutter ( 1200): #50 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #51 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:124) I/flutter ( 1200): #52 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:256) I/flutter ( 1200): #53 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:194) I/flutter ( 1200): #54 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:338) I/flutter ( 1200): #55 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #56 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #57 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #58 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #59 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1138) I/flutter ( 1200): #60 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #61 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #62 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #63 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #64 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #65 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #66 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #67 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #68 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #69 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #70 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2710) I/flutter ( 1200): #71 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #72 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #73 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #74 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:509) I/flutter ( 1200): #75 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #76 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #77 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #78 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #79 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #80 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #81 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #82 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #83 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #84 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:107) I/flutter ( 1200): #85 RenderObject.layout (package:flutter/src/rendering/object.dart:1570) I/flutter ( 1200): #86 RenderView.performLayout (package:flutter/src/rendering/view.dart:142) I/flutter ( 1200): #87 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1445) I/flutter ( 1200): #88 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:709) I/flutter ( 1200): #89 BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270) I/flutter ( 1200): #90 BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:622) I/flutter ( 1200): #91 BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208) I/flutter ( 1200): #92 BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990) I/flutter ( 1200): #93 BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930) I/flutter ( 1200): #94 BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame. (package:flutter/src/scheduler/binding.dart:751) I/flutter ( 1200): #96 _Timer._runTimers (dart:isolate-patch/dart:isolate/timer_impl.dart:382) I/flutter ( 1200): #97 _Timer._handleMessage (dart:isolate-patch/dart:isolate/timer_impl.dart:416) I/flutter ( 1200): #98 _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:165) I/flutter ( 1200): (elided one frame from package dart:async-patch) I/flutter ( 1200): I/flutter ( 1200): The following RenderObject was being processed when the exception was fired: I/flutter ( 1200): RenderSliverList#9a2f4 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT I/flutter ( 1200): creator: SliverList ← SliverPadding ← Viewport ← _ScrollableScope ← I/flutter ( 1200): IgnorePointer-[GlobalKey#1c1cf] ← Semantics ← Listener ← _GestureSemantics ← I/flutter ( 1200): RawGestureDetector-[LabeledGlobalKey#b15b6] ← I/flutter ( 1200): _ExcludableScrollSemantics-[GlobalKey#00e3f] ← RepaintBoundary ← CustomPaint ← ⋯ I/flutter ( 1200): parentData: paintOffset=Offset(0.0, 0.0) (can use size) I/flutter ( 1200): constraints: SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, I/flutter ( 1200): scrollOffset: 0.0, remainingPaintExtent: 587.4, crossAxisExtent: 379.4, crossAxisDirection: I/flutter ( 1200): AxisDirection.right, viewportMainAxisExtent: 603.4) I/flutter ( 1200): geometry: null I/flutter ( 1200): no children current live I/flutter ( 1200): This RenderObject has no descendants. I/flutter ( 1200): ════════════════════════════════════════════════════════════════════════════════════════════════════ I/flutter ( 1200): Another exception was thrown: NoSuchMethodError: The getter 'scrollOffsetCorrection' was called on null. I/flutter ( 1200): Another exception was thrown: NoSuchMethodError: The method 'debugAssertIsValid' was called on null. I/flutter ( 1200): Another exception was thrown: NoSuchMethodError: The getter 'visible' was called on null.

Looks like the movie response not parsing correctly and this._movies[] is empty

airthomas commented 6 years ago

me too, thanks.

KingDarBoja commented 5 years ago

Add this line to the ListView:

return new ListView.builder(
      padding: const EdgeInsets.all(16.0),
      itemCount: _movies.length; // <-- This line
      itemBuilder: (context, i){

As stated in a similar question on Stack Overflow: ListView Error in Building.

Cheers!