Oracle.ManagedDataAccess with LDAP throws "PoolManager.PutNewPR() ArgumentNullException"
A customer has our product, which uses ODP 18.3 to connect to the Oracle database, and their SQLNET uses LDAP. It just started failing when connecting to the production database but works against test. The two database servers are identical Enterprise 12.2.0.1.4 with the same patches. I had them turn on TraceLevel=7. Here's the relevant bad bit with the IPs and database name changed:
2022-06-28 14:59:15.725337 TID:42 (NET) (SQLNET) CreateLdapConnection(): binded to LDAP server 2022-06-28 14:59:15.725337 TID:42 (NET) (SQLNET) Resolve(): query 1.2.3.4 for cn=proddb,cn=OracleContext,dc=xxx,dc=yy 2022-06-28 14:59:15.731335 TID:42 (PRI) (EXT) (CP) PoolManager.Initialize() (pmid=37914893) (constr=User Id=cam;Data Source=proddb) 2022-06-28 14:59:15.732334 TID:42 (PRI) (BUF) (OBP.CTOR) (poolid:49716756) (OracleConnectionDispenser`3.GetPM) 2022-06-28 14:59:15.736337 TID:42 (PRI) (ENT) (CP) OraclePoolManager.Get() 2022-06-28 14:59:15.773335 TID:42 (PRI) (ENT) (CP) PoolManager.Get() (txnid=n/a) (bForceMatch=F) 2022-06-28 14:59:15.774335 TID:42 (PRI) (ENT) (CP) PoolManager.Get() MultiTenant : Searching for a idle connection, retryCountWithoutAffinity: 0 2022-06-28 14:59:15.775347 TID:42 (PRI) (ENT) PoolManager.ProcessCriteriaCtx_NonEnlistedConnection() 2022-06-28 14:59:15.775347 TID:42 (PRI) (EXT) PoolManager.ProcessCriteriaCtx_NonEnlistedConnection() 2022-06-28 14:59:15.781336 TID:42 (PRI) (ENT) (CP) PoolManager.CreateNewPR() (txnid=n/a) 2022-06-28 14:59:15.939349 TID:42 (PRI) (EXT) TimeStamp.GetLocalTZOffset() 2022-06-28 14:59:16.026358 TID:42 (PRI) (ENT) PoolResource.ProcessCriteriaCtx() 2022-06-28 14:59:16.026358 TID:42 (PRI) (SVC) (EXT) PoolResource.ProcessCriteriaCtx() 2022-06-28 14:59:16.026358 TID:42 (PRI) (ENT) (CP) PoolManager.PutNewPR() (aff=n/a) (inst=) (affmatch=n/a) (pr.service=) (pr.pdb=proddb) (pr.edition=) (sessid=173:62658) (F;F;F;;N) (pmid=37914893) 2022-06-28 14:59:16.026358