https://bugzilla.novell.com/show_bug.cgi?id=668696
https://bugzilla.novell.com/show_bug.cgi?id=668696#c0 Summary: [Regression] SynchronizationLockException when accessing HttpApplicationState after Lock() is called Classification: Mono Product: Mono: Class Libraries Version: SVN Platform: Macintosh OS/Version: Mac OS X 10.6 Status: NEW Severity: Major Priority: P5 - None Component: Sys.Web AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=411590) --> (http://bugzilla.novell.com/attachment.cgi?id=411590) Sample to reproduce the error Description of Problem: When using Lock()/Unlock() to access/add elements to the HttpApplicationState (HttpContext.Current.Application) to deal with threading issues, a System.Threading.SynchronizationLockException is thrown. The pattern used to add to the application state in an IHttpModule is: const string MyKey = "mykey"; var app = HttpContext.Current.Application; if (app[MyKey] == null) { app.Lock(); if (app[MyKey] == null) // exception here { app[MyKey] = "some object"; } app.UnLock(); } Steps to reproduce the problem: 1. Compile & run attached application Actual Results: a SynchronizationLockException is thrown Expected Results: Should not throw an exception How often does this happen? Every time Additional Information: Stack Trace: System.Threading.SynchronizationLockException: The current thread has not entered the lock in read mode at System.Threading.ReaderWriterLockSlim.ExitReadLock () [0x00022] in /private/tmp/monobuild/build/BUILD/mono-2.10/mcs/class/System.Core/System.Threading/ReaderWriterLockSlim.cs:211 at System.Web.HttpApplicationState.Get (System.String name) [0x0001a] in /private/tmp/monobuild/build/BUILD/mono-2.10/mcs/class/System.Web/System.Web/HttpApplicationState.cs:84 at System.Web.HttpApplicationState.get_Item (System.String name) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10/mcs/class/System.Web/System.Web/HttpApplicationState.cs:182 at TestCustomAppModule.MyModule.HandleContextBeginRequest (System.Object sender, System.EventArgs e) [0x0000b] in /Users/cwensley/Projects/test/TestCustomAppModule/TestCustomAppModule/MyModule.cs:22 at System.Web.HttpApplication+<RunHooks>c__Iterator5.MoveNext () [0x001aa] in /private/tmp/monobuild/build/BUILD/mono-2.10/mcs/class/System.Web/System.Web/HttpApplication.cs:1038 at System.Web.HttpApplication+<Pipeline>c__Iterator6.MoveNext () [0x00137] in /private/tmp/monobuild/build/BUILD/mono-2.10/mcs/class/System.Web/System.Web/HttpApplication.cs:1198 at System.Web.HttpApplication.Tick () [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10/mcs/class/System.Web/System.Web/HttpApplication.cs:926 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
