newrelic / newrelic-ios-agent-spm

This repository hosts the Swift Package Manager deployment of the iOS agent
Apache License 2.0
15 stars 9 forks source link

malloc: *** error for object 0x11: pointer being freed was not allocated #24

Closed thomas-chris closed 5 months ago

thomas-chris commented 1 year ago

Having installed version 7.4.3 via SPM our app randomly crashes with the error

malloc: *** error for object 0x11: pointer being freed was not allocated

Description

Having installed version 7.4.3 via SPM our app randomly crashes with the error

malloc: *** error for object 0x11: pointer being freed was not allocated

Steps to Reproduce

There are no specific steps, as the crash is not occuring all the time, sometimes it happens on start up, other times while browsing the app.

Expected Behavior

The app doesn't crash

Relevant Logs / Console output

malloc: *** error for object 0x11: pointer being freed was not allocated## Your Environment

iOS 16.2, xcode 14.2.0

Additional context

We are not 100% sure that New Relic pod is solely to blame, but downgrading to 7.4.0 seems to have stopped the crash occuring

mohamad-jawad commented 1 year ago

I am also facing random crashes that are reported on Firebase version: v7.4.3

Here is a sample of the crash logs

Crashed: com.apple.root.default-qos
0  libsystem_kernel.dylib         0x7674 __pthread_kill + 8
1  libsystem_pthread.dylib        0x71ac pthread_kill + 268
2  libsystem_c.dylib              0x20c8c abort + 180
3  libsystem_malloc.dylib         0x1de2c malloc_vreport + 908
4  libsystem_malloc.dylib         0x1e010 malloc_report + 64
5  libsystem_malloc.dylib         0x19918 find_zone_and_free + 308
6  NewRelic                       0xd380 NRMA__deallocInteractionHistoryList + 2108
7  NewRelic                       0x66294 NewRelic::RequestEvent::RequestEvent(unsigned long long, double, std::__1::unique_ptr<NewRelic::Connectivity::Payload const, std::__1::default_delete<NewRelic::Connectivity::Payload const> >, NewRelic::AttributeValidator&) + 160
8  NewRelic                       0x74af0 NewRelic::EventManager::newRequestEvent(unsigned long long, double, std::__1::unique_ptr<NewRelic::Connectivity::Payload const, std::__1::default_delete<NewRelic::Connectivity::Payload const> >, NewRelic::AttributeValidator&) + 56
9  NewRelic                       0x62340 NewRelic::AnalyticsController::addRequestEvent(NewRelic::NetworkRequestData const&, NewRelic::NetworkResponseData const&, std::__1::unique_ptr<NewRelic::Connectivity::Payload const, std::__1::default_delete<NewRelic::Connectivity::Payload const> >) + 200
10 NewRelic                       0x399ac NRMA__getDataForSessionTask + 9400
11 NewRelic                       0x4b944 removeTarget_action + 8816
12 libdispatch.dylib              0x2460 _dispatch_call_block_and_release + 32
13 libdispatch.dylib              0x3f88 _dispatch_client_callout + 20
14 libdispatch.dylib              0x7074 _dispatch_queue_override_invoke + 788
15 libdispatch.dylib              0x15a6c _dispatch_root_queue_drain + 396
16 libdispatch.dylib              0x16284 _dispatch_worker_thread2 + 164
17 libsystem_pthread.dylib        0xdbc _pthread_wqthread + 228
18 libsystem_pthread.dylib        0xb98 start_wqthread + 8

Screenshot 2023-04-03 at 3 42 11 PM

NewRelic-Crash

lucasecf commented 1 year ago

Same issue here - the crash started only in the version which contained a bump from 7.4.0 to 7.4.3 if that helps

Screenshot 2023-05-26 at 11 01 12

crash_info_entry_1 are all like

home24(697,0x2a85b7000) malloc: *** error for object 0x280fccc90: pointer being freed was not allocated

Mordil commented 1 year ago

Still seeing this in 7.4.4

We're rolling back to 7.4.0

cdillard-NewRelic commented 5 months ago

Please use the latest New Relic iOS agent 7.4.11 which contains a new feature flag, NRFeatureFlag_NewEventSystem. Enable this feature flag which should remove the ~Payload() crash.