Skip to content

Crash in SDWebImageDownloaderOperation start (objc_retain) on iOS 26 only #3842

@mathewlee83

Description

@mathewlee83

We are experiencing a crash in production related to SDWebImage.
The crash seems to occur on the download queue when calling -[SDWebImageDownloaderOperation start].

This issue has only been observed on iOS 26 devices.
We cannot reproduce this issue locally on older OS versions, but it is consistently reported via Firebase Crashlytics.

Crash Log

Crashed: com.hackemist.SDWebImageDownloader.downloadQueue (QOS: UNSPECIFIED)
0  libobjc.A.dylib                0x1444 objc_retain_x0 + 8
1  libobjc.A.dylib                0x1444 objc_retain + 8
2  SDWebImage                     0x1fcb0 -[SDWebImageDownloaderOperation start] + 235 (SDWebImageDownloaderOperation.m:235)
3  Foundation                     0x17ddc <redacted> + 16
4  Foundation                     0x17698 <redacted> + 164
5  libdispatch.dylib              0x11450 <redacted> + 148
6  libdispatch.dylib              0x1b7ec <redacted> + 16
7  libdispatch.dylib              0x6664 <redacted> + 596
8  libdispatch.dylib              0x5cd8 <redacted> + 580
9  libdispatch.dylib              0x13f48 <redacted> + 364
10 libdispatch.dylib              0x146fc <redacted> + 180
11 libsystem_pthread.dylib        0x137c _pthread_wqthread + 232
12 libsystem_pthread.dylib        0x8c0 start_wqthread + 8

All Stack Trace

com.apple.main-thread
0  libsystem_kernel.dylib         0xcd4 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x42f8 mach_msg2_internal + 76
2  libsystem_kernel.dylib         0x4214 mach_msg_overwrite + 428
3  libsystem_kernel.dylib         0x405c mach_msg + 24
4  CoreFoundation                 0x47a08 <redacted> + 160
5  CoreFoundation                 0x1da20 <redacted> + 1188
6  CoreFoundation                 0x1cc44 <redacted> + 532
7  GraphicsServices               0x1498 GSEventRunModal + 120
8  UIKitCore                      0xa9ddc <redacted> + 792
9  UIKitCore                      0x4eb0c UIApplicationMain + 336
10 UIKitCore                      0x18a860 <redacted> + 588
11 Beadal                         0x52c180 main + 4338745728 (AppDelegate.swift:4338745728)
12 ???                            0x187daee28 (누락)

com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0xcd4 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x42f8 mach_msg2_internal + 76
2  libsystem_kernel.dylib         0x4214 mach_msg_overwrite + 428
3  libsystem_kernel.dylib         0x405c mach_msg + 24
4  CoreFoundation                 0x47a08 <redacted> + 160
5  CoreFoundation                 0x1da20 <redacted> + 1188
6  CoreFoundation                 0x1cc44 <redacted> + 532
7  Foundation                     0x98f734 <redacted> + 212
8  Foundation                     0x98f90c <redacted> + 64
9  UIKitCore                      0x7afe8 <redacted> + 408
10 Foundation                     0x61d3c <redacted> + 732
11 libsystem_pthread.dylib        0x444c _pthread_start + 136
12 libsystem_pthread.dylib        0x8cc thread_start + 8

com.sendbird.core.runloop.thread
0  libsystem_kernel.dylib         0xcd4 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x42f8 mach_msg2_internal + 76
2  libsystem_kernel.dylib         0x4214 mach_msg_overwrite + 428
3  libsystem_kernel.dylib         0x405c mach_msg + 24
4  CoreFoundation                 0x47a08 <redacted> + 160
5  CoreFoundation                 0x1da20 <redacted> + 1188
6  CoreFoundation                 0x1cc44 <redacted> + 532
7  Foundation                     0x98f734 <redacted> + 212
8  SendbirdChatSDK                0x34aad4 SBRunloopThread.main() + 61 (Runloop+SBTimer.swift:61)
9  SendbirdChatSDK                0x34ab48 @objc SBRunloopThread.main() + 4486458184 (<compiler-generated>:4486458184)
10 Foundation                     0x61d3c <redacted> + 732
11 libsystem_pthread.dylib        0x444c _pthread_start + 136
12 libsystem_pthread.dylib        0x8cc thread_start + 8

com.google.firebase.crashlytics.MachExceptionServer
0  Beadal                         0xf5f444 FIRCLSProcessRecordAllThreads + 4349441092
1  Beadal                         0xf5f828 FIRCLSProcessRecordAllThreads + 4349442088
2  Beadal                         0xf6d984 FIRCLSHandler + 4349499780
3  Beadal                         0xf6e190 FIRCLSMachExceptionServer + 4349501840
4  libsystem_pthread.dylib        0x444c _pthread_start + 136
5  libsystem_pthread.dylib        0x8cc thread_start + 8

com.apple.NSURLConnectionLoader
0  libsystem_kernel.dylib         0xcd4 mach_msg2_trap + 8
1  libsystem_kernel.dylib         0x42f8 mach_msg2_internal + 76
2  libsystem_kernel.dylib         0x4214 mach_msg_overwrite + 428
3  libsystem_kernel.dylib         0x405c mach_msg + 24
4  CoreFoundation                 0x47a08 <redacted> + 160
5  CoreFoundation                 0x1da20 <redacted> + 1188
6  CoreFoundation                 0x1cc44 <redacted> + 532
7  CFNetwork                      0x248868 +[__CFN_CoreSchedulingSetRunnable _run:] + 416
8  Foundation                     0x61d3c <redacted> + 732
9  libsystem_pthread.dylib        0x444c _pthread_start + 136
10 libsystem_pthread.dylib        0x8cc thread_start + 8

