In the nRF5 SKD alpha, gatts_cache_manager.c:123 looks like this:
gscm_evt.params.sc_state_stored.state = &peer_data.p_service_changed_pending;
Is this supposed to be using a dereference operator (*) instead of an address-of (&)? peer_data is a struct, p_service_changed_pending is a bool pointer, and state is a boolean; the address-of here will always evaluate to true. It seems like what's intended is to be dereferencing the boolean pointer instead.