flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
166.19k stars 27.49k forks source link

[web] Bug in TextPainter. Assertion failed: !debugNeedsLayout #103989

Open ryanheise opened 2 years ago

ryanheise commented 2 years ago

Steps to Reproduce

  1. Execute flutter run -d chrome on the code sample below
  2. While the app is loading, move the mouse around in circles over the window.
  3. Keep moving the mouse until the Japanese font has loaded, and see the stack trace.
  4. If the stack trace doesn't appear, try again (e.g. hot restart, and move the mouse).

Expected results:

No error.

Actual results:

We see the following error:

Error: Assertion failed:
file:///Volumes/Samsung_T5/opt/flutter/packages/flutter/lib/src/painting/text_painter.dart:954:12
!_debugNeedsLayout
is not true

Full error in the details below. I have had to truncate the --verbose output since it makes the body too long for a GitHub comment.

Code sample ```dart import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: SingleChildScrollView( child: RichText( text: TextSpan( children: [ for (var i = 0; i < 2000; i++) const TextSpan( text: 'はははは', style: TextStyle(fontSize: 24), ), ], ), ), ), ), ); } } ```
Logs ``` [ +100 ms] executing: sysctl hw.optional.arm64 [ +18 ms] Exit code 1 from: sysctl hw.optional.arm64 [ ] sysctl: unknown oid 'hw.optional.arm64' [ +7 ms] executing: [/Volumes/Samsung_T5/opt/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H [ +25 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H [ ] ee4e09cce01d6f2d7f4baebd247fde02e5008851 [ ] executing: [/Volumes/Samsung_T5/opt/flutter/] git tag --points-at ee4e09cce01d6f2d7f4baebd247fde02e5008851 [ +155 ms] Exit code 0 from: git tag --points-at ee4e09cce01d6f2d7f4baebd247fde02e5008851 [ ] 3.0.0 [ +9 ms] executing: [/Volumes/Samsung_T5/opt/flutter/] git rev-parse --abbrev-ref --symbolic @{u} [ +15 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u} [ ] origin/stable [ ] executing: [/Volumes/Samsung_T5/opt/flutter/] git ls-remote --get-url origin [ +14 ms] Exit code 0 from: git ls-remote --get-url origin [ ] https://github.com/flutter/flutter.git [ +93 ms] Unable to locate an Android SDK. [ +4 ms] executing: [/Volumes/Samsung_T5/opt/flutter/] git rev-parse --abbrev-ref HEAD [ +18 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD [ ] stable [ +5 ms] executing: sw_vers -productName [ +16 ms] Exit code 0 from: sw_vers -productName [ +1 ms] macOS [ ] executing: sw_vers -productVersion [ +14 ms] Exit code 0 from: sw_vers -productVersion [ ] 11.5.2 [ ] executing: sw_vers -buildVersion [ +13 ms] Exit code 0 from: sw_vers -buildVersion [ ] 20G95 [ ] executing: uname -m [ +5 ms] Exit code 0 from: uname -m [ ] x86_64 [ +62 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update. [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ +57 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update. [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ +29 ms] executing: sysctl hw.optional.arm64 [ +4 ms] Exit code 1 from: sysctl hw.optional.arm64 [ ] sysctl: unknown oid 'hw.optional.arm64' [ ] executing: xcrun xcodebuild -version [ +544 ms] Exit code 0 from: xcrun xcodebuild -version [ ] Xcode 12.5.1 Build version 12E507 [ +64 ms] Skipping pub get: version match. [ +127 ms] Generating /Volumes/Samsung_T5/projects/text_painter_bug/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java [ +184 ms] Launching lib/main.dart on Chrome in debug mode... [ +130 ms] Updating assets [ +94 ms] Waiting for connection from debug service on Chrome... [ +64 ms] <- reset [ +11 ms] /Volumes/Samsung_T5/opt/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /Volumes/Samsung_T5/opt/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server.dart.snapshot --sdk-root /Volumes/Samsung_T5/opt/flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill /var/folders/93/k9f9nls55zxg2jp2hx439wx00000gn/T/flutter_tools.G3uRa9/flutter_tool.1eBqb4/app.dill --libraries-spec file:///Volumes/Samsung_T5/opt/flutter/bin/cache/flutter_web_sdk/libraries.json --packages /Volumes/Samsung_T5/projects/text_painter_bug/.dart_tool/package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root /var/folders/93/k9f9nls55zxg2jp2hx439wx00000gn/T/flutter_tools.G3uRa9/flutter_tools.pdgO3j --filesystem-scheme org-dartlang-app --initialize-from-dill build/b1b715402d823b7fd5c2b68d2edcb2ce.cache.dill.track.dill --platform file:///Volumes/Samsung_T5/opt/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill --sound-null-safety [ +14 ms] <- compile org-dartlang-app:/web_entrypoint.dart [+17025 ms] Waiting for connection from debug service on Chrome... (completed in 17.1s) [ ] Synced 29.9MB. [ ] <- accept [ ] Caching compiled dill [ +140 ms] Using Google Chrome 101.0.4951.64 [ +9 ms] executing: sysctl hw.optional.arm64 [ +6 ms] Exit code 1 from: sysctl hw.optional.arm64 [ ] sysctl: unknown oid 'hw.optional.arm64' [ +329 ms] [CHROME]: [ ] [CHROME]: DevTools listening on ws://127.0.0.1:52771/devtools/browser/2daaaca8-ec6b-4d48-a777-e936ea4a56f4 [+1516 ms] DwdsInjector: Received request for entrypoint at http://localhost:52767/main_module.bootstrap.js [ +5 ms] MetadataProvider: Loading debug metadata... ---- PORTION DELETED TO FIT IN A GITHUB COMMENT ---- [ +7 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:52767/main_module.bootstrap.js [+2883 ms] ChromeProxyService: Initializing expression compiler for main_module.bootstrap.js with sound null safety: true [ +81 ms] DevHandler: Debug service listening on ws://127.0.0.1:52790/hjzI0AFy3LQ=/ws [ +23 ms] DevHandler: VmService proxy responded with an error: {jsonrpc: 2.0, id: 9, error: {code: -32601, message: Method not found, data: {jsonrpc: 2.0, method: _setStreamIncludePrivateMembers, id: 9, params: {streamId: Stdout, includePrivateMembers: false}}}} [ +4 ms] This app is linked to the debug service: ws://127.0.0.1:52790/hjzI0AFy3LQ=/ws [ +1 ms] DevHandler: VmService proxy responded with an error: {jsonrpc: 2.0, id: 10, error: {code: -32601, message: Method not found, data: {jsonrpc: 2.0, method: _setStreamIncludePrivateMembers, id: 10, params: {streamId: Stderr, includePrivateMembers: false}}}} [ +2 ms] DevHandler: VmService proxy responded with an error: {jsonrpc: 2.0, id: 11, error: {code: -32601, message: Method not found, data: {jsonrpc: 2.0, method: _setStreamIncludePrivateMembers, id: 11, params: {streamId: Isolate, includePrivateMembers: false}}}} [ +5 ms] DevHandler: VmService proxy responded with an error: {jsonrpc: 2.0, id: 12, error: {code: -32601, message: Method not found, data: {jsonrpc: 2.0, method: _setStreamIncludePrivateMembers, id: 12, params: {streamId: Extension, includePrivateMembers: false}}}} [ +5 ms] Debug service listening on ws://127.0.0.1:52790/hjzI0AFy3LQ=/ws [ ] 💪 Running with sound null safety 💪 [ +3 ms] 🔥 To hot restart changes while running, press "r" or "R". [ ] For a more detailed help message, press "h". To quit, press "q". [ ] An Observatory debugger and profiler on Chrome is available at: http://127.0.0.1:52790/hjzI0AFy3LQ= [ +22 ms] Flutter Web Bootstrap: Programmatic [+1430 ms] The Flutter DevTools debugger and profiler on Chrome is available at: http://127.0.0.1:9100?uri=http://127.0.0.1:52790/hjzI0AFy3LQ= [+1211 ms] Error: Assertion failed: file:///Volumes/Samsung_T5/opt/flutter/packages/flutter/lib/src/painting/text_painter.dart:954:12 !_debugNeedsLayout is not true at Object.throw_ [as throw] (http://localhost:52767/dart_sdk.js:5080:11) at Object.assertFailed (http://localhost:52767/dart_sdk.js:5005:15) at text_painter.TextPainter.new.getPositionForOffset (http://localhost:52767/packages/flutter/src/painting/placeholder_span.dart.lib.js:2396:43) at paragraph.RenderParagraph.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/paragraph.dart.lib.js:611:45) at paragraph.RenderParagraph.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at http://localhost:52767/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:703:47 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at single_child_scroll_view._RenderSingleChildViewport.new.hitTestChildren (http://localhost:52767/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:701:23) at single_child_scroll_view._RenderSingleChildViewport.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3518:38) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderSemanticsGestureHandler.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsGestureHandler.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at scrollable$._RenderScrollSemantics.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at scrollable$._RenderScrollSemantics.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/custom_paint.dart.lib.js:325:20) at custom_paint.RenderCustomPaint.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderMouseRegion.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3279:20) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderSemanticsGestureHandler.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsGestureHandler.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at custom_layout.RenderCustomMultiChildLayoutBox.new.defaultHitTestChildren (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) at custom_layout.RenderCustomMultiChildLayoutBox.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/custom_layout.dart.lib.js:283:19) at custom_layout.RenderCustomMultiChildLayoutBox.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at material._RenderInkFeatures.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at material._RenderInkFeatures.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderPhysicalModel.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPhysicalModel.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderPhysicalModel.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:2190:20) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3518:38) at http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at stack.RenderStack.new.defaultHitTestChildren (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) at stack.RenderStack.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/stack.dart.lib.js:591:19) at stack.RenderStack.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderDecoratedBox.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderDecoratedBox.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:244 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:21) at proxy_box.RenderFractionalTranslation.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3071:19) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:244 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:21) at proxy_box.RenderFractionalTranslation.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3071:19) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at routes._RenderFocusTrap.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at routes._RenderFocusTrap.new.hitTest (http://localhost:52767/packages/flutter/src/widgets/title.dart.lib.js:16083:26) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderOffstage.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderOffstage.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderOffstage.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3617:38) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at http://localhost:52767/packages/flutter/src/widgets/title.dart.lib.js:26893:42 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at overlay$._RenderTheatre.new.hitTestChildren (http://localhost:52767/packages/flutter/src/widgets/title.dart.lib.js:26891:28) at overlay$._RenderTheatre.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderAbsorbPointer.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderAbsorbPointer.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderAbsorbPointer.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:3691:68) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/custom_paint.dart.lib.js:325:20) at custom_paint.RenderCustomPaint.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:52767/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at view.RenderView.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:4744:58) at binding$5.WidgetsFlutterBinding.new.hitTest (http://localhost:52767/packages/flutter/src/rendering/layer.dart.lib.js:5540:23) at binding$5.WidgetsFlutterBinding.new.[_handlePointerEventImmediately] (http://localhost:52767/packages/flutter/src/gestures/binding.dart.lib.js:312:14) at binding$5.WidgetsFlutterBinding.new.handlePointerEvent (http://localhost:52767/packages/flutter/src/gestures/binding.dart.lib.js:305:43) at binding$5.WidgetsFlutterBinding.new.[_flushPointerEventQueue] (http://localhost:52767/packages/flutter/src/gestures/binding.dart.lib.js:295:14) at binding$5.WidgetsFlutterBinding.new.[_handlePointerDataPacket] (http://localhost:52767/packages/flutter/src/gestures/binding.dart.lib.js:286:54) at Object.invoke1 (http://localhost:52767/dart_sdk.js:191747:7) at _engine.EnginePlatformDispatcher.__.invokeOnPointerDataPacket (http://localhost:52767/dart_sdk.js:171943:15) at _engine.PointerBinding.__.[_onPointerData] (http://localhost:52767/dart_sdk.js:172879:49) at http://localhost:52767/dart_sdk.js:173306:26 at http://localhost:52767/dart_sdk.js:173273:16 at loggedHandler (http://localhost:52767/dart_sdk.js:172978:11) ``` ``` Analyzing text_painter_bug... No issues found! (ran in 3.5s) ``` ``` [✓] Flutter (Channel stable, 3.0.0, on macOS 11.5.2 20G95 darwin-x64, locale en-AU) • Flutter version 3.0.0 at /Volumes/Samsung_T5/opt/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision ee4e09cce0 (8 days ago), 2022-05-09 16:45:18 -0700 • Engine revision d1b9a6938a • Dart version 2.17.0 • DevTools version 2.12.2 [✗] Android toolchain - develop for Android devices ✗ ANDROID_HOME = /Users/ryan/opt/android-sdk but Android SDK not found at this location. [!] Xcode - develop for iOS and macOS (Xcode 12.5.1) • Xcode at /Applications/Xcode.app/Contents/Developer ✗ Flutter requires Xcode 13 or higher. Download the latest version or update via the Mac App Store. ! CocoaPods 1.10.1 out of date (1.11.0 is recommended). CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-plugins To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions. [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [!] Android Studio (not installed) • Android Studio not found; download from https://developer.android.com/studio/index.html (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions). [✓] Connected device (2 available) • macOS (desktop) • macos • darwin-x64 • macOS 11.5.2 20G95 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 101.0.4951.64 [✓] HTTP Host Availability • All required HTTP hosts are available ! Doctor found issues in 3 categories. ```

