TChain::Process stops prematurely after kBigNumber (1234567890) entries if trees were added without reading their sizes.
One can add files to TChain without touching them by using default value of the second parameter of AddFile:
AddFile(const char* name, Long64_t nentries = kBigNumber, const char* tname = "");
In which case we take the second branch below and set fEntries = nentries = kBigNumber
Which is problematic, because TTreePlayer::Process gets it from TTree::GetEntriesFriend via GetEntriesToProcess and uses it to decide how many entries to process:
As a result it stops after kBigNumber (1234567890) entries
Later when another tree is loaded on demand it sets fEntries = fTreeOffset[fNtrees] = theBigNumber
It would make sense to set fEntries to theBigNumber already in TChain::AddFile so TTreePlayer::Process uses it as the upper limit.
So line TChain.cxx:521 would look like
Nothing in TChain relies on fEntries being equal to kBigNumber and it changes to theBigNumber after the first tree is loaded anyway.
PS Line numbers correspond to git tag v5-34-23