DamageSense some times can not take effect

I add a perceptionComponent, and add a DamageSense into it, charactor A shot bullet to charactor B, bullet collision to charactor B, B applyDamage,and reportDamageEvent, then AI controller of B gets damage Stimulus.
But when I add vision and hear and damage into one perceptionComponent, I can not get damage Stimulus,even if I stand behind of B, and delete noiseEvent.
I want know what Stimulus is triggered,so I add 3 perceptionComponents to AIcontroller , put 3 sense in then, one by one. It doesn’t work as I expected either。
If i use one perceptionComponent and one sense, I can receive Stimulus.
What is the problem?

what I can do is to check engine code. but it’s too complex, I have only viewed a start,and feel a problem: AIPerceptionTypes.h ue4.26, in the function, " ((1 << ++CurrentIndex) | Flags) == 0" is allways false, I have downloaded 4.27 and 5.0,the code is same. how about “((1 << ++CurrentIndex) & Flags) == 0”
FORCEINLINE void FindNextAcceptedChannel()
{
const FFlagsContainer& Flags = Whitelist.GetAcceptedChannelsMask();

		while ((RemainingChannelsToTest & Flags) != 0 && ((1 << ++CurrentIndex) | Flags) == 0)
		{
			RemainingChannelsToTest &= ~(1 << CurrentIndex);
		}
	}

I have retested my project. 3 sense in 1 perceptionComponent, I can receive damage stimulus,but i can not distinguish 。 3sense in 3 ,will receive no damage stimulus