Regarding your questions:
Question 1: How can I get some more information from such report?
Answer:
- The signal is
SIGSEGV
which basically means a segmentation fault. There are several possible reasons for such a crash, e.g. a overreleased object, an non initialised pointer or code that writes directly into memory. - The crashing thread shows a
dealloc
call in the stack trace. This is hinting the crash was caused while an object was deallocated. - Lots of background threads are running a network operation with
ASIHTTPRequest
with similar calls in the stack traces. - There are a lot of mentions of
automaticallyNotifiesObserversForKey
which hints that Key-Value-Observing is involved. Maybe there is an observer registered to a key, and the observer is already deallocated. It is even more tricky, since the notifications are triggered from a background thread! E.g. doing networking in the background and observing with an object on the main thread. It is pretty easy to get such crashes in these scenarios if you don't make sure the object on the main thread lives long enough. - It is really really really strange that multiple background threads have nearly identical stack traces with even identical memory addresses for individual stack frames.
Assumption: If you can't reproduce this problem you might not find the cause. I suspect it is somehow related to ASIHTTPRequest
and either its internal key-value-coding handling or your own use of that. So I would replace that library e.g. with AFNetworking
or using the plain networking stack provided by iOS. In addition if you are using key-value-coding, check the code regarding multi-threading safety.
Question 2: Is is true, that the app really crashed on user device?
Yes, you get these reports only on real app crashes.
Question 3: Or maybe such error was invisible for a user?
No, SIGSEGV
is a real crash of your app. Invisible
would be, if you catch an exception in your code and still generate a report and send it over. But as far as I know Flurry doesn't provide this feature, you obviously didn't implement it and that crash is not caused by an exception either. So this is impossible.
Question 4: Is it possible that the app didn't crash but maybe user killed its process?
If apps get killed, you won't get a crash report by Flurry. Kills are triggered by iOS and in-process-crash reporting libraries (which means every 3rd party crash reporting service) can never ever create a report for these.
Additional note: Exception breakpoints (as others suggested) don't help on this type of crash, since it did not crash because an exception occured.