Closed jlubeck closed 3 years ago
/cc @yjbanov
I was able to reproduce on latest master channel with CanvasKit. Confirm that the issue dos not reproduce on HTML render.
Deduplicating with https://github.com/flutter/flutter/issues/73278. The fix is out for review: https://github.com/flutter/engine/pull/23685.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v
and a minimal reproduction of the issue.
Steps to Reproduce
flutter_html: ^1.2.0
topubspec.yaml
Expected results: Should work the same as with using
--web-renderer=html
Actual results:Crash
``` ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ The following JSNoSuchMethodError was thrown during performLayout(): TypeError: Cannot convert "[object Object]" to float The relevant error-causing widget was: Text file:///Users/jan/.pub-cache/hosted/pub.dartlang.org/flutter_html-1.2.0/lib/html_parser.dart:758:19 When the exception was thrown, this was the stack: https://unpkg.com/canvaskit-wasm@0.19.0/bin/canvaskit.js 217:169 toWireType https://unpkg.com/canvaskit-wasm@0.19.0/bin/canvaskit.js 174:403 ParagraphBuilder$_addPlaceholder https://unpkg.com/canvaskit-wasm@0.19.0/bin/canvaskit.js 73:409 addPlaceholder lib/_engine/engine/canvaskit/text.dart 644:23 [_addPlaceholder] lib/_engine/engine/canvaskit/text.dart 639:5 addPlaceholder packages/flutter/src/widgets/widget_span.dart 110:12 build packages/flutter/src/painting/text_span.dart 211:14 build packages/flutter/src/painting/text_span.dart 211:14 build packages/flutter/src/painting/text_painter.dart 569:7 layout packages/flutter/src/rendering/paragraph.dart 517:18 [_layoutText] packages/flutter/src/rendering/paragraph.dart 540:5 [_layoutTextWithConstraints] packages/flutter/src/rendering/paragraph.dart 653:5 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 281:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/shifted_box.dart 430:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/shifted_box.dart 226:5 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/paragraph.dart 565:14 [_layoutChildren] packages/flutter/src/rendering/paragraph.dart 652:30 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 281:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/shifted_box.dart 430:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/paragraph.dart 565:14 [_layoutChildren] packages/flutter/src/rendering/paragraph.dart 652:30 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 281:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 281:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/custom_layout.dart 171:10 layoutChild packages/flutter/src/material/scaffold.dart 911:7 performLayout packages/flutter/src/rendering/custom_layout.dart 243:7 [_callPerformLayout] packages/flutter/src/rendering/custom_layout.dart 407:14 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/proxy_box.dart 1373:11 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/layout_helper.dart 54:10 layoutChild packages/flutter/src/rendering/stack.dart 570:43 [_computeSize] packages/flutter/src/rendering/stack.dart 597:12 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/proxy_box.dart 3364:13 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/widgets/overlay.dart 743:14 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/custom_paint.dart 518:11 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/proxy_box.dart 120:7 performLayout packages/flutter/src/rendering/object.dart 1777:7 layout packages/flutter/src/rendering/view.dart 167:7 performLayout packages/flutter/src/rendering/object.dart 1634:7 [_layoutWithoutResize] packages/flutter/src/rendering/object.dart 884:17 flushLayout packages/flutter/src/rendering/binding.dart 454:19 drawFrame packages/flutter/src/widgets/binding.dart 900:13 drawFrame packages/flutter/src/rendering/binding.dart 320:5 [_handlePersistentFrameCallback] packages/flutter/src/scheduler/binding.dart 1144:15 [_invokeFrameCallback] packages/flutter/src/scheduler/binding.dart 1082:9 handleDrawFrame packages/flutter/src/scheduler/binding.dart 865:7I'm aware this is using a 3rd party package, but since that same package works with using the html renderer, I would expect it to also work with the canvaskit renderer, right?
Logs
``` Can't attach full log here because it's so big that I can't go back enough in the terminal to grab it from the beginning. But I was able to grab the first exception that I included above from the Debugger ``` ``` [✓] Flutter (Channel dev, 1.26.0-8.0.pre, on macOS 11.1 20C69 darwin-x64, locale en-US) • Flutter version 1.26.0-8.0.pre at /Users/jan/flutter • Framework revision b9d06fffb2 (12 days ago), 2021-01-07 18:36:48 -0800 • Engine revision 42a8d4c681 • Dart version 2.12.0 (build 2.12.0-179.0.dev) [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3) • Android SDK at /Users/jan/Library/Android/sdk • Platform android-R, build-tools 29.0.3 • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 12.3) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.3, Build version 12C33 • CocoaPods version 1.10.0 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 4.1) • 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 1.8.0_242-release-1644-b3-6915495) [✓] VS Code (version 1.52.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension can be installed from: 🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [✓] Connected device (3 available) • macOS (desktop) • macos • darwin-x64 • macOS 11.1 20C69 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 87.0.4280.141 • No issues found! ```