Notes:

By the way, why does Flutter Web not use the source map when printing stack traces in the terminal, but it does inside the JS console? It would be helpful to have the Dart line numbers in the stack trace in both cases.

huycozy commented 2 years ago

Hi, I can reproduce this issue on latest stable and master channels with provided sample code. The issue is only happening with canvaskit.

And I also tried on the mobile (Android, iOS), this issue is not reproducible.

Demo | HTML | Canvaskit | | --------------- | --------------- |
Error log ```bash Error: Assertion failed: file:///Users/huynq/Documents/GitHub/flutter/packages/flutter/lib/src/painting/text_painter.dart:954:12 !_debugNeedsLayout is not true at Object.throw_ [as throw] (http://localhost:53584/dart_sdk.js:5080:11) at Object.assertFailed (http://localhost:53584/dart_sdk.js:5005:15) at text_painter.TextPainter.new.getPositionForOffset (http://localhost:53584/packages/flutter/src/painting/placeholder_span.dart.lib.js:2396:43) at paragraph.RenderParagraph.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/paragraph.dart.lib.js:611:45) at paragraph.RenderParagraph.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at http://localhost:53584/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:703:47 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at single_child_scroll_view._RenderSingleChildViewport.new.hitTestChildren (http://localhost:53584/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:701:23) at single_child_scroll_view._RenderSingleChildViewport.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3518:38) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderSemanticsGestureHandler.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsGestureHandler.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at scrollable$._RenderScrollSemantics.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at scrollable$._RenderScrollSemantics.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/custom_paint.dart.lib.js:325:20) at custom_paint.RenderCustomPaint.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderMouseRegion.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3279:20) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderSemanticsGestureHandler.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsGestureHandler.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at custom_layout.RenderCustomMultiChildLayoutBox.new.defaultHitTestChildren (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) at custom_layout.RenderCustomMultiChildLayoutBox.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/custom_layout.dart.lib.js:283:19) at custom_layout.RenderCustomMultiChildLayoutBox.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at material._RenderInkFeatures.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at material._RenderInkFeatures.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderPhysicalModel.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPhysicalModel.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderPhysicalModel.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:2190:20) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3518:38) at http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at stack.RenderStack.new.defaultHitTestChildren (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) at stack.RenderStack.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/stack.dart.lib.js:591:19) at stack.RenderStack.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderDecoratedBox.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderDecoratedBox.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:244 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:21) at proxy_box.RenderFractionalTranslation.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3071:19) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:244 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at proxy_box.RenderFractionalTranslation.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3076:21) at proxy_box.RenderFractionalTranslation.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3071:19) at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at routes._RenderFocusTrap.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at routes._RenderFocusTrap.new.hitTest (http://localhost:53584/packages/flutter/src/widgets/title.dart.lib.js:16083:26) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderOffstage.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderOffstage.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderOffstage.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3617:38) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at http://localhost:53584/packages/flutter/src/widgets/title.dart.lib.js:26893:42 at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) at overlay$._RenderTheatre.new.hitTestChildren (http://localhost:53584/packages/flutter/src/widgets/title.dart.lib.js:26891:28) at overlay$._RenderTheatre.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderAbsorbPointer.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderAbsorbPointer.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderAbsorbPointer.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:3691:68) at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderPointerListener.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/custom_paint.dart.lib.js:325:20) at custom_paint.RenderCustomPaint.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:53584/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) at view.RenderView.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:4744:58) at binding$5.WidgetsFlutterBinding.new.hitTest (http://localhost:53584/packages/flutter/src/rendering/layer.dart.lib.js:5540:23) at binding$5.WidgetsFlutterBinding.new.[_handlePointerEventImmediately] (http://localhost:53584/packages/flutter/src/gestures/binding.dart.lib.js:312:14) at binding$5.WidgetsFlutterBinding.new.handlePointerEvent (http://localhost:53584/packages/flutter/src/gestures/binding.dart.lib.js:305:43) at binding$5.WidgetsFlutterBinding.new.[_flushPointerEventQueue] (http://localhost:53584/packages/flutter/src/gestures/binding.dart.lib.js:295:14) at binding$5.WidgetsFlutterBinding.new.[_handlePointerDataPacket] (http://localhost:53584/packages/flutter/src/gestures/binding.dart.lib.js:286:54) at Object.invoke1 (http://localhost:53584/dart_sdk.js:191747:7) at _engine.EnginePlatformDispatcher.__.invokeOnPointerDataPacket (http://localhost:53584/dart_sdk.js:171943:15) at _engine.PointerBinding.__.[_onPointerData] (http://localhost:53584/dart_sdk.js:172879:49) at http://localhost:53584/dart_sdk.js:173306:26 at http://localhost:53584/dart_sdk.js:173273:16 at loggedHandler (http://localhost:53584/dart_sdk.js:172978:11) ```
flutter doctor -v ```bash [✓] Flutter (Channel stable, 3.0.0, on macOS 12.2.1 21D62 darwin-x64, locale en-VN) • Flutter version 3.0.0 at /Users/huynq/Documents/GitHub/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision ee4e09cce0 (2 days ago), 2022-05-09 16:45:18 -0700 • Engine revision d1b9a6938a • Dart version 2.17.0 • DevTools version 2.12.2 [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /Users/huynq/Library/Android/sdk • Platform android-31, build-tools 31.0.0 • ANDROID_HOME = /Users/huynq/Library/Android/sdk • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 13.2.1) • Xcode at /Applications/Xcode.app/Contents/Developer • CocoaPods version 1.11.3 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2021.2) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840) [✓] Android Studio (version 4.1) • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) [✓] Android Studio • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174) [✓] IntelliJ IDEA Community Edition (version 2020.3.3) • IntelliJ at /Applications/IntelliJ IDEA CE.app • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart [✓] VS Code (version 1.67.0) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.40.0 [✓] Connected device (3 available) • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator) • macOS (desktop) • macos • darwin-x64 • macOS 12.2.1 21D62 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 101.0.4951.54 [✓] HTTP Host Availability • All required HTTP hosts are available • No issues found! ``` ```bash [✓] Flutter (Channel master, 3.1.0-0.0.pre.771, on macOS 12.2.1 21D62 darwin-x64, locale en-VN) • Flutter version 3.1.0-0.0.pre.771 at /Users/huynq/Documents/GitHub/flutter_master • Upstream repository https://github.com/flutter/flutter.git • Framework revision ec02990646 (44 minutes ago), 2022-05-18 02:12:11 -0400 • Engine revision 91b3a6d8f8 • Dart version 2.18.0 (build 2.18.0-127.0.dev) • DevTools version 2.13.1 [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /Users/huynq/Library/Android/sdk • Platform android-32, build-tools 31.0.0 • ANDROID_HOME = /Users/huynq/Library/Android/sdk • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 13.2.1) • Xcode at /Applications/Xcode.app/Contents/Developer • CocoaPods version 1.11.3 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2021.2) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840) [✓] Android Studio (version 4.1) • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) [!] Android Studio • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart ✗ Unable to find bundled Java version. • Try updating or re-installing Android Studio. [✓] IntelliJ IDEA Community Edition (version 2020.3.3) • IntelliJ at /Applications/IntelliJ IDEA CE.app • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart [✓] VS Code (version 1.67.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.40.0 [✓] Connected device (3 available) • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator) • macOS (desktop) • macos • darwin-x64 • macOS 12.2.1 21D62 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 101.0.4951.64 [✓] HTTP Host Availability • All required HTTP hosts are available ! Doctor found issues in 1 category. ```
Patrick386 commented 2 years ago

