[Mono-dev] Bug in System.Web.Caching.Get() / Timer.Change() ?

Gonzalo Paniagua Javier gonzalo.mono at gmail.com
Wed Nov 24 01:15:45 EST 2010


On Mon, 2010-11-22 at 15:05 +0100, jriepshoff at ujam.com wrote:
> Dear all,
> 
> on running Stress Test on our program, we encountered following exception:
> 
> System.ArgumentException: Key 'System.Threading.Timer' already exists in list.
>   at System.Collections.SortedList.PutImpl (System.Object key, System.Object value, Boolean overwrite) [0x00000] in <filename unknown>:0 
>   at System.Collections.SortedList.Add (System.Object key, System.Object value) [0x00000] in <filename unknown>:0 
>   at System.Threading.Timer+Scheduler.Add (System.Threading.Timer timer) [0x00000] in <filename unknown>:0 
>   at System.Threading.Timer+Scheduler.Change (System.Threading.Timer timer, Int64 new_next_run) [0x00000] in <filename unknown>:0 
>   at System.Threading.Timer.Change (Int64 dueTime, Int64 period, Boolean first) [0x00000] in <filename unknown>:0 
>   at System.Threading.Timer.Change (Int64 dueTime, Int64 period) [0x00000] in <filename unknown>:0 
>   at (wrapper remoting-invoke-with-check) System.Threading.Timer:Change (long,long)
>   at System.Web.Caching.Cache.Get (System.String key) [0x00000] in <filename unknown>:0 
> 
> 
> This happens when we look something up in the Caching object....

What version are you running on? There have been recent changes in both
the sys.web cache and Timer that should fix this problem.

-Gonzalo




More information about the Mono-devel-list mailing list