Skip to content

[Bug]: crash when calling cleanUpInAppWindow from background thread #1522

@samshiffman321

Description

@samshiffman321

What happened?

We are getting a crash caused by cleanUpInAppWindow being called from a background thread.

Steps to reproduce?

This happens any time `cleanUpInAppWindow` is called from a non-main thread (exact STR unclear).

What did you expect to happen?

I expect the app to not crash, by only calling this method from the main thread. This has happened before, as seen in this commit 1ae11e6

OneSignal iOS SDK version

5.2

iOS version

17, 16, 15

Specific iOS version

No response

Relevant log output

Crashed: com.apple.NSURLSession-delegate
0  FrontBoardServices             0x707c -[FBSMainRunLoopSerialQueue assertBarrierOnQueue] + 140
1  FrontBoardServices             0x198f4 -[FBSScene detachLayer:] + 40
2  UIKitCore                      0x2fe4e4 -[_UIFBSSceneSubstrate detachContext:] + 92
3  UIKitCore                      0x2fe2b0 __UIContextBinderDetachContext + 240
4  UIKitCore                      0x171320 -[_UIContextBinder detachBindable:] + 192
5  UIKitCore                      0x1701dc -[UIWindowScene _windowUpdatedVisibility:] + 324
6  UIKitCore                      0x16ef94 -[UIWindow _updateLayerOrderingAndSetLayerHidden:actionBlock:] + 192
7  UIKitCore                      0x16ea44 -[UIWindow _setHidden:forced:] + 104
8  OneSignalInAppMessages         0xa448 -[OSMessagingController cleanUpInAppWindow] + 80
9  OneSignalInAppMessages         0x13700 -[OSInAppMessageViewController encounteredErrorLoadingMessageContent:] + 200
10 OneSignalCore                  0xddf8 -[OneSignalClient handleJSONNSURLResponse:data:error:isAsync:withRequest:onSuccess:onFailure:] + 980
11 OneSignalCore                  0xd2bc __54-[OneSignalClient executeRequest:onSuccess:onFailure:]_block_invoke + 44
12 CFNetwork                      0x6ac70 CFHTTPCookieCreateWithResponseHeaderFields + 62444
13 CFNetwork                      0x6aa44 CFHTTPCookieCreateWithResponseHeaderFields + 61888
14 libdispatch.dylib              0x213c _dispatch_call_block_and_release + 32
15 libdispatch.dylib              0x3dd4 _dispatch_client_callout + 20
16 libdispatch.dylib              0xb400 _dispatch_lane_serial_drain + 748
17 libdispatch.dylib              0xbf64 _dispatch_lane_invoke + 432
18 libdispatch.dylib              0x16cb4 _dispatch_root_queue_drain_deferred_wlh + 288
19 libdispatch.dylib              0x16528 _dispatch_workloop_worker_thread + 404
20 libsystem_pthread.dylib        0x4934 _pthread_wqthread + 288
21 libsystem_pthread.dylib        0x10cc start_wqthread + 8

Code of Conduct

  • I agree to follow this project's Code of Conduct

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