-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Crash : Audience filter count out of range #1624
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
Comments
Please ignore this. This is a known bug from the BE, not the SDK but it won't interfere with the normal operation of the SDK. Sorry for the confusion :( |
But I am getting this more often and this is not just error which I can ignore as that is producing a crash also. |
Hmm, I haven't seen the crash related to this message. Do you have any crash log related to this? Can you please provide some sample project so we can reproduce the bug? Thank you. |
What i am gettign is - |
Can you provide the stack trace here? The screenshot is cut off so I can't tell which SDK (Analytics, or other Firebase SDK) is causing the crash. I don't think the Audience warning is related to the Network error since you should have successful network connection to receive the Audience. Therefore, it is unlikely related but I'd like to know the real cause of the crash to fix. Thank you! |
I am not getting this very often and not always on debug mode so give the screenshot like above again is little bit difficult for me. But once I got it the same, will update it here again. Till there is something very clear that it is in Firebase core framework, FIRMutableDictionary class and line number also. |
Thanks for providing the screenshot. I think this is related to this issue #1317 (comment), and not the error message in the device log. Since the message is logged before Analytics uploads some events, that leads to the network crash, it makes them related. |
Yes, it has been renamed and moved to GoogleUtilities pod so it is still the same issue. |
Yes, since it was deallocated, it shouldn't be referenced anymore in that async block. The async block can be scheduled and run after the object |
Pasting this from the email thread earlier last week: I don't think self is the value that's being zombified here. The call to
I don't have a good conclusion for what's going on here, but I don't think using weak self will fix it. If we could get the description of the object being deallocated (the object released by |
Would it be reasonable to switch GULMutableDictionary's internal type from How should the lifetime of the |
No, please do not change it NSMapTable as this is supposed to be an NSMutableDictionary. Otherwise, we can just use NSMutableDictionary in the GULNetworkURLSession and it might cause other crashes due to thread unsafety. Again, I'm don't fully agree with the email thread and I'd like to give it a try to verify the hypothesis. If it doesn't work, we can find another solution instead of keep saying it is not happening. |
@GauravT9l Are you able to share a reproducible example? Otherwise you could try out some of the changes in #1426 or other ideas discussed in this thread. |
My guess is the object in the dictionary is getting clobbered elsewhere and it makes less sense to be extra defensive here than it does to figure out where the object is being mangled and un-mangle it there. |
Closing for now; we'll reopen this when we have more information. |
I can reproduce this consistently when enabling zombie objects AND malloc scribble. It seems the object in the dictionary is sent a message after it is removed. |
@maranas What are your Firebase pod versions? |
@paulb777 Just updated to Firebase/Core 5.10.0. I see the same stack trace posted by @GauravT9l (crash after removing a GULNetworkURLSession instance in the dictionary) but now it happens in GULMutableDictionary (in GoogleUtilities/Network v5.3.2). When it crashes, the "zombie object" is always the URL session with the The file here in the screenshot is |
@paulb777 One big thing i forgot in the previous message - the issue happens only on iOS 9. Or at least i can only reproduce it there. |
@maranas I'm not able to reproduce in a sample app on iOS 9 with zombie objects and malloc scribble enabled. Are you able to share a reproducible example - or reproduce in one of the quickstarts? |
Hello, I'm experiencing this crash intermittently on iOS 11.3 in the Simulator. Is this a persisting problem? |
@mqln can you share a stack trace? |
@morganchen12 Absolutely, here's some more info:
Plus, here's the relevant portion of my Podfile.lock
|
Do you have the exception message as well? That will (hopefully) tell us what class is getting deallocated, which may help track the issue down. |
Sure, here's some more info dumping:
line & error within object_setClass
Aaanndd a screenshot for good measure. |
@mqln Do you see the same issue with a more recent Firebase version. The current release is 5.16.0. |
@paulb777 Let me update and stress-test and see if I can reproduce, good call. |
@morganchen12 : I can still see the issue appearing a lot for us using 5.16.0 |
For anyone still struggling with this crash. |
This does look a little different than the original issue (the crash is caused by a different selector). I haven't had time to take a look at this yet, but I suspect looking at the ownership of GULNetworkURLSession would be a good place to start. |
@pmusolino @amaldona are you using any post-processing steps on the |
Closing due to inactivity and heavy fragmentation. If you're running into an Analytics crash, please open a new issue. |
Environment
Describe the problem
Every time I open the app go the same issue/crash
5.2.0 - [Firebase/Analytics][I-ACS006009] Audience definition is invalid. Audience will not be saved. Audience, error: <FIRAPBAudience: 0x604000203860>, Error Domain=com.google.gmp.measurement.ErrorDomain Code=9 "Audience filter count out of range"
The text was updated successfully, but these errors were encountered: