Skip to content

ArgumentOutOfRangeException in SqliteConnectionFactory.PruneCallback #29952

@BioTurboNick

Description

@BioTurboNick

This was reported by Microsoft AppCenter on a running device in the wild, but the stack trace does not contain any of my user code.

Xamarin Exception Stack:
System.ArgumentOutOfRangeException: ArgumentOutOfRange_IndexMustBeLess Arg_ParamName_Name, index
  at System.Collections.Generic.List`1[[Microsoft.Data.Sqlite.SqliteConnectionPoolGroup, Microsoft.Data.Sqlite, Version=7.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]].get_Item(Int32 )
  at Microsoft.Data.Sqlite.SqliteConnectionFactory.PruneCallback(Object _)
  at System.Threading.TimerQueueTimer.<>c.<.cctor>b__27_0(Object )
  at System.Threading.ExecutionContext.RunInternal(ExecutionContext , ContextCallback , Object )
  at System.Threading.ExecutionContext.RunInternal(ExecutionContext , ContextCallback , Object )
  at System.Threading.TimerQueueTimer.CallCallback(Boolean )
  at System.Threading.TimerQueueTimer.Fire(Boolean )
  at System.Threading.TimerQueue.FireNextTimers()
  at System.Threading.TimerQueue.System.Threading.IThreadPoolWorkItem.Execute()
  at System.Threading.ThreadPoolWorkQueue.Dispatch()
  at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
  at System.Threading.Thread.StartCallback()

Microsoft.Data.Sqlite version: 7.0.1
Target framework: .NET 7.0
Operating system: Android 12

I'm guessing there needs to be a lock around _idlePoolGroups usage?

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions