I received a few NullReferenceException reports from my customer with the following stack trace:
at OracleInternal.ServiceObjects.OracleCommandImpl.ExtractAccessorValuesIntoParam(OracleParameterCollection paramColl, OracleConnection connection, Int32 paramCount, String commandText, Int64 longFetchSize, Int64 clientInitialLOBFS, Int64 internalInitialLOBFS, Int64[] scnFromExecution, Boolean bCallFromExecuteReader)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
The exception happened with at least 3 completely different queries. Sadly neither me nor my customer know how to reproduce the exception. But I can say that from the stack traces and log files it looks like it does not have anything to do with multiple threads or with cancelling queries (like my last NullReferenceException report).
Is this a bug in ODP.NET that can be fixed without knowing how to reproduce it? Or is there anything I can do on my side to prevent this exception?
I'm using the NuGet package Oracle.ManagedDataAccess version 19.25.0 with an Oracle Database 19c Standard Edition 2 version 19.24.0.0.0.