This article has been written by Ambuj Nautiyal, a PFE with Microsoft Canada. In this post he talks about a typical scenario which can be easily diagnosed using the Process Monitor (ProcMon) tool.
Recently I helped troubleshoot a HTTP server error 401 issue - which can sometimes be a nightmare to diagnose. The ASP.NET 4.0 application was hosted on IIS 7.5; the user would click on a specific page to generate a report (which used Crystal Reports controls) and was being prompted to enter credentials 3 times, followed by the 401 error.
The Fiddler tool would show something like below for the Header.
The raw IIS error info is given below:
HTTP Error 401.1 - Unauthorized You do not have permission to view this directory or page using the credentials that you supplied.
The error message also mentions the likely causes of the error:
An invalid Kerberos configuration may be the cause if all of the following are true:
Now all other requests to the web application were successful other than this particular page. We wanted to know from where this Kerberos request in between originated, so we ran Procmon to unravel the mystery. We noted there was a TCP Disconnect call in the list of operations.
Looking through the list of modules it indicated that the TCPDisconnect originated from the Crystal Engine:
It turned out that ever since a newer version of Crystal Engine (13.0.4.705) was installed on this machine, they had the 401 issue. Rolling back to the previous Crystal Report Engine (13.0.3.612) resolved the problem.
We hope this gives you a perspective on how you can also use Process Monitor to troubleshoot tricky issues!
Disclaimer: the mention of 3rd party or community products in these blog posts in no way constitutes a recommendation or advice. These are my personal opinion and do not reflect any of my employer’s opinions.