Flutter Web canvaskit A problem occurs when using 2 bytes instead of English, such as Korean, Chinese, or Japanese. All of these occur in widgets that receive or display strings such as TextField and Text.

flutter doctor -v [√] Flutter (Channel stable, 3.0.0, on Microsoft Windows [Version 10.0.19044.1706], locale ko-KR) • Flutter version 3.0.0 at C:\Dev\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision ee4e09cce0 (9 days ago), 2022-05-09 16:45:18 -0700 • Engine revision d1b9a6938a • Dart version 2.17.0 • DevTools version 2.12.2 [√] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at C:\Users\SintPatrick\AppData\Local\Android\sdk • Platform android-30, build-tools 30.0.3 • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840) • 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 2022 17.1.3) • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community • Visual Studio Community 2022 version 17.1.32328.378 • Windows 10 SDK version 10.0.19041.0 [√] Android Studio (version 2021.2) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840) [√] VS Code (version 1.52.1) • VS Code at C:\Users\SintPatrick\AppData\Local\Programs\Microsoft VS Code • Flutter extension can be installed from: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [√] Connected device (3 available) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19044.1706] • Chrome (web) • chrome • web-javascript • Google Chrome 101.0.4951.67 • Edge (web) • edge • web-javascript • Microsoft Edge 101.0.1210.39 [√] HTTP Host Availability • All required HTTP hosts are available • No issues found!
Error log > Error: Assertion failed: file:///C:/Dev/flutter/packages/flutter/lib/src/painting/text_painter.dart:954:12 > !_debugNeedsLayout > is not true > at Object.throw_ [as throw] (http://localhost:8000/dart_sdk.js:5080:11) > at Object.assertFailed (http://localhost:8000/dart_sdk.js:5005:15) > at text_painter.TextPainter.new.getPositionForOffset (http://localhost:8000/packages/flutter/src/painting/placeholder_span.dart.lib.js:2396:43) > at paragraph.RenderParagraph.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/paragraph.dart.lib.js:611:45) > at paragraph.RenderParagraph.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPositionedBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPositionedBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderConstrainedBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderConstrainedBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderExcludeSemantics.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderExcludeSemantics.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:179 > at box.BoxHitTestResult.wrap.addWithRawTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7830:19) > at box.BoxHitTestResult.wrap.addWithPaintTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7801:19) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:21) > at proxy_box.RenderTransform.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2655:19) > at http://localhost:8000/packages/flutter/src/material/icon_button.dart.lib.js:43803:26 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at list_tile._RenderListTile.new.hitTestChildren (http://localhost:8000/packages/flutter/src/material/icon_button.dart.lib.js:43801:28) > at list_tile._RenderListTile.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPadding.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPadding.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPadding.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPadding.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderPointerListener.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderMouseRegion.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:3279:20) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at flex$.RenderFlex.new.defaultHitTestChildren (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) > at flex$.RenderFlex.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/flex.dart.lib.js:1116:19) > at flex$.RenderFlex.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPadding.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPadding.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderDecoratedBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderDecoratedBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPadding.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPadding.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at material._RenderInkFeatures.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at material._RenderInkFeatures.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/custom_paint.dart.lib.js:325:20) > at custom_paint.RenderCustomPaint.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderPhysicalShape.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderPhysicalShape.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderPhysicalShape.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2312:20) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPadding.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPadding.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderConstrainedBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderConstrainedBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at flex$.RenderFlex.new.defaultHitTestChildren (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) > at flex$.RenderFlex.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/flex.dart.lib.js:1116:19) > at flex$.RenderFlex.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:703:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at single_child_scroll_view._RenderSingleChildViewport.new.hitTestChildren (http://localhost:8000/packages/flutter/src/widgets/single_child_scroll_view.dart.lib.js:701:23) > at single_child_scroll_view._RenderSingleChildViewport.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderIgnorePointer.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:3518:38) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderPointerListener.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderSemanticsGestureHandler.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsGestureHandler.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderPointerListener.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at scrollable$._RenderScrollSemantics.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at scrollable$._RenderScrollSemantics.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at custom_paint.RenderCustomPaint.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/custom_paint.dart.lib.js:325:20) > at custom_paint.RenderCustomPaint.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderMouseRegion.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderMouseRegion.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:3279:20) > at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderPointerListener.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderSemanticsGestureHandler.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsGestureHandler.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPositionedBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPositionedBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:149:47 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at shifted_box.RenderPadding.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/shifted_box.dart.lib.js:147:23) > at shifted_box.RenderPadding.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at stack.RenderStack.new.defaultHitTestChildren (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) > at stack.RenderStack.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/stack.dart.lib.js:591:19) > at stack.RenderStack.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8068:44 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at custom_layout.RenderCustomMultiChildLayoutBox.new.defaultHitTestChildren (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:8066:30) > at custom_layout.RenderCustomMultiChildLayoutBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/custom_layout.dart.lib.js:283:19) > at custom_layout.RenderCustomMultiChildLayoutBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at material._RenderInkFeatures.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at material._RenderInkFeatures.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderPhysicalModel.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderPhysicalModel.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderPhysicalModel.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2190:20) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderIgnorePointer.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderIgnorePointer.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:3518:38) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:179 > at box.BoxHitTestResult.wrap.addWithRawTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7830:19) > at box.BoxHitTestResult.wrap.addWithPaintTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7801:19) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:21) > at proxy_box.RenderTransform.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2655:19) > at proxy_box.RenderAnimatedOpacity.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderAnimatedOpacity.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:179 > at box.BoxHitTestResult.wrap.addWithRawTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7830:19) > at box.BoxHitTestResult.wrap.addWithPaintTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7801:19) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:21) > at proxy_box.RenderTransform.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2655:19) > at proxy_box.RenderAnimatedOpacity.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderAnimatedOpacity.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at basic._RenderColoredBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at basic._RenderColoredBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:179 > at box.BoxHitTestResult.wrap.addWithRawTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7830:19) > at box.BoxHitTestResult.wrap.addWithPaintTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7801:19) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:21) > at proxy_box.RenderTransform.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2655:19) > at proxy_box.RenderAnimatedOpacity.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderAnimatedOpacity.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:179 > at box.BoxHitTestResult.wrap.addWithRawTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7830:19) > at box.BoxHitTestResult.wrap.addWithPaintTransform (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7801:19) > at proxy_box.RenderTransform.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2660:21) > at proxy_box.RenderTransform.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:2655:19) > at proxy_box.RenderAnimatedOpacity.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderAnimatedOpacity.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at basic._RenderColoredBox.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at basic._RenderColoredBox.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderRepaintBoundary.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderRepaintBoundary.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at routes._RenderFocusTrap.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at routes._RenderFocusTrap.new.hitTest (http://localhost:8000/packages/flutter/src/widgets/title.dart.lib.js:16083:26) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderOffstage.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderOffstage.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderOffstage.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:3617:38) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at http://localhost:8000/packages/flutter/src/widgets/title.dart.lib.js:26893:42 > at box.BoxHitTestResult.wrap.addWithPaintOffset (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:7813:19) > at overlay$._RenderTheatre.new.hitTestChildren (http://localhost:8000/packages/flutter/src/widgets/title.dart.lib.js:26891:28) > at overlay$._RenderTheatre.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderAbsorbPointer.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderAbsorbPointer.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderAbsorbPointer.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:3691:68) > at proxy_box.RenderPointerListener.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderPointerListener.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:538:26) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at proxy_box.RenderSemanticsAnnotations.new.hitTestChildren (http://localhost:8000/packages/flutter/src/rendering/proxy_box.dart.lib.js:438:56) > at proxy_box.RenderSemanticsAnnotations.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4463:18) > at view.RenderView.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:4744:58) > at binding$5.WidgetsFlutterBinding.new.hitTest (http://localhost:8000/packages/flutter/src/rendering/layer.dart.lib.js:5540:23) > at binding$5.WidgetsFlutterBinding.new.[_handlePointerEventImmediately] (http://localhost:8000/packages/flutter/src/gestures/binding.dart.lib.js:312:14) > at binding$5.WidgetsFlutterBinding.new.handlePointerEvent (http://localhost:8000/packages/flutter/src/gestures/binding.dart.lib.js:305:43) > at binding$5.WidgetsFlutterBinding.new.[_flushPointerEventQueue] (http://localhost:8000/packages/flutter/src/gestures/binding.dart.lib.js:295:14) > at binding$5.WidgetsFlutterBinding.new.[_handlePointerDataPacket] (http://localhost:8000/packages/flutter/src/gestures/binding.dart.lib.js:286:54) > at Object.invoke1 (http://localhost:8000/dart_sdk.js:191747:7) > at _engine.EnginePlatformDispatcher.__.invokeOnPointerDataPacket (http://localhost:8000/dart_sdk.js:171943:15) > at _engine.PointerBinding.__.[_onPointerData] (http://localhost:8000/dart_sdk.js:172879:49) > at http://localhost:8000/dart_sdk.js:173306:26 > at http://localhost:8000/dart_sdk.js:173273:16 > at loggedHandler (http://localhost:8000/dart_sdk.js:172978:11)
Disregard-Therest commented 2 years ago

