Skip to content

App crashes after calling ImageService.SetTaskForTarget #1567

Description

@ashotjanibekyan

🐛 Bug Report

This is not a bug that constantly happens. I saw a few crash logs on App Center. The logs look something like this:

ConditionalWeakTable`2[TKey,TValue].Add (TKey key, TValue value)
ImageService.SetTaskForTarget (FFImageLoading.Work.IImageLoaderTask currentTask)
ImageServiceBase`1[TImageContainer].LoadImage (FFImageLoading.Work.IImageLoaderTask task)
TaskParameterPlatformExtensions.Into[TImageView] (FFImageLoading.Work.TaskParameter parameters, FFImageLoading.Work.ITarget`2[TImageContainer,TImageView] target)
TaskParameterPlatformExtensions.Into (FFImageLoading.Work.TaskParameter parameters, UIKit.UIImageView imageView)
CachedImageRenderer.UpdateImage (UIKit.UIImageView imageView, FFImageLoading.Forms.CachedImage image, FFImageLoading.Forms.CachedImage previousImage)
CachedImageRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e)

This really doesn't make sense, I looked at the SetTaskForTarget method. It clearly removes targetView before adding a new item. But nevertheless, the "Key already in the list Parameter name: key" exception has occurred.

We can use something like bool TryAdd(TKey key, TValue value) but it would be better to figure out how this error is even possible.

Version: 2.4.11

Platform:

  • 📱 iOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions