fluttercommunity / fluttercommunity/page_turn

works in debug but throws Unhandled in release build

Open
#16 4 comments 2 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
202
Forks
68
PR merge metrics
No merged PRs in 30d

Description

Nice work - much appreciated however..
Compiling in release mode throws this:
Unhandled Exception: LateInitializationError: Local 'result' has not been initialized.

it seems to be related to the following line in builders/widget.dart
WidgetsBinding.instance!.addPostFrameCallback(_captureImage);

Symptom: perfect in debug, blank screen in release
Fixing it is beyond my skill as I'm just learning.

E/flutter (18180): #2 _PageTurnWidgetState._captureImage (package:ssv1/book_screen/builders/widget.dart:40)
E/flutter (18180): #3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144)
E/flutter (18180): #4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090)
E/flutter (18180): #5 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998)
E/flutter (18180): #6 _rootRun (dart:async/zone.dart:1354)
E/flutter (18180): #7 _CustomZone.run (dart:async/zone.dart:1258)
E/flutter (18180): #8 _CustomZone.runGuarded (dart:async/zone.dart:1162)
E/flutter (18180): #9 _invoke (dart:ui/hooks.dart:167)
E/flutter (18180): #10 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259)
E/flutter (18180): #11 _drawFrame (dart:ui/hooks.dart:126)
E/flutter (18180):
E/flutter (18180): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: LateInitializationError: Local 'result' has not been initialized.
E/flutter (18180): #0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:208)
E/flutter (18180): #1 RenderObject.debugNeedsPaint (package:flutter/src/rendering/object.dart:2112)
E/flutter (18180): #2 _PageTurnWidgetState._captureImage (package:ssv1/book_screen/builders/widget.dart:40)
E/flutter (18180): #3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144)
E/flutter (18180): #4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090)
E/flutter (18180): #5 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998)
E/flutter (18180): #6 _rootRun (dart:async/zone.dart:1354)
E/flutter (18180): #7 _CustomZone.run (dart:async/zone.dart:1258)
E/flutter (18180): #8 _CustomZone.runGuarded (dart:async/zone.dart:1162)
E/flutter (18180): #9 _invoke (dart:ui/hooks.dart:167)
E/flutter (18180): #10 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259)
E/flutter (18180): #11 _drawFrame (dart:ui/hooks.dart:126)
E/flutter (18180):
E/flutter (18180): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: LateInitializationError: Local 'result' has not been initialized.
E/flutter (18180): #0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:208)
E/flutter (18180): #1 RenderObject.debugNeedsPaint (package:flutter/src/rendering/object.dart:2112)
E/flutter (18180): #2 _PageTurnWidgetState._captureImage (package:ssv1/book_screen/builders/widget.dart:40)
E/flutter (18180): #3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144)
E/flutter (18180): #4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090)
E/flutter (18180): #5 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998)
E/flutter (18180): #6 _rootRun (dart:async/zone.dart:1354)
E/flutter (18180): #7 _CustomZone.run (dart:async/zone.dart:1258)
E/flutter (18180): #8 _CustomZone.runGuarded (dart:async/zone.dart:1162)
E/flutter (18180): #9 _invoke (dart:ui/hooks.dart:167)
E/flutter (18180): #10 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259)
E/flutter (18180): #11 _drawFrame (dart:ui/hooks.dart:126)
E/flutter (18180):
E/flutter (18180): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: LateInitializationError: Local 'result' has not been initialized.
E/flutter (18180): #0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:208)
E/flutter (18180): #1 RenderObject.debugNeedsPaint (package:flutter/src/rendering/object.dart:2112)
E/flutter (18180): #2 _PageTurnWidgetState._captureImage (package:ssv1/book_screen/builders/widget.dart:40)
E/flutter (18180): #3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144)
E/flutter (18180): #4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090)
E/flutter (18180): #5 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998)
E/flutter (18180): #6 _rootRun (dart:async/zone.dart:1354)
E/flutter (18180): #7 _CustomZone.run (dart:async/zone.dart:1258)
E/flutter (18180): #8 _CustomZone.runGuarded (dart:async/zone.dart:1162)
E/flutter (18180): #9 _invoke (dart:ui/hooks.dart:167)
E/flutter (18180): #10 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259)
E/flutter (18180): #11 _drawFrame (dart:ui/hooks.dart:126)
E/flutter (18180):
E/flutter (18180): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: LateInitializationError: Local 'result' has not been initialized.
E/flutter (18180): #0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:208)
E/flutter (18180): #1 RenderObject.debugNeedsPaint (package:flutter/src/rendering/object.dart:2112)
E/flutter (18180): #2 _PageTurnWidgetState._captureImage (package:ssv1/book_screen/builders/widget.dart:40)
E/flutter (18180): #3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144)
E/flutter (18180): #4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090)
E/flutter (18180): #5 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998)
E/flutter (18180): #6 _rootRun (dart:async/zone.dart:1354)
E/flutter (18180): #7 _CustomZone.run (dart:async/zone.dart:1258)
E/flutter (18180): #8 _CustomZone.runGuarded (dart:async/zone.dart:1162)
E/flutter (18180): #9 _invoke (dart:ui/hooks.dart:167)
E/flutter (18180): #10 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259)
E/flutter (18180): #11 _drawFrame (dart:ui/hooks.dart:126)
E/flutter (18180):
E/flutter (18180): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: LateInitializationError: Local 'result' has not been initialized.
E/flutter (18180): #0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:208)
E/flutter (18180): #1 RenderObject.debugNeedsPaint (package:flutter/src/rendering/object.dart:2112)
E/flutter (18180): #2 _PageTurnWidgetState._captureImage (package:ssv1/book_screen/builders/widget.dart:40)
E/flutter (18180): #3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144)
E/flutter (18180): #4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090)
E/flutter (18180): #5 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998)
E/flutter (18180): #6 _rootRun (dart:async/zone.dart:1354)
E/flutter (18180): #7 _CustomZone.run (dart:async/zone.dart:1258)
E/flutter (18180): #8 _CustomZone.runGuarded (dart:async/zone.dart:1162)
E/flutter (18180): #9 _invoke (dart:ui/hooks.dart:167)
E/flutter (18180): #10 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259)
E/flutter (18180): #11 _drawFrame (dart:ui/hooks.dart:126)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in builders/widget.dart at line 40 and inspect _captureImage and the WidgetsBinding.instance!.addPostFrameCallback(_captureImage) call. Reproduce the reported behavior in a release build and trace why the local result is uninitialized there. Done means the release build no longer throws LateInitializationError and does not show a blank screen.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
frontend, mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.