Skip to content

Null Reference Exception in ODP.Net when using Dapper #449

Closed as not planned
@marcwittke

Description

@marcwittke

reopening #426 now with full trace

This is the exception I seein tests after bumping the ODP.Net managed library to versions above 23.5.1, here for example with 23.8.0

The error happens intermittently on different tests with different columns, sometimes it hits a column of a view, a table or a materialized view, but the error is always related to parsing Int64

System.Data.DataException: Error parsing column 3 (TRANSPORT_BOX_TYPE=0 - Int64)

System.Data.DataException
Error parsing column 3 (TRANSPORT_BOX_TYPE=0 - Int64)
   at Dapper.SqlMapper.ThrowDataException(Exception ex, Int32 index, IDataReader reader, Object value) in /_/Dapper/SqlMapper.cs:line 3966
   at Deserialize146af5cd-22c1-4930-9f42-b974b8529d1b(DbDataReader)
   at Dapper.SqlMapper.QueryRowAsync[T](IDbConnection cnn, Row row, Type effectiveType, CommandDefinition command)
   at Wombat.Adapters.Oracle.Dapper.SqlMapperExtensions.SingleOrDefaultAsync[T](IDbConnection connection, Int64 id, CancellationToken cancellationToken)
   at Wombat.Adapters.Oracle.Tsc.TransportBoxes.TransportBoxRepository.GetByIdAsync(TransportBoxId id, CancellationToken cancellationToken)
   at Wombat.Adapters.Oracle.Tsc.TransportBoxes.TransportBoxRepository.InsertAsync(TransportBox transportBox, CancellationToken cancellationToken)
   at Wombat.Domain.Tsc.TscTestDataProvider.InsertTransportBoxesAsync(Int32 count, ITransportBoxRepository transportBoxRepository, IIdGenerator`1 idGenerator, TransportBoxType transportBoxType)
   at Wombat.Adapters.Oracle.Tests.Tsc.TheTransportBoxRepository.<>c__DisplayClass24_0.<<CanQueryAvailableTransportBoxesByTransportBoxTypes>g__InsertTransportBoxesAsync|0>d.MoveNext()
--- End of stack trace from previous location ---
   at Wombat.Adapters.Oracle.Tests.Tsc.TheTransportBoxRepository.CanQueryAvailableTransportBoxesByTransportBoxTypes(TransportBoxType[] transportBoxTypes)
   at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass47_0.<<InvokeTestMethodAsync>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Xunit.Sdk.ExecutionTimer.AggregateAsync(Func`1 asyncAction)
   at Xunit.Sdk.ExceptionAggregator.RunAsync(Func`1 code)

System.NullReferenceException
Object reference not set to an instance of an object.
   at OracleInternal.ServiceObjects.OracleFailoverMgrImpl.OnError(OracleConnection connection, CallHistoryRecord chr, Object mi, Exception ex, Boolean bTopLevelCall, Boolean& bCanRecordNewCall)
   at Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i)
   at Oracle.ManagedDataAccess.Client.OracleDataReader.get_Item(Int32 i)
   at Deserialize146af5cd-22c1-4930-9f42-b974b8529d1b(DbDataReader)

Full trace attached

RESHARPERTESTRUNNER.DLL_PID_596773_DATE_2025_04_24_TIME_10_31_26_024613.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions