Product.SubscriptionInfo.status(for:) is sometimes empty even though a subscription has been registered

My app calls Product.SubscriptionInfo.status(for:) to get the subscription status when the app starts.

Users with multiple Apple IDs have reported that every few days they get an unpurchased status, and when I checked that, the Product.SubscriptionInfo.status(for:) result array was empty. (When the app is restarted, Product.SubscriptionInfo.status(for:) gives the correct result.)

StoreKit.Transaction.currentEntitlements, which is executed immediately after Product.SubscriptionInfo.status(for:), seems to be getting the correct result, so I am trying to check the subscription status with this result.

Is it a bug that Product.SubscriptionInfo.status(for:) returns an empty result for the purchaser?

There is a mismatch between Product.SubscriptionInfo.status(for:) and StoreKit.Transaction.currentEntitlements.
Is it possible for a mismatch to occur?  And In such a case, which result should be adopted?

I see the same issue for a handful of users.

Product.SubscriptionInfo.status(for:) is sometimes empty even though a subscription has been registered
 
 
Q