OneSignal / OneSignal-iOS-SDK

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native iOS app with OneSignal. https://onesignal.com
Other
496 stars 263 forks source link

[Bug]: Crash when the user is offline for a while navigating the app! #1517

Open iballan opened 2 days ago

iballan commented 2 days ago

What happened?

The app is crashing when the app is offline and user navigating the app

This is very urgent and very widely spread issue!

If you search -> in the error log downside you can see the issue from the debug code

Screenshot 2024-11-14 at 4 23 39 PM Screenshot 2024-11-14 at 4 25 01 PM

Steps to reproduce?

1. Install Onesignal SDK
2. Open the app while offline
3. Wait for some time and the app will crash

What did you expect to happen?

To not crash the app

OneSignal iOS SDK version

5.2.7

iOS version

17, 16, 15

Specific iOS version

* iOS 18
* iOS 17

Relevant log output

OneSignalCore`-[OneSignalClient handleJSONNSURLResponse:data:error:isAsync:withRequest:onSuccess:onFailure:]:
    0x105955ac0 <+0>:    sub    sp, sp, #0x170
    0x105955ac4 <+4>:    stp    x28, x27, [sp, #0x110]
    0x105955ac8 <+8>:    stp    x26, x25, [sp, #0x120]
    0x105955acc <+12>:   stp    x24, x23, [sp, #0x130]
    0x105955ad0 <+16>:   stp    x22, x21, [sp, #0x140]
    0x105955ad4 <+20>:   stp    x20, x19, [sp, #0x150]
    0x105955ad8 <+24>:   stp    x29, x30, [sp, #0x160]
    0x105955adc <+28>:   add    x29, sp, #0x160
    0x105955ae0 <+32>:   mov    x20, x7
    0x105955ae4 <+36>:   mov    x21, x6
    0x105955ae8 <+40>:   mov    x19, x5
    0x105955aec <+44>:   mov    x22, x4
    0x105955af0 <+48>:   mov    x24, x2
    0x105955af4 <+52>:   str    x0, [sp, #0x50]
    0x105955af8 <+56>:   ldr    x23, [x29, #0x10]
    0x105955afc <+60>:   adrp   x8, 15
    0x105955b00 <+64>:   ldr    x8, [x8, #0x20]
    0x105955b04 <+68>:   ldr    x8, [x8]
    0x105955b08 <+72>:   stur   x8, [x29, #-0x60]
    0x105955b0c <+76>:   mov    x0, x3
    0x105955b10 <+80>:   bl     0x105959c48               ; symbol stub for: objc_retain
    0x105955b14 <+84>:   mov    x26, x0
    0x105955b18 <+88>:   mov    x0, x22
    0x105955b1c <+92>:   bl     0x105959c48               ; symbol stub for: objc_retain
    0x105955b20 <+96>:   mov    x22, x0
    0x105955b24 <+100>:  mov    x0, x21
    0x105955b28 <+104>:  bl     0x105959c48               ; symbol stub for: objc_retain
    0x105955b2c <+108>:  mov    x21, x0
    0x105955b30 <+112>:  mov    x0, x20
    0x105955b34 <+116>:  bl     0x105959c48               ; symbol stub for: objc_retain
    0x105955b38 <+120>:  mov    x27, x0
    0x105955b3c <+124>:  mov    x0, x23
    0x105955b40 <+128>:  bl     0x105959c48               ; symbol stub for: objc_retain
    0x105955b44 <+132>:  mov    x23, x0
    0x105955b48 <+136>:  mov    x0, x24
    0x105955b4c <+140>:  bl     0x105959c48               ; symbol stub for: objc_retain
    0x105955b50 <+144>:  mov    x20, x0
    0x105955b54 <+148>:  bl     0x10595bda0               ; objc_msgSend$statusCode
    0x105955b58 <+152>:  mov    x24, x0
    0x105955b5c <+156>:  mov    x0, x20
    0x105955b60 <+160>:  bl     0x10595a0e0               ; objc_msgSend$allHeaderFields
    0x105955b64 <+164>:  mov    x29, x29
    0x105955b68 <+168>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955b6c <+172>:  mov    x28, x0
    0x105955b70 <+176>:  mov    x0, x20
    0x105955b74 <+180>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955b78 <+184>:  cbz    x26, 0x105955e48          ; <+904>
    0x105955b7c <+188>:  mov    x0, x26
    0x105955b80 <+192>:  bl     0x10595ae00               ; objc_msgSend$length
    0x105955b84 <+196>:  cbz    x0, 0x105955e48           ; <+904>
    0x105955b88 <+200>:  str    w19, [sp, #0x1c]
    0x105955b8c <+204>:  stp    x23, x27, [sp, #0x30]
    0x105955b90 <+208>:  stp    x22, x26, [sp, #0x40]
    0x105955b94 <+212>:  adrp   x8, 20
    0x105955b98 <+216>:  ldr    x0, [x8, #0xe78]
    0x105955b9c <+220>:  str    xzr, [sp, #0x58]
    0x105955ba0 <+224>:  add    x4, sp, #0x58
    0x105955ba4 <+228>:  mov    x2, x26
    0x105955ba8 <+232>:  mov    w3, #0x1                  ; =1 
    0x105955bac <+236>:  bl     0x105959f60               ; objc_msgSend$JSONObjectWithData:options:error:
    0x105955bb0 <+240>:  mov    x29, x29
    0x105955bb4 <+244>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955bb8 <+248>:  mov    x25, x0
    0x105955bbc <+252>:  ldr    x0, [sp, #0x58]
    0x105955bc0 <+256>:  bl     0x105959c48               ; symbol stub for: objc_retain
    0x105955bc4 <+260>:  mov    x20, x0
    0x105955bc8 <+264>:  adrp   x8, 20
    0x105955bcc <+268>:  ldr    x0, [x8, #0xec0]
    0x105955bd0 <+272>:  str    x24, [sp, #0x20]
    0x105955bd4 <+276>:  mov    x2, x24
    0x105955bd8 <+280>:  bl     0x10595b120               ; objc_msgSend$numberWithLong:
    0x105955bdc <+284>:  mov    x29, x29
    0x105955be0 <+288>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955be4 <+292>:  mov    x24, x0
    0x105955be8 <+296>:  adrp   x3, 16
    0x105955bec <+300>:  add    x3, x3, #0x5d0            ; @"httpStatusCode"
    0x105955bf0 <+304>:  mov    x0, x25
    0x105955bf4 <+308>:  mov    x2, x24
    0x105955bf8 <+312>:  bl     0x10595baa0               ; objc_msgSend$setObject:forKeyedSubscript:
    0x105955bfc <+316>:  mov    x0, x24
    0x105955c00 <+320>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955c04 <+324>:  adrp   x3, 16
    0x105955c08 <+328>:  add    x3, x3, #0x5f0            ; @"headers"
    0x105955c0c <+332>:  mov    x0, x25
    0x105955c10 <+336>:  str    x28, [sp, #0x28]
    0x105955c14 <+340>:  mov    x2, x28
    0x105955c18 <+344>:  bl     0x10595baa0               ; objc_msgSend$setObject:forKeyedSubscript:
    0x105955c1c <+348>:  adrp   x8, 20
    0x105955c20 <+352>:  ldr    x22, [x8, #0xe18]
    0x105955c24 <+356>:  adrp   x8, 20
    0x105955c28 <+360>:  ldr    x27, [x8, #0xe28]
    0x105955c2c <+364>:  mov    x0, x21
    0x105955c30 <+368>:  bl     0x10595a460               ; objc_msgSend$class
    0x105955c34 <+372>:  bl     0x105959abc               ; symbol stub for: NSStringFromClass
    0x105955c38 <+376>:  mov    x29, x29
    0x105955c3c <+380>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955c40 <+384>:  mov    x24, x0
    0x105955c44 <+388>:  mov    x0, x21
    0x105955c48 <+392>:  bl     0x10595c0e0               ; objc_msgSend$urlRequest
    0x105955c4c <+396>:  mov    x29, x29
    0x105955c50 <+400>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955c54 <+404>:  mov    x28, x0
    0x105955c58 <+408>:  bl     0x105959f80               ; objc_msgSend$URL
    0x105955c5c <+412>:  mov    x29, x29
    0x105955c60 <+416>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955c64 <+420>:  mov    x23, x0
    0x105955c68 <+424>:  bl     0x10595a020               ; objc_msgSend$absoluteString
    0x105955c6c <+428>:  mov    x29, x29
    0x105955c70 <+432>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955c74 <+436>:  mov    x19, x0
    0x105955c78 <+440>:  mov    x0, x21
    0x105955c7c <+444>:  bl     0x10595a0c0               ; objc_msgSend$additionalHeaders
    0x105955c80 <+448>:  mov    x29, x29
    0x105955c84 <+452>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955c88 <+456>:  mov    x26, x0
    0x105955c8c <+460>:  stp    x19, x0, [sp, #0x8]
    0x105955c90 <+464>:  str    x24, [sp]
    0x105955c94 <+468>:  adrp   x2, 16
    0x105955c98 <+472>:  add    x2, x2, #0x610            ; @"network request (%@) with URL %@ and headers: %@"
    0x105955c9c <+476>:  mov    x0, x27
    0x105955ca0 <+480>:  bl     0x10595bf00               ; objc_msgSend$stringWithFormat:
    0x105955ca4 <+484>:  mov    x29, x29
    0x105955ca8 <+488>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955cac <+492>:  mov    x27, x0
    0x105955cb0 <+496>:  mov    x0, x22
    0x105955cb4 <+500>:  mov    w2, #0x6                  ; =6 
    0x105955cb8 <+504>:  mov    x3, x27
    0x105955cbc <+508>:  bl     0x10595b240               ; objc_msgSend$onesignalLog:message:
    0x105955cc0 <+512>:  mov    x0, x27
    0x105955cc4 <+516>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955cc8 <+520>:  mov    x0, x26
    0x105955ccc <+524>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955cd0 <+528>:  mov    x0, x19
    0x105955cd4 <+532>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955cd8 <+536>:  mov    x0, x23
    0x105955cdc <+540>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955ce0 <+544>:  mov    x0, x28
    0x105955ce4 <+548>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955ce8 <+552>:  mov    x0, x24
    0x105955cec <+556>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955cf0 <+560>:  adrp   x8, 20
    0x105955cf4 <+564>:  ldr    x19, [x8, #0xe18]
    0x105955cf8 <+568>:  adrp   x8, 20
    0x105955cfc <+572>:  ldr    x22, [x8, #0xe28]
    0x105955d00 <+576>:  mov    x0, x21
    0x105955d04 <+580>:  bl     0x10595a460               ; objc_msgSend$class
    0x105955d08 <+584>:  bl     0x105959abc               ; symbol stub for: NSStringFromClass
    0x105955d0c <+588>:  mov    x29, x29
    0x105955d10 <+592>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955d14 <+596>:  mov    x23, x0
    0x105955d18 <+600>:  mov    x0, x21
    0x105955d1c <+604>:  bl     0x10595c0e0               ; objc_msgSend$urlRequest
    0x105955d20 <+608>:  mov    x29, x29
    0x105955d24 <+612>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955d28 <+616>:  mov    x24, x0
    0x105955d2c <+620>:  bl     0x105959f80               ; objc_msgSend$URL
    0x105955d30 <+624>:  mov    x29, x29
    0x105955d34 <+628>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955d38 <+632>:  mov    x26, x0
    0x105955d3c <+636>:  bl     0x10595a020               ; objc_msgSend$absoluteString
    0x105955d40 <+640>:  mov    x29, x29
    0x105955d44 <+644>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955d48 <+648>:  mov    x27, x0
    0x105955d4c <+652>:  stp    x0, x25, [sp, #0x8]
    0x105955d50 <+656>:  str    x23, [sp]
    0x105955d54 <+660>:  adrp   x2, 16
    0x105955d58 <+664>:  add    x2, x2, #0x630            ; @"network response (%@) with URL %@: %@"
    0x105955d5c <+668>:  mov    x0, x22
    0x105955d60 <+672>:  bl     0x10595bf00               ; objc_msgSend$stringWithFormat:
    0x105955d64 <+676>:  mov    x29, x29
    0x105955d68 <+680>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955d6c <+684>:  mov    x22, x0
    0x105955d70 <+688>:  mov    x0, x19
    0x105955d74 <+692>:  mov    w2, #0x6                  ; =6 
    0x105955d78 <+696>:  mov    x3, x22
    0x105955d7c <+700>:  bl     0x10595b240               ; objc_msgSend$onesignalLog:message:
    0x105955d80 <+704>:  mov    x0, x22
    0x105955d84 <+708>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955d88 <+712>:  mov    x0, x27
    0x105955d8c <+716>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955d90 <+720>:  mov    x0, x26
    0x105955d94 <+724>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955d98 <+728>:  mov    x0, x24
    0x105955d9c <+732>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955da0 <+736>:  mov    x0, x23
    0x105955da4 <+740>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955da8 <+744>:  cbz    x20, 0x105955ee8          ; <+1064>
    0x105955dac <+748>:  ldp    x23, x27, [sp, #0x30]
    0x105955db0 <+752>:  cbz    x23, 0x105955efc          ; <+1084>
    0x105955db4 <+756>:  adrp   x8, 20
    0x105955db8 <+760>:  ldr    x19, [x8, #0xf10]
    0x105955dbc <+764>:  adrp   x8, 16
    0x105955dc0 <+768>:  add    x9, x8, #0x390            ; @"returned"
    0x105955dc4 <+772>:  adrp   x8, 16
    0x105955dc8 <+776>:  add    x8, x8, #0x5f0            ; @"headers"
    0x105955dcc <+780>:  stp    x9, x8, [x29, #-0x80]
    0x105955dd0 <+784>:  ldr    x28, [sp, #0x28]
    0x105955dd4 <+788>:  stp    x20, x28, [x29, #-0x70]
    0x105955dd8 <+792>:  adrp   x8, 20
    0x105955ddc <+796>:  ldr    x0, [x8, #0xea8]
    0x105955de0 <+800>:  sub    x2, x29, #0x70
    0x105955de4 <+804>:  sub    x3, x29, #0x80
    0x105955de8 <+808>:  mov    w4, #0x2                  ; =2 
    0x105955dec <+812>:  bl     0x10595a760               ; objc_msgSend$dictionaryWithObjects:forKeys:count:
    0x105955df0 <+816>:  mov    x29, x29
    0x105955df4 <+820>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955df8 <+824>:  mov    x22, x0
    0x105955dfc <+828>:  adrp   x2, 16
    0x105955e00 <+832>:  add    x2, x2, #0x490            ; @"OneSignal Error"
    0x105955e04 <+836>:  mov    x0, x19
    0x105955e08 <+840>:  ldr    x3, [sp, #0x20]
    0x105955e0c <+844>:  mov    x4, x22
    0x105955e10 <+848>:  bl     0x10595a7e0               ; objc_msgSend$errorWithDomain:code:userInfo:
    0x105955e14 <+852>:  mov    x29, x29
    0x105955e18 <+856>:  bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955e1c <+860>:  mov    x19, x0
    0x105955e20 <+864>:  ldr    x8, [x23, #0x10]
    0x105955e24 <+868>:  mov    x0, x23
    0x105955e28 <+872>:  mov    x1, x19
    0x105955e2c <+876>:  blr    x8
    0x105955e30 <+880>:  mov    x0, x19
    0x105955e34 <+884>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955e38 <+888>:  mov    x0, x22
    0x105955e3c <+892>:  bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955e40 <+896>:  ldp    x22, x26, [sp, #0x40]
    0x105955e44 <+900>:  b      0x105955f9c               ; <+1244>
    0x105955e48 <+904>:  mov    x25, #0x0                 ; =0 
    0x105955e4c <+908>:  ldr    x0, [sp, #0x50]
    0x105955e50 <+912>:  mov    x2, x24
    0x105955e54 <+916>:  mov    x3, x21
    0x105955e58 <+920>:  mov    x4, x27
    0x105955e5c <+924>:  mov    x5, x23
    0x105955e60 <+928>:  mov    x6, x19
    0x105955e64 <+932>:  bl     0x10595c1c0               ; objc_msgSend$willReattemptRequest:withRequest:success:failure:asyncRequest:
    0x105955e68 <+936>:  tbnz   w0, #0x0, 0x105955f98     ; <+1240>
    0x105955e6c <+940>:  cbnz   x22, 0x105955e94          ; <+980>
    0x105955e70 <+944>:  sub    x8, x24, #0xc8
    0x105955e74 <+948>:  cmp    x8, #0x2
    0x105955e78 <+952>:  b.hi   0x105955e94               ; <+980>
    0x105955e7c <+956>:  cbz    x27, 0x105955f98          ; <+1240>
    0x105955e80 <+960>:  ldr    x8, [x27, #0x10]
    0x105955e84 <+964>:  mov    x0, x27
    0x105955e88 <+968>:  cbz    x25, 0x105955f90          ; <+1232>
    0x105955e8c <+972>:  mov    x1, x25
    0x105955e90 <+976>:  b      0x105955f94               ; <+1236>
    0x105955e94 <+980>:  cbz    x23, 0x105955f98          ; <+1240>
    0x105955e98 <+984>:  adrp   x8, 20
    0x105955e9c <+988>:  ldr    x20, [x8, #0xf10]
    0x105955ea0 <+992>:  cbz    x22, 0x105955f08          ; <+1096>
    0x105955ea4 <+996>:  cbz    x25, 0x105955f08          ; <+1096>
    0x105955ea8 <+1000>: adrp   x8, 16
    0x105955eac <+1004>: add    x8, x8, #0x390            ; @"returned"
    0x105955eb0 <+1008>: adrp   x9, 16
    0x105955eb4 <+1012>: add    x9, x9, #0x4b0            ; @"error"
    0x105955eb8 <+1016>: stp    x8, x9, [sp, #0xb0]
    0x105955ebc <+1020>: stp    x25, x22, [x29, #-0x98]
    0x105955ec0 <+1024>: adrp   x8, 16
    0x105955ec4 <+1028>: add    x8, x8, #0x5f0            ; @"headers"
    0x105955ec8 <+1032>: str    x8, [sp, #0xc0]
    0x105955ecc <+1036>: stur   x28, [x29, #-0x88]
    0x105955ed0 <+1040>: adrp   x8, 20
    0x105955ed4 <+1044>: ldr    x0, [x8, #0xea8]
    0x105955ed8 <+1048>: sub    x2, x29, #0x98
    0x105955edc <+1052>: add    x3, sp, #0xb0
    0x105955ee0 <+1056>: mov    w4, #0x3                  ; =3 
    0x105955ee4 <+1060>: b      0x105955f38               ; <+1144>
    0x105955ee8 <+1064>: ldp    x22, x26, [sp, #0x40]
    0x105955eec <+1068>: ldp    x23, x27, [sp, #0x30]
    0x105955ef0 <+1072>: ldp    x24, x28, [sp, #0x20]
    0x105955ef4 <+1076>: ldr    w19, [sp, #0x1c]
    0x105955ef8 <+1080>: b      0x105955e4c               ; <+908>
    0x105955efc <+1084>: ldp    x22, x26, [sp, #0x40]
    0x105955f00 <+1088>: ldr    x28, [sp, #0x28]
    0x105955f04 <+1092>: b      0x105955f9c               ; <+1244>
    0x105955f08 <+1096>: cbz    x25, 0x105956014          ; <+1364>
    0x105955f0c <+1100>: adrp   x8, 16
    0x105955f10 <+1104>: add    x8, x8, #0x390            ; @"returned"
    0x105955f14 <+1108>: adrp   x9, 16
    0x105955f18 <+1112>: add    x9, x9, #0x5f0            ; @"headers"
    0x105955f1c <+1116>: stp    x8, x9, [sp, #0x90]
    0x105955f20 <+1120>: stp    x25, x28, [sp, #0xa0]
    0x105955f24 <+1124>: adrp   x8, 20
    0x105955f28 <+1128>: ldr    x0, [x8, #0xea8]
    0x105955f2c <+1132>: add    x2, sp, #0xa0
    0x105955f30 <+1136>: add    x3, sp, #0x90
    0x105955f34 <+1140>: mov    w4, #0x2                  ; =2 
    0x105955f38 <+1144>: bl     0x10595a760               ; objc_msgSend$dictionaryWithObjects:forKeys:count:
    0x105955f3c <+1148>: mov    x29, x29
    0x105955f40 <+1152>: bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955f44 <+1156>: mov    x19, x0
    0x105955f48 <+1160>: adrp   x2, 16
    0x105955f4c <+1164>: add    x2, x2, #0x550            ; @"OneSignalError"
    0x105955f50 <+1168>: mov    x0, x20
    0x105955f54 <+1172>: mov    x3, x24
    0x105955f58 <+1176>: mov    x4, x19
    0x105955f5c <+1180>: bl     0x10595a7e0               ; objc_msgSend$errorWithDomain:code:userInfo:
    0x105955f60 <+1184>: mov    x29, x29
    0x105955f64 <+1188>: bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105955f68 <+1192>: mov    x20, x0
    0x105955f6c <+1196>: ldr    x8, [x23, #0x10]
    0x105955f70 <+1200>: mov    x0, x23
    0x105955f74 <+1204>: mov    x1, x20
    0x105955f78 <+1208>: blr    x8
    0x105955f7c <+1212>: mov    x0, x20
    0x105955f80 <+1216>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955f84 <+1220>: mov    x0, x19
    0x105955f88 <+1224>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955f8c <+1228>: b      0x105955f98               ; <+1240>
    0x105955f90 <+1232>: mov    x1, #0x0                  ; =0 
    0x105955f94 <+1236>: blr    x8
    0x105955f98 <+1240>: mov    x20, #0x0                 ; =0 
    0x105955f9c <+1244>: mov    x0, x25
    0x105955fa0 <+1248>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fa4 <+1252>: mov    x0, x20
    0x105955fa8 <+1256>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fac <+1260>: mov    x0, x28
    0x105955fb0 <+1264>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fb4 <+1268>: mov    x0, x23
    0x105955fb8 <+1272>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fbc <+1276>: mov    x0, x27
    0x105955fc0 <+1280>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fc4 <+1284>: mov    x0, x21
    0x105955fc8 <+1288>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fcc <+1292>: mov    x0, x22
    0x105955fd0 <+1296>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fd4 <+1300>: mov    x0, x26
    0x105955fd8 <+1304>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x105955fdc <+1308>: ldur   x8, [x29, #-0x60]
    0x105955fe0 <+1312>: adrp   x9, 15
    0x105955fe4 <+1316>: ldr    x9, [x9, #0x20]
    0x105955fe8 <+1320>: ldr    x9, [x9]
    0x105955fec <+1324>: cmp    x9, x8
    0x105955ff0 <+1328>: b.ne   0x1059560c8               ; <+1544>
    0x105955ff4 <+1332>: ldp    x29, x30, [sp, #0x160]
    0x105955ff8 <+1336>: ldp    x20, x19, [sp, #0x150]
    0x105955ffc <+1340>: ldp    x22, x21, [sp, #0x140]
    0x105956000 <+1344>: ldp    x24, x23, [sp, #0x130]
    0x105956004 <+1348>: ldp    x26, x25, [sp, #0x120]
    0x105956008 <+1352>: ldp    x28, x27, [sp, #0x110]
    0x10595600c <+1356>: add    sp, sp, #0x170
    0x105956010 <+1360>: ret    
    0x105956014 <+1364>: cbz    x22, 0x105956048          ; <+1416>
    0x105956018 <+1368>: adrp   x8, 15
    0x10595601c <+1372>: add    x8, x8, #0x4b0            ; @"error"
    0x105956020 <+1376>: adrp   x9, 15
    0x105956024 <+1380>: add    x9, x9, #0x5f0            ; @"headers"
    0x105956028 <+1384>: stp    x8, x9, [sp, #0x70]
    0x10595602c <+1388>: stp    x22, x28, [sp, #0x80]
    0x105956030 <+1392>: adrp   x8, 19
    0x105956034 <+1396>: ldr    x0, [x8, #0xea8]
    0x105956038 <+1400>: add    x2, sp, #0x80
    0x10595603c <+1404>: add    x3, sp, #0x70
    0x105956040 <+1408>: mov    w4, #0x2                  ; =2 
    0x105956044 <+1412>: b      0x105956068               ; <+1448>
    0x105956048 <+1416>: adrp   x8, 15
    0x10595604c <+1420>: add    x8, x8, #0x5f0            ; @"headers"
    0x105956050 <+1424>: stp    x8, x28, [sp, #0x60]
    0x105956054 <+1428>: adrp   x8, 19
    0x105956058 <+1432>: ldr    x0, [x8, #0xea8]
    0x10595605c <+1436>: add    x2, sp, #0x68
    0x105956060 <+1440>: add    x3, sp, #0x60
    0x105956064 <+1444>: mov    w4, #0x1                  ; =1 
    0x105956068 <+1448>: bl     0x10595a760               ; objc_msgSend$dictionaryWithObjects:forKeys:count:
->  0x10595606c <+1452>: mov    x29, x29
    0x105956070 <+1456>: bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105956074 <+1460>: mov    x19, x0
    0x105956078 <+1464>: adrp   x2, 15
    0x10595607c <+1468>: add    x2, x2, #0x550            ; @"OneSignalError"
    0x105956080 <+1472>: mov    x0, x20
    0x105956084 <+1476>: mov    x3, x24
    0x105956088 <+1480>: mov    x4, x19
    0x10595608c <+1484>: bl     0x10595a7e0               ; objc_msgSend$errorWithDomain:code:userInfo:
    0x105956090 <+1488>: mov    x29, x29
    0x105956094 <+1492>: bl     0x105959c6c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x105956098 <+1496>: mov    x20, x0
    0x10595609c <+1500>: ldr    x8, [x23, #0x10]
    0x1059560a0 <+1504>: mov    x0, x23
    0x1059560a4 <+1508>: mov    x1, x20
    0x1059560a8 <+1512>: blr    x8
    0x1059560ac <+1516>: mov    x0, x20
    0x1059560b0 <+1520>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x1059560b4 <+1524>: mov    x0, x19
    0x1059560b8 <+1528>: bl     0x105959c3c               ; symbol stub for: objc_release
    0x1059560bc <+1532>: mov    x20, #0x0                 ; =0 
    0x1059560c0 <+1536>: mov    x25, #0x0                 ; =0 
    0x1059560c4 <+1540>: b      0x105955f9c               ; <+1244>
    0x1059560c8 <+1544>: bl     0x105959af8               ; symbol stub for: __stack_chk_fail

OneSignalCore`__54-[OneSignalClient executeRequest:onSuccess:onFailure:]_block_invoke:
    0x10595530c <+0>:  sub    sp, sp, #0x20
    0x105955310 <+4>:  stp    x29, x30, [sp, #0x10]
    0x105955314 <+8>:  add    x29, sp, #0x10
    0x105955318 <+12>: mov    x4, x3
    0x10595531c <+16>: ldp    x8, x6, [x0, #0x20]
    0x105955320 <+20>: ldp    x7, x9, [x0, #0x30]
    0x105955324 <+24>: str    x9, [sp]
    0x105955328 <+28>: mov    x0, x8
    0x10595532c <+32>: mov    x3, x1
    0x105955330 <+36>: mov    w5, #0x1                  ; =1 
    0x105955334 <+40>: bl     0x10595a9e0               ; objc_msgSend$handleJSONNSURLResponse:data:error:isAsync:withRequest:onSuccess:onFailure:
->  0x105955338 <+44>: ldp    x29, x30, [sp, #0x10]
    0x10595533c <+48>: add    sp, sp, #0x20
    0x105955340 <+52>: ret

Code of Conduct

jpike88 commented 1 day ago

@nan-li @rgomezp @jennantilla this is a SERIOUS bug, this needs to be escalated to the highest priority. Another related crash log attached for similar reason, it only happened when the user was offline.

Please look at this with the highest urgency! And also ensure the fix is pushed asap to the Cordova project.

Screenshot 2024-11-15 at 10 46 29 AM
jennantilla commented 1 day ago

Hello @iballan and @jpike88 thanks for flagging. We have also received reports of a similar crash here and are investigating. We will let you know developments as they happen.

We appreciate your patience and understanding!