Bug 13014 - Non-web exception Exception origin System.Web.UI.Page.Get_PageAdapter
Summary: Non-web exception Exception origin System.Web.UI.Page.Get_PageAdapter
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: System.Web ()
Version: master
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
Depends on:
Reported: 2013-07-02 12:04 UTC by Fred
Modified: 2013-08-02 13:39 UTC (History)
2 users (show)

Is this bug a regression?: ---
Last known good build:

ASP.NET Browsers cap file (940 bytes, application/octet-stream)
2013-07-02 12:04 UTC, Fred

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report for Bug 13014 on GitHub or Developer Community if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: GitHub Markdown or Developer Community HTML
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:

Description Fred 2013-07-02 12:04:54 UTC
Created attachment 4256 [details]
ASP.NET Browsers cap file

Non-web exception. Exception origin HTTP 500 error with a ASP.NET 2.0 web application that uses the PageAdapter.

New with Mono 3.0.x (confirmed on 3.0.10 and 3.0.12)
Was working perfectly well with 2.10.x branch, so it seems to be a regression.

Now, any first page I hit, I stumble across an HTTP 500 error message with the following stack trace:

  at System.Collections.Hashtable.PutImpl (System.Object key, System.Object value, Boolean overwrite) [0x00000] in <filename unknown>:0 
  at System.Collections.Hashtable.Add (System.Object key, System.Object value) [0x00000] in <filename unknown>:0 
  at System.Collections.Hashtable..ctor (IDictionary d, Single loadFactor, IHashCodeProvider hcp, IComparer comparer) [0x00000] in <filename unknown>:0 
  at System.Collections.Hashtable..ctor (IDictionary d, Single loadFactor) [0x00000] in <filename unknown>:0 
  at System.Collections.Hashtable..ctor (IDictionary d, Single loadFactor, IEqualityComparer equalityComparer) [0x00000] in <filename unknown>:0 
  at System.Collections.Hashtable..ctor (IDictionary d, IEqualityComparer equalityComparer) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.HttpCapabilitiesBase.set_Capabilities (IDictionary value) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.CapabilitiesResult..ctor (IDictionary items) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.nBrowser.Result..ctor (IDictionary items) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.nBrowser.Build.Process (System.Collections.Specialized.NameValueCollection header, IDictionary initialCapabilities) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.CapabilitiesBuild.Process (System.Web.HttpRequest request, IDictionary initialCapabilities) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.HttpCapabilitiesBase.GetConfigCapabilities (System.String configKey, System.Web.HttpRequest request) [0x00000] in <filename unknown>:0 
  at System.Web.HttpRequest.get_Browser () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.ResolveAdapter () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Control.get_Adapter () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Page.get_PageAdapter () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Page.InternalProcessRequest () [0x00000] in <filename unknown>:0 
  at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 

Following is the content of my Browser file (in App_Browsers) - which is attached as well:

  <browser refID="Default">
      <adapter controlType="System.Web.UI.WebControls.GridView"
               adapterType="IHM.GridViewAdapter" />

  <browser id="W3C_Validator" parentID="default">
      <userAgent match="^W3C_Validator" />
      <capability name="browser"              value="W3C Validator" />
      <capability name="ecmaScriptVersion"    value="1.2" />
      <capability name="javascript"           value="true" />
      <capability name="supportsCss"          value="true" />
      <capability name="supportsCallback"     value="true" />
      <capability name="tables"               value="true" />
      <capability name="tagWriter"            value="System.Web.UI.HtmlTextWriter" />
      <capability name="w3cdomversion"        value="1.0" />
Comment 1 Fred 2013-08-02 13:39:26 UTC
Just to confirm that the bug still exists in mono 3.2.0 on Mac at least.

Moreover with this new mono version, it takes 2 minutes and 15 seconds from an apache fresh start to get the exception with very high cpu usage.
It is way more than the double of time I had with 2.x Mono version.

Interestingly enough, I get the exception with Safari and Chrome browsers but it works flawlessly with Firefox.

On previous 2.x mono versions it was working as expected with all those three browsers.