Log work queue
0  libsystem_kernel.dylib         0xc50 semaphore_wait_trap + 8
1  WebKit                         0x96df4 <redacted> + 48
2  JavaScriptCore                 0x1c0da8 <redacted> + 368
3  JavaScriptCore                 0x1c0e88 <redacted> + 16
4  libsystem_pthread.dylib        0x444c _pthread_start + 136
5  libsystem_pthread.dylib        0x8cc thread_start + 8

caulk::deferred_logger
0  libsystem_kernel.dylib         0xc50 semaphore_wait_trap + 8
1  caulk                          0x443c caulk::semaphore::timed_wait(double) + 224
2  caulk                          0x4488 caulk::concurrent::details::worker_thread::run() + 32
3  caulk                          0x8bf4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96
4  libsystem_pthread.dylib        0x444c _pthread_start + 136
5  libsystem_pthread.dylib        0x8cc thread_start + 8

caulk.messenger.shared:high
0  libsystem_kernel.dylib         0xc50 semaphore_wait_trap + 8
1  caulk                          0x443c caulk::semaphore::timed_wait(double) + 224
2  caulk                          0x4488 caulk::concurrent::details::worker_thread::run() + 32
3  caulk                          0x8bf4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96
4  libsystem_pthread.dylib        0x444c _pthread_start + 136
5  libsystem_pthread.dylib        0x8cc thread_start + 8

Thread
0  libsystem_kernel.dylib         0xa80 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1404 _pthread_wqthread + 368
2  libsystem_pthread.dylib        0x8c0 start_wqthread + 8

com.hackemist.SDImageCache.ioQueue
0  libsystem_kernel.dylib         0x54a0 __rename + 8
1  libsystem_kernel.dylib         0x547c rename + 16
2  Foundation                     0x70dd8 <redacted> + 112
3  Foundation                     0x709dc <redacted> + 532
4  Foundation                     0x73934 <redacted> + 2312
5  Foundation                     0x7047c <redacted> + 48
6  Foundation                     0x70498 <redacted> + 16
7  Foundation                     0x704b0 <redacted> + 16
8  Foundation                     0x41570 <redacted> + 204
9  Foundation                     0x6f7c4 <redacted> + 516
10 Foundation                     0x6f574 <redacted> + 96
11 SDWebImage                     0x90c0 -[SDDiskCache setData:forKey:] + 99 (SDDiskCache.m:99)
12 SDWebImage                     0xc45c -[SDImageCache _storeImageDataToDisk:forKey:] + 362 (SDImageCache.m:362)
13 SDWebImage                     0xc05c __81-[SDImageCache storeImage:imageData:forKey:options:context:cacheType:completion:]_block_invoke.99 + 296 (SDImageCache.m:296)
14 libdispatch.dylib              0x1adc <redacted> + 32
15 libdispatch.dylib              0x1b7ec <redacted> + 16
16 libdispatch.dylib              0xa468 <redacted> + 740
17 libdispatch.dylib              0xaf78 <redacted> + 440
18 libdispatch.dylib              0x153ec <redacted> + 292
19 libdispatch.dylib              0x14ce4 <redacted> + 692
20 libsystem_pthread.dylib        0x13b8 _pthread_wqthread + 292
21 libsystem_pthread.dylib        0x8c0 start_wqthread + 8

Thread
0  libsystem_pthread.dylib        0x8b8 (누락 UUID 187bdc447ab83bc29973debc0798eaa4)

Thread
0  libsystem_kernel.dylib         0xa80 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1404 _pthread_wqthread + 368
2  libsystem_pthread.dylib        0x8c0 start_wqthread + 8

Crashed: com.hackemist.SDWebImageDownloader.downloadQueue (QOS: UNSPECIFIED)
0  libobjc.A.dylib                0x1444 objc_retain_x0 + 8
1  libobjc.A.dylib                0x1444 objc_retain + 8
2  SDWebImage                     0x1fcb0 -[SDWebImageDownloaderOperation start] + 235 (SDWebImageDownloaderOperation.m:235)
3  Foundation                     0x17ddc <redacted> + 16
4  Foundation                     0x17698 <redacted> + 164
5  libdispatch.dylib              0x11450 <redacted> + 148
6  libdispatch.dylib              0x1b7ec <redacted> + 16
7  libdispatch.dylib              0x6664 <redacted> + 596
8  libdispatch.dylib              0x5cd8 <redacted> + 580
9  libdispatch.dylib              0x13f48 <redacted> + 364
10 libdispatch.dylib              0x146fc <redacted> + 180
11 libsystem_pthread.dylib        0x137c _pthread_wqthread + 232
12 libsystem_pthread.dylib        0x8c0 start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0xa80 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1404 _pthread_wqthread + 368
2  libsystem_pthread.dylib        0x8c0 start_wqthread + 8

Thread
0  libsystem_kernel.dylib         0xa80 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1404 _pthread_wqthread + 368
2  libsystem_pthread.dylib        0x8c0 start_wqthread + 8

Thread
0  libsystem_pthread.dylib        0x8b8 (누락 UUID 187bdc447ab83bc29973debc0798eaa4)

JavaScriptCore libpas scavenger
0  libsystem_kernel.dylib         0x65d4 __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x2b58 <redacted> + 984
2  JavaScriptCore                 0xdf40 <redacted> + 1660
3  libsystem_pthread.dylib        0x444c _pthread_start + 136
4  libsystem_pthread.dylib        0x8cc thread_start + 8

Environment

iOS version: 26 only
SDWebImage version: 5.20.0
Integration method: SPM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions