Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unhandled Exception: FormatException: Unexpected extension byte #5

Closed
DWarrior222 opened this issue Aug 2, 2022 · 3 comments
Closed
Assignees
Labels
bug Something isn't working

Comments

@DWarrior222
Copy link
Collaborator

使用的 Kraken 版本 | What version of kraken are you using

kraken:0.11.0
集成:在 flutter 中集成
flutter 版本:2.8.1
运行设备:安卓手机
官网的 demo 是没问题的,但是用 vuecli 创建的demo,会有这个报错

重现步骤 | Steps To Reproduce

打开 app 后,首页是 firstRoute,点击按钮后第一次跳转到 secondRoute(kraken)是正常的。返回到首页再跳转 secondRoute(kraken)就会这样

重现代码 | Code example:

// main.dart
import 'package:flutter/material.dart';
import 'package:kraken/kraken.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: FirstRoute(),
    );
  }
}


class FirstRoute extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('First Route'),
      ),
      body: Center(
        child: ElevatedButton(
          child: const Text('Open route'),
          onPressed: () {
            Navigator.push(
              context,
              MaterialPageRoute(builder: (context) => SecondRoute()),
            );
          },
        ),
      ),
    );
  }
}


class SecondRoute extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // 链接是:vuecli 创建的项目并build 后将 app.js 上传到 cdn 生成的链接,和官网的 https://andycall.oss-cn-beijing.aliyuncs.com/demo/guide-styles.js 是一个意思,我放在下面这个链接里了
    // https://raw.githubusercontent.com/DWarrior222/node-static-server/master/app.226ff3cb.js
    Kraken kraken = Kraken(bundle: KrakenBundle.fromUrl('https://test.com/xxxxx.js'));
    return kraken;
  }
}

预期结果 | Expected results:
重复操作 “firstRoute 跳转到 secondRoute 后,返回 firstRoute”。页面都正常展示

实际结果 | Actual results:
firstRoute 跳转到 secondRoute 后,返回 firstRoute,再次跳转到 secondRoute 会报错 app 会黑屏

@DWarrior222 DWarrior222 added the bug Something isn't working label Aug 2, 2022
@DWarrior222
Copy link
Collaborator Author

报错信息
[+670080 ms] E/flutter (18501): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FormatException: Unexpected extension byte (at offset 1)
[ +2 ms] E/flutter (18501): #0 _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1789:7)
[ ] E/flutter (18501): #1 Utf8Decoder.convert (dart:convert/utf.dart:318:42)
[ ] E/flutter (18501): #2 Utf8Codec.decode (dart:convert/utf.dart:63:20)
[ ] E/flutter (18501): #3 _resolveUtf8StringFromData (package:kraken/src/foundation/convert.dart:22:17)
[ ] E/flutter (18501): #4 resolveStringFromData (package:kraken/src/foundation/convert.dart:11:12)
[ ] E/flutter (18501): #5 KrakenController._evaluateEntrypoint (package:kraken/src/launcher/controller.dart:1201:42)
[ ] E/flutter (18501): #6 KrakenController.executeEntrypoint (package:kraken/src/launcher/controller.dart:1134:9)
[ ] E/flutter (18501):
[ ] E/flutter (18501): #7 _KrakenRenderObjectElement.mount (package:kraken/src/widget/kraken.dart:292:5)
[ ] E/flutter (18501):
[ ] E/flutter (18501):

@andycall
Copy link
Member

andycall commented Aug 4, 2022

Try 0.12.0 version again?

@DWarrior222
Copy link
Collaborator Author

试过了,问题已解决 👍🏻

@andycall andycall closed this as completed Aug 4, 2022
yifei8 added a commit that referenced this issue Dec 27, 2022
```log
type 'Null' is not a subtype of type 'ContainerParentDataMixin<RenderBox>' in type cast
    #0      RenderBoxModel.getPreviousSibling (package:webf/src/rendering/box_model.dart:1371:63)
    #1      Element.addToContainingBlock (package:webf/src/dom/element.dart:776:50)
    #2      Element._updateRenderBoxModelWithPosition.<anonymous closure> (package:webf/src/dom/element.dart:756:15)
    #3      List.forEach (dart:core-patch/growable_array.dart:433:8)
    #4      Element._updateRenderBoxModelWithPosition (package:webf/src/dom/element.dart:755:32)
    #5      Element.setRenderStyleProperty (package:webf/src/dom/element.dart:1247:9)
    #6      Element.setRenderStyle (package:webf/src/dom/element.dart:1536:5)
    #7      Element._onStyleChanged (package:webf/src/dom/element.dart:1613:7)
    #8      CSSStyleDeclaration._emitPropertyChanged (package:webf/src/css/style_declaration.dart:566:22)
    #9      CSSStyleDeclaration.flushPendingProperties (package:webf/src/css/style_declaration.dart:468:7)
    #10     Element.attachTo (packa

```
github-merge-queue bot pushed a commit that referenced this issue Nov 8, 2023
…449)

2023-08-07 20:47:25.935739+0800 Runner[7889:8608870] flutter: Stack
Overflow
#0 _LinkedHashMapMixin.[]
(dart:collection-patch/compact_hash.dart:601:3)
#1 CSSStyleDeclaration.getPropertyValue
(package:webf/src/css/style_declaration.dart:150:30)
#2 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:68)
#3 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:16)
#4 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:16)
#5 CSSLength.parseLength
(package:webf/src/css/values/length.dart:590:16)
...
#2116 Element.setRenderStyleProperty
(package:webf/src/dom/element.dart:1402:11)
#2117 Element.setRenderStyle (package:webf/src/dom/element.dart:1777:5)
#2118 Element._onStyleChanged (package:webf/src/dom/element.dart:1849:7)
#2119 CSSStyleDeclaration._emitPropertyChanged
(package:webf/src/css/style_declaration.dart:685:22)
#2120 CSSStyleDeclaration.flushPendingProperties
(package:webf/src/css/style_declaration.dart:457:7)
#2121   Element.attachTo (package:webf/src/dom/element.dart:997:13)
#2122 Element.ensureChildAttached
(package:webf/src/dom/element.dart:1061:17)
#2123 Element.didAttachRenderer
(package:webf/src/dom/element.dart:600:5)
#2124   Element.attachTo (package:webf/src/dom/element.dart:999:7)
#2125 Element.ensureChildAttached
(package:webf/src/dom/element.dart:1061:17)
#2126 Element.didAttachRenderer
(package:webf/src/dom/element.dart:600:5)
#2127   Element.attachTo (package:webf/src/dom/element.dart:999:7)
#2128 Element.ensureChildAttached
(package:webf/src/dom/element.dart:1061:17)
#2129 Element.didAttachRenderer
(package:webf/src/dom/element.dart:600:5)
#2130   Element.attachTo (package:webf/src/dom/element.dart:999:7)
#2131   Element.appendChild (package:webf/src/dom/element.dart:1094:15)
#2132 WebFViewController.insertAdjacentNode
(package:webf/src/launcher/controller.dart:461:16)
#2133   flushUICommand (package:webf/src/bridge/to_native.dart:524:16)
#2134 flushUICommandWithContextId
(package:webf/src/bridge/to_native.dart:469:5)
#2135   _flushUICommand (package:webf/src/bridge/from_native.dart:371:3)
#2136   _FfiCallback_flushUICommand (dart:ffi)
#2137   FfiTrampoline__evaluateQuickjsByteCode (dart:ffi)
#2138 evaluateQuickjsByteCode
(package:webf/src/bridge/to_native.dart:221:40)
#2139   evaluateScripts (package:webf/src/bridge/to_native.dart:166:19)
#2140   _RootZone.runUnary (dart:async/zone.dart:1660:54)
#2141   _FutureListener.handleValue (dart:async/future_impl.dart:147:18)
#2142 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:767:45)
#2143 Future._propagateToListeners (dart:async/future_impl.dart:796:13)
#2144   Future._completeWithValue (dart:async/future_impl.dart:567:5)
#2145   _RootZone.runUnary (dart:async/zone.dart:1660:54)
#2146   _FutureListener.handleValue (dart:async/future_impl.dart:147:18)
#2147 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:767:45)
#2148 Future._propagateToListeners (dart:async/future_impl.dart:796:13)
#2149   Future._completeWithValue (dart:async/future_impl.dart:567:5)
#2150   _RootZone.runUnary (dart:async/zone.dart:1660:54)
#2151   _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#2152   _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

Co-authored-by: edmond.l <edmond.l@binance.com>
Co-authored-by: TIANCHENG <dongtiangche@outlook.com>
looseyi pushed a commit that referenced this issue May 29, 2024
feat: update uniform quickjs version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants