Unhandled Exception: RangeError (index): Index out of range: index should be less than
Opened this issue · 2 comments
Goolpe commented
I try unzip file, but I get
Unhandled Exception: RangeError (index): Index out of range: index should be less than 13791437: 13791437
unzip() async{
var _dir = (await getApplicationDocumentsDirectory()).path;
var bytes = await File('$_dir/images.zip').readAsBytes();
var archive = ZipDecoder().decodeBytes(bytes);
print(archive.length);
}
Flutter doctor -v
[√] Flutter (Channel stable, v1.17.5, on Microsoft Windows [Version 10.0.19041.388], locale ru-RU)
• Flutter version 1.17.5 at C:\src\flutter
• Framework revision 8af6b2f038 (3 weeks ago), 2020-06-30 12:53:55 -0700
• Engine revision ee76268252
• Dart version 2.8.4
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\goool\AppData\Local\Android\sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
• All Android licenses accepted.
[√] Android Studio (version 3.6)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 45.1.1
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
[√] VS Code (version 1.47.2)
• VS Code at C:\Users\goool\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.12.2
[√] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)
Logs
E/flutter (10324): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: RangeError (index): Index out of range: index should be less than 13791437: 13791437
E/flutter (10324): #0 _Uint8ArrayView.[] (dart:typed_data-patch/typed_data_patch.dart:3932:7)
E/flutter (10324): #1 InputStream.readUint32
package:archive/…/util/input_stream.dart:231
E/flutter (10324): #2 new ZipDirectory.read
package:archive/…/zip/zip_directory.dart:36
E/flutter (10324): #3 ZipDecoder.decodeBuffer
package:archive/src/zip_decoder.dart:20
E/flutter (10324): #4 ZipDecoder.decodeBytes
package:archive/src/zip_decoder.dart:14
E/flutter (10324): #5 EkfSettingsController.downloadData
package:ekf/controllers/settings_controller.dart:85
E/flutter (10324): <asynchronous suspension>
E/flutter (10324): #6 SettingsScreen.build.<anonymous closure>.<anonymous closure>
package:ekf/screens/settings_screen.dart:69
E/flutter (10324): #7 _InkResponseState._handleTap
package:flutter/…/material/ink_well.dart:779
E/flutter (10324): #8 _InkResponseState.build.<anonymous closure>
package:flutter/…/material/ink_well.dart:862
E/flutter (10324): #9 GestureRecognizer.invokeCallback
package:flutter/…/gestures/recognizer.dart:182
E/flutter (10324): #10 TapGestureRecognizer.handleTapUp
package:flutter/…/gestures/tap.dart:504
E/flutter (10324): #11 BaseTapGestureRecognizer._checkUp
package:flutter/…/gestures/tap.dart:282
E/flutter (10324): #12 BaseTapGestureRecognizer.acceptGesture
package:flutter/…/gestures/tap.dart:254
E/flutter (10324): #13 GestureArenaManager.sweep
package:flutter/…/gestures/arena.dart:156
E/flutter (10324): #14 GestureBinding.handleEvent
package:flutter/…/gestures/binding.dart:222
E/flutter (10324): #15 GestureBinding.dispatchEvent
package:flutter/…/gestures/binding.dart:198
E/flutter (10324): #16 GestureBinding._handlePointerEvent
package:flutter/…/gestures/binding.dart:156
E/flutter (10324): #17 GestureBinding._flushPointerEventQueue
package:flutter/…/gestures/binding.dart:102
E/flutter (10324): #18 GestureBinding._handlePointerDataPacket
package:flutter/…/gestures/binding.dart:86
E/flutter (10324): #19 _rootRunUnary (dart:async/zone.dart:1196:13)
E/flutter (10324): #20 _CustomZone.runUnary (dart:async/zone.dart:1085:19)
E/flutter (10324): #21 _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7)
E/flutter (10324): #22 _invoke1 (dart:ui/hooks.dart:275:10)
E/flutter (10324): #23 _dispatchPointerDataPacket (dart:ui/hooks.dart:184:5)
chocolatkey commented
I get this as well, decompressing certain content with gzip. Version is 2.0.13.
E/flutter ( 8686): RangeError (index): Index out of range: index should be less than 280: 280
E/flutter ( 8686): #0 Uint8List.[]= (dart:typed_data-patch/typed_data_patch.dart:2225:7)
E/flutter ( 8686): #1 Inflate._decode
package:archive/…/zlib/inflate.dart:302
E/flutter ( 8686): #2 Inflate._parseDynamicHuffmanBlock
package:archive/…/zlib/inflate.dart:231
E/flutter ( 8686): #3 Inflate._parseBlock
package:archive/…/zlib/inflate.dart:117
E/flutter ( 8686): #4 Inflate._inflate
package:archive/…/zlib/inflate.dart:87
E/flutter ( 8686): #5 new Inflate.buffer
package:archive/…/zlib/inflate.dart:19
E/flutter ( 8686): #6 GZipDecoder.decodeBuffer
package:archive/src/gzip_decoder.dart:29
E/flutter ( 8686): #7 GZipDecoder.decodeBytes
package:archive/src/gzip_decoder.dart:17
Note: I am doing GZipDecoder().decodeBytes(zBytes, verify: true);
. When I use dart's built-in var gzip = GZipCodec
and do gzip.decode(decryptedBytes)
it works fine
pravindahal commented
Related: #122