Same thing for me. I doesn't affect my production in any way but in debug I get this horrific logs frequently when click on my bottom navbar items not very precisely.

guplem commented 2 years ago

It happens to me too, but I see some huge performance drops. Have you come around any workaround? I would literally accept hiding that text to avoid the issue, but I don't know how to detect it beforehand.

mdebbar commented 2 years ago

After looking into this, here's a summary of what's happening:

  1. When rendering text that requires extra fonts, the web engine (in CanvasKit mode) fetches the required fonts asynchronously then notifies the framework of the font change.

  2. That causes TextPainter to be marked as needing layout.

  3. At this point, if the user is moving the mouse around, the framework performs hit testing which ultimately reaches the paragraph and asks the TextPainter for some information about text positions. Since the paragraph isn't laid out, this assertion fails.

There are 2 ways I could think of to solve this:

  1. When markNeedsLayout is invoked on TextPainter, we can keep the old layout information in the meantime until the next layout happens.
  2. Force immediate layout when hit testing reaches the un-laid out paragraph.

Would love to hear from framework folks what they think about this issue and how to fix it.

ryanheise commented 2 years ago

Maybe Flutter shouldn't be lazily fetching fonts.

I don't think users want to see placeholder character boxes while Flutter is trying to asynchronously/lazily fetch the required font, so I'd much rather have an API where the app can explicitly fetch the font and wait for it to be completely ready before attempting to render the text widget.

