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

Kinesis crashes sometimes - iOS 18 #5448

Open
elileshemautocap opened this issue Oct 4, 2024 · 9 comments
Open

Kinesis crashes sometimes - iOS 18 #5448

elileshemautocap opened this issue Oct 4, 2024 · 9 comments
Labels
bug Something isn't working kinesis Issues related to Kinesis pending-community-response Issue is pending response from the issue requestor

Comments

@elileshemautocap
Copy link

elileshemautocap commented Oct 4, 2024

app crahses on firat 3 seconds on iOS 18 (sometimes)

To Reproduce
Steps to reproduce the behavior:
using AWSKinesis 2.37.2 on swift app

app crashes after firehoseRecorder.submitAllRecords()

with the following trace

Crashlytics - Stack trace

Application: laika.autocap

Platform: apple

Version: 1.2.27 (226)

Issue: b8b2fba69805817e94a11d9fa93f5a73

Session: 8370a46743514cbbb45364efcbcb857e_DNE_0_v2

Date: Fri Oct 04 2024 08:47:45 GMT+0700 (Indochina Time)

Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x8408c (Missing UUID 47427277ee153c17ad686886b0380b5e)
1 libobjc.A.dylib 0x172e4 objc_exception_throw
2 CoreFoundation 0x1641c (Missing UUID 47427277ee153c17ad686886b0380b5e)
3 CoreFoundation 0x16038 (Missing UUID 47427277ee153c17ad686886b0380b5e)
4 AWSKinesis 0x54b0 __46-[AWSAbstractKinesisRecorder submitAllRecords]_block_invoke_2 + 256 (AWSAbstractKinesisRecorder.m:256)
5 AWSCore 0x23fc8 __49-[AWSFMDatabaseQueue beginTransaction:withBlock:]_block_invoke + 187 (AWSFMDatabaseQueue.m:187)
6 libdispatch.dylib 0x40d0 _dispatch_client_callout
7 libdispatch.dylib 0x13750 _dispatch_lane_barrier_sync_invoke_and_complete
8 AWSCore 0x23f40 -[AWSFMDatabaseQueue beginTransaction:withBlock:] + 198 (AWSFMDatabaseQueue.m:198)
9 AWSKinesis 0x52d4 __46-[AWSAbstractKinesisRecorder submitAllRecords]_block_invoke + 322 (AWSAbstractKinesisRecorder.m:322)
10 AWSCore 0x44eec __63-[AWSTask continueWithExecutor:successBlock:cancellationToken:]_block_invoke + 401 (AWSTask.m:401)
11 AWSCore 0x44af4 __56-[AWSTask continueWithExecutor:block:cancellationToken:]_block_invoke + 334 (AWSTask.m:334)
12 libdispatch.dylib 0x2370 _dispatch_call_block_and_release
13 libdispatch.dylib 0x40d0 _dispatch_client_callout
14 libdispatch.dylib 0xb6d8 _dispatch_lane_serial_drain
15 libdispatch.dylib 0xc1e0 _dispatch_lane_invoke
16 libdispatch.dylib 0x17258 _dispatch_root_queue_drain_deferred_wlh
17 libdispatch.dylib 0x16aa4 _dispatch_workloop_worker_thread
18 libsystem_pthread.dylib 0x4c7c _pthread_wqthread
19 libsystem_pthread.dylib 0x1488 start_wqthread

com.apple.main-thread
0 CoreGraphics 0x3a148 + 264
1 CoreGraphics 0x39e3c CGBitmapContextSetData + 116
2 QuartzCore 0xeea28 + 548
3 QuartzCore 0xee47c + 496
4 QuartzCore 0xeb130 + 604
5 QuartzCore 0xeaeb4 + 120
6 QuartzCore 0x79cdc + 1660
7 UIKitCore 0x7280c + 248
8 UIKitCore 0x4b0e88 + 76
9 UIKitCore 0x4b0d18 + 168
10 UIKitCore 0x226420 + 1740
11 UIKitCore 0x1da0f0 + 72
12 UIKitCore 0x10578 + 2424
13 QuartzCore 0x78664 + 496
14 UIKitCore 0x54000 + 312
15 UIKitCore 0x237f9c + 36
16 UIKitCore 0x36429c + 216
17 UIKitCore 0x23b03c + 320
18 UIKitCore 0xb13fdc UIVIEWCONTROLLERTRANSITIONCOORDINATOR_IS_EXECUTING_ALONGSIDE_ANIMATION_BLOCK + 36
19 UIKitCore 0x2ef36c + 124
20 UIKitCore 0x2ef23c + 272
21 UIKitCore 0x1560d38 UIVIEW_IS_EXECUTING_ALONGSIDE_ANIMATION_BLOCK + 24
22 UIKitCore 0x1560ee0 + 28
23 UIKitCore 0x85ea8 + 40
24 UIKitCore 0x857bc + 40
25 UIKitCore 0x85590 + 56
26 UIKitCore 0x1561d24 + 676
27 UIKitCore 0x2728c0 + 48
28 UIKitCore 0xca3f4 + 420
29 UIKitCore 0xc9b64 + 88
30 UIKitCore 0x38e494 + 1160
31 UIKitCore 0x38cf6c + 1828
32 UIKitCore 0x2f0d64 + 1300
33 UIKitCore 0xb14980 + 160
34 UIKitCore 0x43ec80 + 96
35 UIKitCore 0xb1489c + 208
36 UIKitCore 0x1560dfc + 188
37 UIKitCore 0xb146f0 + 556
38 UIKitCore 0xa5f698 + 1756
39 UIKitCore 0xaf184 + 72
40 UIKitCore 0xaf048 + 164
41 UIKitCore 0xaef5c + 260
42 UIKitCore 0xaec7c + 80
43 UIKitCore 0xaeb8c + 72
44 UIKitCore 0xac174 + 332
45 UIKitCore 0xabfe8 + 84
46 UIKitCore 0xabc38 + 172
47 UIKitCore 0xacbac + 92
48 CoreFoundation 0x57088 + 28
49 CoreFoundation 0x5701c + 176
50 CoreFoundation 0x54b6c + 344
51 CoreFoundation 0x53d04 + 840
52 CoreFoundation 0x535b8 CFRunLoopRunSpecific + 572
53 GraphicsServices 0x11c4 GSEventRunModal + 164
54 UIKitCore 0x3de5f0 + 816
55 UIKitCore 0x48d10c UIApplicationMain + 340
56 autocap 0x206ea8 main + 19 (AppDelegate.swift:19)
57 ??? 0x1bd87bd34 (Missing)

Thread
0 libsystem_kernel.dylib 0x14b0 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x4cc8 _pthread_wqthread + 364
2 libsystem_pthread.dylib 0x1488 start_wqthread + 8

com.apple.uikit.eventfetch-thread
0 libsystem_kernel.dylib 0x1728 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4e38 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4d50 mach_msg_overwrite + 424
3 libsystem_kernel.dylib 0x4b9c mach_msg + 24
4 CoreFoundation 0x547cc + 160
5 CoreFoundation 0x53e78 + 1212
6 CoreFoundation 0x535b8 CFRunLoopRunSpecific + 572
7 Foundation 0xb6f00 + 212
8 Foundation 0xb6d50 + 64
9 UIKitCore 0x3f1a44 + 420
10 Foundation 0xc8058 + 724
11 libsystem_pthread.dylib 0x637c _pthread_start + 136
12 libsystem_pthread.dylib 0x1494 thread_start + 8

Crashed: com.google.firebase.crashlytics.ios.exception
0 FirebaseCrashlytics 0x1f4c0 FIRCLSProcessRecordAllThreads + 392 (FIRCLSProcess.c:392)
1 FirebaseCrashlytics 0x1f8a4 FIRCLSProcessRecordAllThreads + 423 (FIRCLSProcess.c:423)
2 FirebaseCrashlytics 0x17c94 FIRCLSHandler + 34 (FIRCLSHandler.m:34)
3 FirebaseCrashlytics 0x12f48 __FIRCLSExceptionRecord_block_invoke + 240 (FIRCLSException.mm:240)
4 libdispatch.dylib 0x40d0 _dispatch_client_callout + 20
5 libdispatch.dylib 0x13750 _dispatch_lane_barrier_sync_invoke_and_complete + 56
6 FirebaseCrashlytics 0x1203c FIRCLSExceptionRecord + 242 (FIRCLSException.mm:242)
7 FirebaseCrashlytics 0x12a58 FIRCLSExceptionRecordNSException + 126 (FIRCLSException.mm:126)
8 FirebaseCrashlytics 0x11c80 FIRCLSTerminateHandler() + 407 (FIRCLSException.mm:407)
9 libc++abi.dylib 0x1287c std::__terminate(void (*)()) + 16
10 libc++abi.dylib 0x12820 std::terminate() + 108
11 libobjc.A.dylib 0x3f938 objc_terminate + 16
12 libdispatch.dylib 0x40e4 _dispatch_client_callout + 40
13 libdispatch.dylib 0x13750 _dispatch_lane_barrier_sync_invoke_and_complete + 56
14 AWSCore 0x23f40 -[AWSFMDatabaseQueue beginTransaction:withBlock:] + 198 (AWSFMDatabaseQueue.m:198)
15 AWSKinesis 0x52d4 __46-[AWSAbstractKinesisRecorder submitAllRecords]_block_invoke + 322 (AWSAbstractKinesisRecorder.m:322)
16 AWSCore 0x44eec __63-[AWSTask continueWithExecutor:successBlock:cancellationToken:]_block_invoke + 401 (AWSTask.m:401)
17 AWSCore 0x44af4 __56-[AWSTask continueWithExecutor:block:cancellationToken:]_block_invoke + 334 (AWSTask.m:334)
18 libdispatch.dylib 0x2370 _dispatch_call_block_and_release + 32
19 libdispatch.dylib 0x40d0 _dispatch_client_callout + 20
20 libdispatch.dylib 0xb6d8 _dispatch_lane_serial_drain + 744
21 libdispatch.dylib 0xc1e0 _dispatch_lane_invoke + 380
22 libdispatch.dylib 0x17258 _dispatch_root_queue_drain_deferred_wlh + 288
23 libdispatch.dylib 0x16aa4 _dispatch_workloop_worker_thread + 540
24 libsystem_pthread.dylib 0x4c7c _pthread_wqthread + 288
25 libsystem_pthread.dylib 0x1488 start_wqthread + 8

Thread
0 libsystem_pthread.dylib 0x1480 start_wqthread + 9114354814

com.google.firebase.crashlytics.MachExceptionServer
0 libsystem_kernel.dylib 0x1728 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4e38 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4d50 mach_msg_overwrite + 424
3 libsystem_kernel.dylib 0x4b9c mach_msg + 24
4 FirebaseCrashlytics 0x1a0c8 FIRCLSMachExceptionServer + 196 (FIRCLSMachException.c:196)
5 libsystem_pthread.dylib 0x637c _pthread_start + 136
6 libsystem_pthread.dylib 0x1494 thread_start + 8

com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x1728 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x4e38 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x4d50 mach_msg_overwrite + 424
3 libsystem_kernel.dylib 0x4b9c mach_msg + 24
4 CoreFoundation 0x547cc + 160
5 CoreFoundation 0x53e78 + 1212
6 CoreFoundation 0x535b8 CFRunLoopRunSpecific + 572
7 CFNetwork 0xfdf44 + 416
8 Foundation 0xc8058 + 724
9 libsystem_pthread.dylib 0x637c _pthread_start + 136
10 libsystem_pthread.dylib 0x1494 thread_start + 8

Thread
0 libsystem_pthread.dylib 0x1480 start_wqthread + 9114354814

AudioSession - RootQueue
0 libsystem_kernel.dylib 0x16bc semaphore_timedwait_trap + 8
1 libdispatch.dylib 0x46e8 _dispatch_sema4_timedwait + 64
2 libdispatch.dylib 0x4ce8 _dispatch_semaphore_wait_slow + 76
3 libdispatch.dylib 0x15b60 _dispatch_worker_thread + 324
4 libsystem_pthread.dylib 0x637c _pthread_start + 136
5 libsystem_pthread.dylib 0x1494 thread_start + 8

com.apple.coremedia.sharedRootQueue.47
0 libsystem_kernel.dylib 0x16bc semaphore_timedwait_trap + 8
1 libdispatch.dylib 0x46e8 _dispatch_sema4_timedwait + 64
2 libdispatch.dylib 0x4ce8 _dispatch_semaphore_wait_slow + 76
3 libdispatch.dylib 0x15b60 _dispatch_worker_thread + 324
4 libsystem_pthread.dylib 0x637c _pthread_start + 136
5 libsystem_pthread.dylib 0x1494 thread_start + 8

com.apple.coremedia.sharedRootQueue.47
0 libsystem_kernel.dylib 0x16bc semaphore_timedwait_trap + 8
1 libdispatch.dylib 0x46e8 _dispatch_sema4_timedwait + 64
2 libdispatch.dylib 0x4ce8 _dispatch_semaphore_wait_slow + 76
3 libdispatch.dylib 0x15b60 _dispatch_worker_thread + 324
4 libsystem_pthread.dylib 0x637c _pthread_start + 136
5 libsystem_pthread.dylib 0x1494 thread_start + 8

@github-actions github-actions bot added pending-triage Issue is pending triage pending-maintainer-response Issue is pending response from an Amplify team member labels Oct 4, 2024
@mattcreaser mattcreaser added bug Something isn't working kinesis Issues related to Kinesis labels Oct 7, 2024
@mattcreaser
Copy link
Member

Thanks for filing this issue. The team will take a look.

@github-actions github-actions bot removed the pending-maintainer-response Issue is pending response from an Amplify team member label Oct 7, 2024
@mattcreaser mattcreaser removed the pending-triage Issue is pending triage label Oct 7, 2024
@elileshemautocap
Copy link
Author

Do you have an estimation when this issue will be fixed? It is becoming huge because more people update to iOS18 .
I don't want to remove kinesis from our app

@github-actions github-actions bot added the pending-maintainer-response Issue is pending response from an Amplify team member label Oct 9, 2024
@thisisabhash
Copy link
Member

Hello, Could you provide us with more information - reproduction steps, code snippets and verbose logs - to help us understand the issue? Is this only happening in iOS 18?

@github-actions github-actions bot removed the pending-maintainer-response Issue is pending response from an Amplify team member label Oct 11, 2024
@elileshemautocap
Copy link
Author

elileshemautocap commented Oct 11, 2024 via email

@github-actions github-actions bot added the pending-maintainer-response Issue is pending response from an Amplify team member label Oct 11, 2024
@elileshemautocap
Copy link
Author

Screenshot 2024-10-11 at 23 53 12
Screenshot 2024-10-11 at 23 49 45
Screenshot 2024-10-11 at 23 49 21

@harsh62
Copy link
Member

harsh62 commented Oct 17, 2024

@elileshemautocap Unfortunately we are unable to reproduce the issue. Would you be able to share a small demo app in which you are able to reproduce the issue?

@github-actions github-actions bot removed the pending-maintainer-response Issue is pending response from an Amplify team member label Oct 17, 2024
@ruisebas
Copy link
Member

On the screenshots there's additional information in the stack trace regarding the reason of the crash: Fatal Exception: NSInvalidArgumentException *** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[1]".
This was missing from the first crashlog provided but it's indeed very helpful, as it tells us exactly what to look for.

Basically, it seems that [rs dataForColumn:@"data"] is nil and causing the exception, as you can't have nil values in an NSDictionary.

I've pushed a small fix for this to the fix/kinesis_crash branch, could you please check if using it fixes the crashes in your application and that everything else works fine?

Thanks!

@ruisebas ruisebas added the pending-community-response Issue is pending response from the issue requestor label Oct 18, 2024
@elileshemautocap
Copy link
Author

Since this issue started I added a code that make sure that the dictionary had no nil values.
I also added a code that calls firehoseRecorder.submitAllRecords() only at the end of the user session .
The crashes are still happening for about 30-50% of iOS 18 users .
I didn't find any pattern or differences in data that they are sending
So i guess that the problem is that something happens with the data coming out of your database

I'm importing these libraries via a pod file

pod 'AWSMobileClient'
pod 'AWSPinpoint'
pod 'AWSKinesis'
pod 'AWSS3'
pod 'AWSSQS'
pod 'AWSLambda'
pod 'AWSRuntime'

can you be more specific about which parts of the branch that i need to use ?
I added a crashlog
awscrash.xccrashpoint.zip

@github-actions github-actions bot added pending-maintainer-response Issue is pending response from an Amplify team member and removed pending-community-response Issue is pending response from the issue requestor labels Oct 19, 2024
@ruisebas
Copy link
Member

I meant to just use the whole branch, but if you prefer to edit the files locally, it's just this small change: c7053f0.

From the latest logs you've shared, it doesn't seem you've added this particular validation, since the same crash is happening at the same place:

Exception Reason: *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]

@github-actions github-actions bot removed the pending-maintainer-response Issue is pending response from an Amplify team member label Oct 21, 2024
@ruisebas ruisebas added the pending-community-response Issue is pending response from the issue requestor label Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working kinesis Issues related to Kinesis pending-community-response Issue is pending response from the issue requestor
Projects
None yet
Development

No branches or pull requests

5 participants