-
-
Notifications
You must be signed in to change notification settings - Fork 713
Closed
Description
I guess this is a cause of the #38 #36 #35
This is a stacktrace of the error:
E/flutter ( 2853): 'package:flutter/src/painting/image_stream.dart': Failed assertion: line 362 pos 12: '_codec != null': is not true.
E/flutter ( 2853): #0 _AssertionError._doThrowNew (dart:core/runtime/liberrors_patch.dart:37:39)
E/flutter ( 2853): #1 _AssertionError._throwNew (dart:core/runtime/liberrors_patch.dart:33:5)
E/flutter ( 2853): #2 MultiFrameImageStreamCompleter._handleCodecReady (package:flutter/src/painting/image_stream.dart)
E/flutter ( 2853): #3 _RootZone.runUnary (dart:async/zone.dart:1381:54)
E/flutter ( 2853): #4 _FutureListener.handleValue (dart:async/future_impl.dart:129:18)
E/flutter ( 2853): #5 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:637:45)
E/flutter ( 2853): #6 Future._propagateToListeners (dart:async/future_impl.dart:666:32)
E/flutter ( 2853): #7 Future._completeError (dart:async/future_impl.dart:489:5)
E/flutter ( 2853): #8 _SyncCompleter._completeError (dart:async/future_impl.dart:55:12)
E/flutter ( 2853): #9 _Completer.completeError (dart:async/future_impl.dart:27:5)
E/flutter ( 2853): #10 CachedNetworkImageProvider._loadAsync (package:cached_network_image/cached_network_image.dart)
E/flutter ( 2853): <asynchronous suspension>
E/flutter ( 2853): #11 CachedNetworkImageProvider.load (package:cached_network_image/cached_network_image.dart:462:16)
E/flutter ( 2853): #12 ImageProvider.resolve.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:86)
E/flutter ( 2853): #13 ImageCache.putIfAbsent (package:flutter/src/painting/image_cache.dart:82:22)
E/flutter ( 2853): #14 ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:63)
E/flutter ( 2853): #15 SynchronousFuture.then (package:flutter/src/foundation/synchronous_future.dart:38:29)
E/flutter ( 2853): #16 ImageProvider.resolve (package:flutter/src/painting/image_provider.dart:263:30)
E/flutter ( 2853): #17 _ImageProviderResolver.resolve (package:cached_network_image/cached_network_image.dart:193:29)
E/flutter ( 2853): #18 _CachedNetworkImageState._resolveImage (package:cached_network_image/cached_network_image.dart:284:20)
E/flutter ( 2853): #19 _CachedNetworkImageState.didChangeDependencies (package:cached_network_image/cached_network_image.dart:261:5)
E/flutter ( 2853): #20 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3750:12)
E/flutter ( 2853): #21 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter ( 2853): #22 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #23 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #24 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #25 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #26 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4742:32)
E/flutter ( 2853): #27 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #28 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #29 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #30 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #31 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #32 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #33 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #34 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #35 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter ( 2853): #36 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter ( 2853): #37 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter ( 2853): #38 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter ( 2853): #39 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #40 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #41 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #42 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #43 Element.updateChild (package:fl
E/flutter ( 2853): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter ( 2853): NoSuchMethodError: The getter '_value' was called on null.
E/flutter ( 2853): Receiver: null
E/flutter ( 2853): Tried calling: _value
E/flutter ( 2853): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
E/flutter ( 2853): #1 DateTime.difference (dart:core/runtime/libdate_patch.dart:183:54)
E/flutter ( 2853): #2 CacheManager._cleanCache (package:flutter_cache_manager/flutter_cache_manager.dart:129:45)
E/flutter ( 2853): <asynchronous suspension>
E/flutter ( 2853): #3 CacheManager._save (package:flutter_cache_manager/flutter_cache_manager.dart:75:11)
E/flutter ( 2853): <asynchronous suspension>
E/flutter ( 2853): #4 CacheManager.getFile (package:flutter_cache_manager/flutter_cache_manager.dart:243:5)
E/flutter ( 2853): <asynchronous suspension>
E/flutter ( 2853): #5 CachedNetworkImageProvider._loadAsync (package:cached_network_image/cached_network_image.dart:474:35)
E/flutter ( 2853): <asynchronous suspension>
E/flutter ( 2853): #6 CachedNetworkImageProvider.load (package:cached_network_image/cached_network_image.dart:462:16)
E/flutter ( 2853): #7 ImageProvider.resolve.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:86)
E/flutter ( 2853): #8 ImageCache.putIfAbsent (package:flutter/src/painting/image_cache.dart:82:22)
E/flutter ( 2853): #9 ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:63)
E/flutter ( 2853): #10 SynchronousFuture.then (package:flutter/src/foundation/synchronous_future.dart:38:29)
E/flutter ( 2853): #11 ImageProvider.resolve (package:flutter/src/painting/image_provider.dart:263:30)
E/flutter ( 2853): #12 _ImageProviderResolver.resolve (package:cached_network_image/cached_network_image.dart:193:29)
E/flutter ( 2853): #13 _CachedNetworkImageState._resolveImage (package:cached_network_image/cached_network_image.dart:284:20)
E/flutter ( 2853): #14 _CachedNetworkImageState.didChangeDependencies (package:cached_network_image/cached_network_image.dart:261:5)
E/flutter ( 2853): #15 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3750:12)
E/flutter ( 2853): #16 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter ( 2853): #17 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #19 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #20 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #21 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4742:32)
E/flutter ( 2853): #22 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #23 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #24 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #25 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #27 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #28 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter ( 2853): #31 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter ( 2853): #32 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter ( 2853): #33 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter ( 2853): #34 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #36 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14)
E/flutter ( 2853): #37 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter ( 2853): #38 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter ( 2853): #39 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter ( 2853): #40 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter ( 2853): #41 ComponentElement._firstBuild (package:flutter/src/widgets/f
Also I've found that error happened in this code:
return new MultiFrameImageStreamCompleter(
codec: _loadAsync(key).catchError((e) {
if (errorListener != null) errorListener();
}),
scale: key.scale,
informationCollector: (StringBuffer information) {
information.writeln('Image provider: $this');
information.write('Image key: $key');
});
So in debugger I see that _loadAsync
returns with error and then codec becomes null
Then I go deeper and found that error happens in cache_object.dart in method CacheObject.fromMap(String url, Map map)
because map is null. Map is null because of CacheManager
class and its _getSavedCacheDataFromPreferences
method. Inside _keyCacheData
we can found an empty string with null map.
To be clear _keyCacheData
has "": null
inside. I don't know why it is there, but this is the cause.
volgin and nyvelius
Metadata
Metadata
Assignees
Labels
No labels