If an app is completely in Japanese but Flutter has a bias to Latin fonts, there should perhaps also be a way for an app developer co have the Japanese font bundled with the app so that it doesn't need to be fetched. However, according to https://github.com/material-foundation/google-fonts-flutter/issues/151 it seems there is also no way to prepackage a font with a web app so that it will render instantly.

mdebbar commented 2 years ago

@ryanheise when you put fonts in your assets, they should be loaded and readily available by the time your app starts. Is that not working for you?

Assuming the above works for you, could you please try adding the fonts that support Japanese to your assets?

ryanheise commented 2 years ago
  1. The example code above uses the default font. So what should be put in the assets?
  2. https://github.com/material-foundation/google-fonts-flutter/issues/151 suggests that even if a font is in the assets directory, web rendering will still do some asynchronous loading of that font before it can be properly rendered.
mdebbar commented 2 years ago
  1. Take a look at the fonts that we fallback to. For example, for Japanese, we use this. You can download it here.
  2. I don't believe that's the case on the web. We do preload all fonts in assets during the initialization phase before the app runs. If that's not working, then it's a bug (please file an issue with details).
ryanheise commented 2 years ago

After testing, this does work when I set an explicit text style, but not when I go with the default theme.

I'll go with the former for now (but an API as suggested in https://github.com/material-foundation/google-fonts-flutter/issues/151 would be the ideal solution to this problem, at least for me, since then the app can decide at runtime which fonts it needs to preload and when.)

SittiphanSittisak commented 2 years ago

It happened to me once in a while. I am using GoogleFonts.sarabun().fontFamily from package:google_fonts/google_fonts.dart. (Thai language)

Haidar0096 commented 2 years ago

Is there an update on this? happened to me as well. here is a question I posted about it as well on SO.

gjmg2303 commented 2 years ago

Me pasó de vez en cuando. Estoy usando GoogleFonts.sarabun().fontFamilyde package:google_fonts/google_fonts.dart. (Idioma tailandés)

Hola SittiphanSittisak, el idioma no debe ser el problema, yo lo tengo en español e inglés y hay veces que me da el error y otra veces no. ¿La solución es sacar GoogleFont?, ¿o en producción no da el error?, lo he intentado con un dominio en firebase y no me ha dado hasta ahora, solo en debug.

Gracias a todos, al principio no sabía bien porque era el error, y gracias al hilo pude focalizar el problema

Patrick386 commented 2 years ago

It is continuous and repetitive. Even if you set the theme(GoogleFonts.notoSansNKoTextTheme), it occurs in the default Text widget.

   return MaterialApp.router(
      debugShowCheckedModeBanner: false,

      locale: Locale(languageCode.code),
      localizationsDelegates: const [
        S.delegate,
        ],
      supportedLocales: S.delegate.supportedLocales,
      theme: AppTheme.light.copyWith(
          textTheme: GoogleFonts.notoSansNKoTextTheme(Theme.of(context).textTheme),
      ),
      darkTheme: AppTheme.dark.copyWith(
        textTheme: GoogleFonts.notoSansNKoTextTheme(Theme.of(context).textTheme),
      ), 
    );
felipecastrosales commented 2 years ago

News about it?

warcayac commented 2 years ago

I have similar error:

flutter doctor -v ``` $ flutter doctor -v [✓] Flutter (Channel stable, 3.3.7, on EndeavourOS 6.0.7-zen1-1-zen, locale en_US.UTF-8) • Flutter version 3.3.7 on channel stable at /home/warcayac/Applications/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision e99c9c7cd9 (6 days ago), 2022-11-01 16:59:00 -0700 • Engine revision 857bd6b74c • Dart version 2.18.4 • DevTools version 2.15.0 [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0) • Android SDK at /home/warcayac/Android/Sdk • Platform android-33, build-tools 33.0.0 • ANDROID_SDK_ROOT = /home/warcayac/Android/Sdk • Java binary at: /opt/android-studio/jre/bin/java • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) • All Android licenses accepted. [✓] Chrome - develop for the web • CHROME_EXECUTABLE = /bin/google-chrome-stable [✓] Android Studio (version 2021.3) • Android Studio at /opt/android-studio • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) [✓] IntelliJ IDEA Community Edition (version 2022.2) • IntelliJ at /usr/share/idea • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart [✓] Connected device (1 available) • Chrome (web) • chrome • web-javascript • Google Chrome 107.0.5304.87 [✓] HTTP Host Availability • All required HTTP hosts are available • No issues found! ```
Error log ``` Error: Assertion failed: dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49 throw_ dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3 assertFailed packages/flutter/src/painting/text_painter.dart 975:13 getPositionForOffset packages/flutter/src/rendering/editable.dart 1851:52 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 3247:54 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/material/input_decorator.dart 1578:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/material/input_decorator.dart 1573:32 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 3247:54 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/flex.dart 1082:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/flex.dart 1082:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/shifted_box.dart 97:18 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/shifted_box.dart 92:20 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/custom_paint.dart 542:18 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 2157:18 hitTest packages/flutter/src/rendering/shifted_box.dart 97:18 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/shifted_box.dart 92:20 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/stack.dart 645:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/flex.dart 1082:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/widgets/single_child_scroll_view.dart 611:18 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/widgets/single_child_scroll_view.dart 606:20 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/custom_paint.dart 542:18 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 3247:54 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/custom_layout.dart 420:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 2030:18 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/widgets/routes.dart 2217:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3743:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/widgets/overlay.dart 826:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/widgets/overlay.dart 821:32 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3854:17 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/view.dart 186:7 hitTest packages/flutter/src/rendering/binding.dart 547:16 hitTest packages/flutter/src/gestures/binding.dart 365:7 [_handlePointerEventImmediately] packages/flutter/src/gestures/binding.dart 357:5 handlePointerEvent packages/flutter/src/gestures/binding.dart 314:7 [_flushPointerEventQueue] packages/flutter/src/gestures/binding.dart 295:7 [_handlePointerDataPacket] lib/_engine/engine/platform_dispatcher.dart 1183:13 invoke1 lib/_engine/engine/platform_dispatcher.dart 244:5 invokeOnPointerDataPacket lib/_engine/engine/pointer_binding.dart 147:39 [_onPointerData] lib/_engine/engine/pointer_binding.dart 615:16 lib/_engine/engine/pointer_binding.dart 594:14 lib/_engine/engine/pointer_binding.dart 288:16 loggedHandler lib/_engine/engine/pointer_binding.dart 179:80 dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 334:14 _checkAndCall dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 339:39 dcall Error: Assertion failed: dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49 throw_ dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3 assertFailed packages/flutter/src/painting/text_painter.dart 975:13 getPositionForOffset packages/flutter/src/rendering/editable.dart 1851:52 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 3247:54 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/material/input_decorator.dart 1578:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/material/input_decorator.dart 1573:32 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 3247:54 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/flex.dart 1082:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/flex.dart 1082:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/shifted_box.dart 97:18 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/shifted_box.dart 92:20 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/custom_paint.dart 542:18 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 2157:18 hitTest packages/flutter/src/rendering/shifted_box.dart 97:18 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/shifted_box.dart 92:20 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/stack.dart 645:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/flex.dart 1082:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/widgets/single_child_scroll_view.dart 611:18 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/widgets/single_child_scroll_view.dart 606:20 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/custom_paint.dart 542:18 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 3247:54 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/box.dart 2879:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/rendering/box.dart 2874:32 defaultHitTestChildren packages/flutter/src/rendering/custom_layout.dart 420:12 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 2030:18 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3618:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2590:22 packages/flutter/src/rendering/box.dart 844:31 addWithRawTransform packages/flutter/src/rendering/box.dart 769:12 addWithPaintTransform packages/flutter/src/rendering/proxy_box.dart 2586:18 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 2580:12 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/widgets/routes.dart 2217:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3743:31 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/widgets/overlay.dart 826:23 packages/flutter/src/rendering/box.dart 805:31 addWithPaintOffset packages/flutter/src/widgets/overlay.dart 821:32 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 3854:17 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/proxy_box.dart 183:63 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/proxy_box.dart 135:19 hitTestChildren packages/flutter/src/rendering/box.dart 2511:11 hitTest packages/flutter/src/rendering/view.dart 186:7 hitTest packages/flutter/src/rendering/binding.dart 547:16 hitTest packages/flutter/src/gestures/binding.dart 365:7 [_handlePointerEventImmediately] packages/flutter/src/gestures/binding.dart 357:5 handlePointerEvent packages/flutter/src/gestures/binding.dart 314:7 [_flushPointerEventQueue] packages/flutter/src/gestures/binding.dart 295:7 [_handlePointerDataPacket] lib/_engine/engine/platform_dispatcher.dart 1183:13 invoke1 lib/_engine/engine/platform_dispatcher.dart 244:5 invokeOnPointerDataPacket lib/_engine/engine/pointer_binding.dart 147:39 [_onPointerData] lib/_engine/engine/pointer_binding.dart 631:16 lib/_engine/engine/pointer_binding.dart 594:14 lib/_engine/engine/pointer_binding.dart 288:16 loggedHandler lib/_engine/engine/pointer_binding.dart 179:80 dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 334:14 _checkAndCall dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 339:39 dcall ```

This is happening since latest update of Flutter.

gh-pap commented 1 year ago

Would love to hear from framework folks what they think about this issue and how to fix it.

@mdebbar did you ever hear from the framework folks? We're working on quite a large (web) app and this issue (seemingly randomly) generates considerable noise in the debug console (due to other issues we're forced to use canvaskit). I doubt it matters, but we're using Flutter Channel stable 3.3.9.

reyou commented 1 year ago

This is what is happening in my case;

First hit & error:

image

After text is loaded;

image
anasfik commented 1 year ago

Hey, any updates on this?

ahmed-alhelali commented 1 year ago

Hey, any updates on this?

Facing the same issue (:

anasfik commented 1 year ago

Hey, any updates on this?

Facing the same issue (:

I tried to fix the problem without any result, However, in production it works fine since there is no asserts0

Nikzed commented 1 year ago

Do not forget to call layout(); method by your text painter before using height or with getter tp.layout();