Red Gate forums :: View topic - Error profiling ASP.NET app when an AJAX control is present
Return to www.red-gate.com RSS Feed Available

Search  | Usergroups |  Profile |  Messages |  Log in  Register 
Go to product documentation
ANTS Performance Profiler 5
ANTS Performance Profiler 5 forum

Error profiling ASP.NET app when an AJAX control is present

Search in ANTS Performance Profiler 5 forum
Post new topic   Reply to topic
Jump to:  
Author Message
bbirney



Joined: 08 Feb 2010
Posts: 8

PostPosted: Mon Feb 08, 2010 9:45 pm    Post subject: Error profiling ASP.NET app when an AJAX control is present Reply with quote

Hi there. When trying to profile my ASP.NET application, the profiler normally works as expected. However, whenever it encounters a page that uses an AJAX control (in this case, the 'official' ASP.NET AJAX "CascadingDropDown" control), the app crashes, at the location noted below. This page does work as expected when run outside of the profiler.

Code:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.TypeLoadException: Bad unmanaged code entry point.

Source Error:


Line 4:          <asp:Label ID="Label7" AssociatedControlID="MajorCommodity" Text="Major Commodity" runat="server" /> <% if (!DisplayVertically) { %><br /> <% } %>
Line 5:          <asp:DropDownList ID="MajorCommodity" width="175" runat="server"/>
Line 6:          <ajaxToolkit:CascadingDropDown ID="MajorCommodityTypeCascadingDropDown"
Line 7:              runat="server"
Line 8:              TargetControlID="MajorCommodity"
 

Source File: c:\This.Isnt.Really.The.App\Controls\CommodityTypeSelector.ascx    Line: 6

Stack Trace:


[TypeLoadException: Bad unmanaged code entry point.]
   AjaxControlToolkit.CascadingDropDown..ctor() in C:\Users\swalther\Projects\AspNetAjax\Releases\30930\AjaxControlToolkitSource\AjaxControlToolkit\CascadingDropDown\CascadingDropDownExtender.cs:41
   ASP.controls_commoditytypeselector_ascx.__BuildControlMajorCommodityTypeCascadingDropDown() in c:\This.Isnt.Really.The.App\Controls\CommodityTypeSelector.ascx:6
   ASP.controls_commoditytypeselector_ascx.__BuildControlTree(controls_commoditytypeselector_ascx __ctrl) in c:\This.Isnt.Really.The.App\Controls\CommodityTypeSelector.ascx:1
   ASP.controls_commoditytypeselector_ascx.FrameworkInitialize() in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\5883765a\95915a02\App_Web_3gsz6yrq.7.cs:0
   ASP.packages_aspx.__BuildControlCommodityTypeFilterSelector() in c:\This.Isnt.Really.The.App\Packages.aspx:7
   ASP.packages_aspx.__BuildControlPanel1() in c:\This.Isnt.Really.The.App\Packages.aspx:6
   ASP.packages_aspx.__BuildControlContent2(Control __ctrl) in c:\This.Isnt.Really.The.App\Packages.aspx:5
   ASP.masterpages_NotTheRealName_master.__BuildControlFiltersContent() in c:\This.Isnt.Really.The.App\MasterPages\NotTheRealName.Master:77
   ASP.masterpages_NotTheRealName_master.__BuildControl__control14() in c:\This.Isnt.Really.The.App\MasterPages\NotTheRealName.Master:76
   ASP.masterpages_NotTheRealName_master.__BuildControl__control9() in c:\This.Isnt.Really.The.App\MasterPages\NotTheRealName.Master:25
   ASP.masterpages_NotTheRealName_master.__BuildControlMainForm() in c:\This.Isnt.Really.The.App\MasterPages\NotTheRealName.Master:24
   ASP.masterpages_NotTheRealName_master.__BuildControlPageBody() in c:\This.Isnt.Really.The.App\MasterPages\NotTheRealName.Master:22
   ASP.masterpages_NotTheRealName_master.__BuildControlTree(masterpages_NotTheRealName_master __ctrl) in c:\This.Isnt.Really.The.App\MasterPages\NotTheRealName.Master:1
   ASP.masterpages_NotTheRealName_master.FrameworkInitialize() in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\5883765a\95915a02\App_Web_p6javn8g.0.cs:0
   System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection) +1236
   System.Web.UI.Page.get_Master() +141
   System.Web.UI.Page.ApplyMasterPage() +60
   System.Web.UI.Page.PerformPreInit() +109
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1452

 


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927
Back to top
View user's profile Send private message
bbirney



Joined: 08 Feb 2010
Posts: 8

PostPosted: Tue Feb 09, 2010 2:57 pm    Post subject: Please assist in resolving this issue Reply with quote

Please assist in resolving this issue. We are currently evaluating ANTS. I would like to recommend to my manager that we purchase it, but I can't do that unless we can make it work.

Even a push in the right direction would help.

Thanks,

Ben Birney
Back to top
View user's profile Send private message
AndrewH



Joined: 17 Aug 2006
Posts: 137

PostPosted: Wed Feb 10, 2010 12:57 pm    Post subject: Reply with quote

I'm looking into this today. I don't have a reproduction yet so I can't be specific.

However, this particular error is usually caused by a problem with the instrumentation added by the profiler. We had previously only seen this occur when an instrumented assembly was further modified by reflection, though we've seen a lot more reports of this in other situations recently (I'm not sure why, though I suspect that what's changed is that more people are using 64-bit systems, which has different JIT error checking behaviour to 32-bit systems)

It's likely that turning off line-level timings will stop the error occurring. I think this issue is more common on 64-bit systems, so an alternative approach might be to try reconfiguring the application to run in a 32-bit application pool.
_________________
Andrew Hunter
Software Developer
Red Gate Software Ltd.
Back to top
View user's profile Send private message
AndrewH



Joined: 17 Aug 2006
Posts: 137

PostPosted: Wed Feb 10, 2010 7:05 pm    Post subject: Reply with quote

Hmm, I'm not able to reproduce this problem: by itself the AjaxControlToolkit dll seems fine. What other third-party components are you using with your website?

It's also possible this is a trust issue: to do line-level timings, the profiler requires that an assembly be loaded with full trust. The AjaxControlToolkit DLL comes in a zip file that marks it as a file from the internet zone, which usually causes .NET to reduce the trust level.

Could you try the following command from a command prompt in a folder containing the dll:

Code:

  more < AjaxControlToolkit.dll:Zone.Identifier


If you see something like this, then it's likely that the DLL is untrusted:

Code:

C:\Inetpub\wwwroot\AJAX2\Bin>more < AjaxControlToolkit.dll:Zone.Identifier
[ZoneTransfer]
ZoneId=3

_________________
Andrew Hunter
Software Developer
Red Gate Software Ltd.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic All times are GMT + 1 Hour
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group