Netvent / storyly-sdk

Storyly allows mobile applications to have in-app stories in native iOS, native Android, React-Native, and Flutter platforms.
69 stars 40 forks source link

SDWebImage crashes in SDK when installed via SPM #376

Open TimoWaelischIdealo opened 3 months ago

TimoWaelischIdealo commented 3 months ago

Issue tracker is ONLY used for reporting iOS SDK related bugs.

Low number of crashes from the Storyly iOS SDK, which might be related to an SDWebImage dependency

I'm seeing these crashes in Firebase Crashlytics only, I could not reproduce them on my own

Environment Details

Storyly SDK Version: 3.2.1 iOS SDK Version: Xcode 15.4.0 Device Model: iPhone (multiple) Device OS Version: 17.4.1, 17.5.1, 16.2.0, 16.3.1 for the last 7 days Additional Info: ---

Expected Behavior

There should be no crashes of the app caused by the Storyly SDK

Current Behavior

There is a low number of crashes which can be traced back to the Storyly SDK

Steps to Reproduce

I have no reproduction, however here is a typical stacktrace of the crash:

         Crashed: NSOperationQueue 0x13efe8ad0 (QOS: UNSPECIFIED)
0  CoreFoundation                 0xf8ac CF_IS_OBJC + 76
1  CoreFoundation                 0xc0268 CFDataGetBytes + 52
2  ImageIO                        0x7854 CGImageGetImageSource + 168
3  UIKitCore                      0xdd75c -[_UIImageCGImageContent initWithCGImage:scale:] + 40
4  UIKitCore                      0xdd558 -[UIImage initWithCGImage:scale:orientation:] + 68
5  Storyly                        0x1641c +[ST_SDImageIOAnimatedCoder createFrameAtIndex:source:scale:preserveAspectRatio:thumbnailSize:options:] + 724
6  Storyly                        0x17860 -[ST_SDImageIOAnimatedCoder animatedImageFrameAtIndex:] + 240
7  Storyly                        0x273a4 -[ST_SDAnimatedImage animatedImageFrameAtIndex:] + 152
8  Storyly                        0x1a758 __46-[ST_SDAnimatedImagePlayer displayDidRefresh:]_block_invoke + 52
9  Foundation                     0x1cbe0 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24
10 Foundation                     0x1caa0 -[NSBlockOperation main] + 104
11 Foundation                     0x1c8a0 __NSOPERATION_IS_INVOKING_MAIN__ + 16
12 Foundation                     0x1ab40 -[NSOperation start] + 648
13 Foundation                     0x9f558 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 16
14 Foundation                     0x9f1a4 __NSOQSchedule_f + 172
15 libdispatch.dylib              0x12e5c _dispatch_block_async_invoke2 + 148
16 libdispatch.dylib              0x3dd4 _dispatch_client_callout + 20
17 libdispatch.dylib              0x72d8 _dispatch_continuation_pop + 600
18 libdispatch.dylib              0x6988 _dispatch_async_redirect_invoke + 732
19 libdispatch.dylib              0x15894 _dispatch_root_queue_drain + 392
20 libdispatch.dylib              0x1609c _dispatch_worker_thread2 + 156
21 libsystem_pthread.dylib        0x48f8 _pthread_wqthread + 228
22 libsystem_pthread.dylib        0x10cc start_wqthread + 8

A first internet search might lead to the assumption, that the SPM installation uses an older version <5.14.0 of SDWebImage as dependency: https://github.com/SDWebImage/SDWebImage/issues/3273