openimsdk / open-im-sdk-flutter

IM SDK Flutter
https://openim.io
MIT License
362 stars 227 forks source link

[BUG] FormatException: Unexpected end of input (at character 1) #140

Closed cipchk closed 2 months ago

cipchk commented 2 months ago

Describe the bug

3.5.1 版本在 IOS 真机(仿真、android下正常)下调用以下接口时都会产生该异常:

How to reproduce

var message = await OpenIM.iMManager.messageManager
        .createImageMessageFromFullPath(imagePath: file.path);
 _sendMessage(message);

以下是完整异常日志:

flutter: \^[[38;5;196m┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────<…>
flutter: \^[[38;5;196m│ FormatException: Unexpected end of input (at character 1)<…>
flutter: \^[[38;5;196m│ <…>
flutter: \^[[38;5;196m│ ^<…>
flutter: \^[[38;5;196m│ <…>
flutter: \^[[38;5;196m├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄<…>
flutter: \^[[38;5;196m│ #0   _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1380:5)<…>
flutter: \^[[38;5;196m│ #1   _ChunkedJsonParser.close (dart:convert-patch/convert_patch.dart:498:7)<…>
flutter: \^[[38;5;196m│ #2   _parseJson (dart:convert-patch/convert_patch.dart:36:10)<…>
flutter: \^[[38;5;196m│ #3   JsonDecoder.convert (dart:convert/json.dart:610:36)<…>
flutter: \^[[38;5;196m│ #4   JsonCodec.decode (dart:convert/json.dart:216:41)<…>
flutter: \^[[38;5;196m│ #5   jsonDecode (dart:convert/json.dart:155:10)<…>
flutter: \^[[38;5;196m│ #6   Utils.formatJson (package:flutter_openim_sdk/src/utils.dart:12:46)<…>
flutter: \^[[38;5;196m│ #7   Utils.toObj (package:flutter_openim_sdk/src/utils.dart:8:9)<…>
flutter: \^[[38;5;196m├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄<…>
flutter: \^[[38;5;196m│ ⛔ runZonedGuarded<…>
flutter: \^[[38;5;196m└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────<…>

我想应该是接口返回一个 Null 值,导致 jsonDecode 抛出该异常,但具体为什么会空值,日志没有描述,无法得知。

https://github.com/openimsdk/open-im-sdk-flutter/issues/113#issuecomment-1846730822 提到 dataDir 需要以 / 结尾,我尝试加上也是一样的错误。

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. Error occurred.

Expected behavior

Screenshots (If contains)

Version information

Additional context

cipchk commented 2 months ago

删除APP,重新安装,然后又好了。