Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

💥 Crash on -[PNDAnalyticsMessageAdapter addDataToAnalyticsIfNeeded:] #211

Open
msrutek-paylocity opened this issue Dec 3, 2024 · 4 comments

Comments

@msrutek-paylocity
Copy link

msrutek-paylocity commented Dec 3, 2024

Platform + Version

i.e.

  • iOS 16.1.1, iPhone SE (2nd generation)
  • iOS 16.6.1, iPhone 12
  • iOS 18.1.1, iPhone XR
  • iOS 17.6.1, iPhone 12
  • iOS 17.6.1, iPhone 14
  • iOS 17.6.1, iPhone 14 Pro
  • iOS 17.6.1, iPhone 15 Pro Max
  • iPadOS 18.0.1, iPad (9th generation)
  • ...

SDK Version

3.4.3

Framework

Native, SwiftUI

Describe the bug

Crash of the app. This mostly happens within the first second of the app lifetime.

To Reproduce

Yet unknown.

Expected behavior

No crash.

Stack Trace

Multiple variants -

Crashed: pendo.api.initQueue
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000d07c56c60 

0  libobjc.A.dylib                0x4174 objc_release + 16
1  libobjc.A.dylib                0x4174 objc_release_x0 + 16
2  Pendo                          0x1bf30 -[PNDAnalyticsMessageAdapter addDataToAnalyticsIfNeeded:] + 1280
3  Pendo                          0x114c1c -[PNDAnalyticsMessageManager putSync:] + 164
4  Pendo                          0x591e8 __44+[PNDTrackEventsUtils sendTrack:properties:]_block_invoke + 488
5  libdispatch.dylib              0x2320 _dispatch_call_block_and_release + 32
6  libdispatch.dylib              0x3eac _dispatch_client_callout + 20
7  libdispatch.dylib              0xb534 _dispatch_lane_serial_drain + 668
8  libdispatch.dylib              0xc0a4 _dispatch_lane_invoke + 384
9  libdispatch.dylib              0x16cdc _dispatch_workloop_worker_thread + 648
10 libsystem_pthread.dylib        0xddc _pthread_wqthread + 288
11 libsystem_pthread.dylib        0xb7c start_wqthread + 8

or

Crashed: pendo.analytics.syncQueue
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x000000060c666620

0  libobjc.A.dylib                0x1c78 objc_retain + 16
1  libobjc.A.dylib                0x1c78 objc_retain_x0 + 16
2  libobjc.A.dylib                0x75b4 objc_getProperty + 100
3  Pendo                          0x1cb34 -[PNDAnalyticsMessageAdapter addDataToAnalyticsIfNeeded:] + 1080
4  Pendo                          0x114d78 __34-[PNDAnalyticsMessageManager put:]_block_invoke + 80
5  libdispatch.dylib              0x2370 _dispatch_call_block_and_release + 32
6  libdispatch.dylib              0x40d0 _dispatch_client_callout + 20
7  libdispatch.dylib              0xb6d8 _dispatch_lane_serial_drain + 744
8  libdispatch.dylib              0xc1e0 _dispatch_lane_invoke + 380
9  libdispatch.dylib              0x17258 _dispatch_root_queue_drain_deferred_wlh + 288
10 libdispatch.dylib              0x16aa4 _dispatch_workloop_worker_thread + 540
11 libsystem_pthread.dylib        0x4c7c _pthread_wqthread + 288
12 libsystem_pthread.dylib        0x1488 start_wqthread + 8
@msrutek-paylocity
Copy link
Author

Hello @TehilaTaub @MikePendo , have you had some time to look into this issue? It's happening quite often (compared to the other open crashes). Thanks!

@MikePendo
Copy link
Contributor

MikePendo commented Jan 8, 2025

@msrutek-paylocity

  1. you say Crash of the app. This mostly happens within the first second of the app lifetime
    Do you manage to reproduce it
  2. I will open an issue on our side. There is one thing that we definetly can improve on the SDK and it happened exactly on app launch time I am sorry we need some more data the error is seems like some sort of memory corruption which we are not sure what the route cause of
  3. When your app launches are you sending track event? how often you are using track event and do they have a big payload?

@msrutek-paylocity
Copy link
Author

Hello @MikePendo ,

  1. We haven't been able to reproduce it yet. A lot of these crashes have "<= 1 second" badge - indicating the crash has happened early on.
Image
  1. Is there anything useful we could provide?

  2. There might be a couple of events fired at once. Using the

func track(
    _ event: [String](doc://com.apple.documentation/pcwfs),
    properties: [[AnyHashable](doc://com.apple.documentation/jfgjd3) : Any]?
)

function on PendoManager, the payload is minimal, I'd say. In one case we're sending ~3 properties, in another one also ~3 properties.

@msrutek-paylocity
Copy link
Author

@MikePendo one other thing we've noticed (might not be related), is that we're accessing DynamicTypeSize in 10 out of 13 of the crashes.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants