I don't think so. It's actually crashing in the static initializer of a class of constants (!) needed by LSSubscription, so it happens before any subscription can be made. By that time it may have already connected though, or being in the process of connecting.

We tried both these scenarios multiple times, on the simulator and on a real device, but none of them led to crash. Unfortunately we don't have an iPhone 5s with iOS 9.2.1 to test in the exact same conditions.

The only hypothesis I can still think of is that a previous operation thrashed the memory (e.g. another thread wrote on a dangling pointer), and by accident it causes a crash int that point. It may sound improbable, but if the crash happens during startup, a repeatable sequence of operations may actually frequently lead to the same accidental crash. I've already seen it happen.

We could gather some more information from a detailed log of our client library. Do you have any way to enable logging and retrieve the log from this user's device? Logging may be enabled by adding the following line somewhere before you connect:

[LSLightstreamerClient setLoggerProvider:[[LSConsoleLoggerProvider alloc] initWithLevel:LSConsoleLogLevelDebug]];