[Mono-dev] ConcurrentQueue

Greg Young gregoryyoung1 at gmail.com
Fri Aug 10 08:52:48 UTC 2012


We regularly can cause problems with ConcurrentQueue such as

System.NullReferenceException: Object reference not set to an instance
of an object
  at System.Collections.Concurrent.ConcurrentQueue`1[System.IO.FileStream].TryDequeue
(System.IO.FileStream& result) [0x00000] in <filename unknown>:0
  at SStable.PTable.GetFileStream () [0x00000] in <filename unknown>:0
  at SStable.PTable+<GetRange>c__Iterator2.MoveNext () [0x00000] in
<filename unknown>:0
  at SStable.PTable.TryGetValue (UInt32 stream, UInt32 version,
System.UInt64[]& position) [0x00000] in <filename unknown>:0
  at SStable.TableIndex.TryGetValueInternal (UInt32 stream, UInt32
version, System.UInt64[]& position) [0x00000] in <filename unknown>:0
  at SStable.TableIndex.TryGetValue (UInt32 stream, UInt32 version,
System.UInt64[]& position) [0x00000] in <filename unknown>:0
  at IndexKiller.Program.ReadItems (SStable.TableIndex index,
System.Threading.AutoResetEvent autoResetEvent) [0x00000] in <filename
unknown>:0
  at IndexKiller.Program+<Main>c__AnonStorey1.<>m__0 (System.Object x)
[0x00000] in <filename unknown>:0

We have posted up repros before but basically just pound on it with
five threads (each thread add and removes 1 item)

It seems object pool is still buggy.

-- 
Le doute n'est pas une condition agréable, mais la certitude est absurde.


More information about the Mono-devel-list mailing list