From: wardy1975 on
Great....thanks Pat....so I'm looking at an Access Violation exception
then....

Man these issues are hard to figure out....for instance, with IISState
and DebugDiag installed locally and reporting that IIS crashed, the
strange thing is, when I step through the code with my debugger, there
is no exception thrown anywhere or generated by the code that I can see
in that method or anywhere around that method, at least not in the
debugger, and the entire code of that method is enclosed within a
try/catch, and it certainly isn't causing my IIS to recycle, so now I
am at a loss....Would debugging in Visual Studio even show this Access
Violation as an error I can see? (my global error handler doesn't
appear to know about it)

Thanks


Pat [MSFT} wrote:
> 1) A "soft crash" is a 1st chance exception of a specific type - Access
> Violation (c0000005). Other 1st chance exceptions (e.g. Try/Catch blocks)
> are ignored.
>
> 2) A hard crash ("-hc") is a fatal exception (2nd chance exception). These
> are preceded by 1st chance exceptions. The problem with just tracking the
> 2nd chance exceptions is that it is not unusual for "clean-up" code to run
> between the 1st & 2nd making it very hard to determine the root cause. That
> said, tracking just 1st chance can (as you point out) show a lot of "noise."
> As a rule 1st chance exceptions that are AV's are generally bad news and
> should be fixed - even when not fatal.
>
> 3) IISState uses the same debug engine & managed code debug extensions as
> WinDBG - in fact it was written using the WinDBG SDK. WinDBG & CDB are
> really just "skins" for the debug engine.
>
> 4) You read thread stacks from the bottom to the top. So the line on top is
> the last code that executed.
>
> From the thread below the issue was caused by:
> gBiz.Framework.MatchMergeResolver.InitProduct()
>
> Most likely unexpected or blank parameters (this is an educated guess - not
> a result of reading the log).
>
>
>
> Pat
>
>
> <wardy1975(a)gmail.com> wrote in message
> news:1155820228.366972.45670(a)m73g2000cwd.googlegroups.com...
> > Hi Pat,
> >
> > Thanks for the info....I have since installed IISState on my local PC
> > (want to play around with it before installing on a production
> > server...:)) and I have run the tool, however I need some help in
> > understanding what I am seeing....
> >
> > Firstly, what exactly does a soft crash represent? Is this the same as
> > a "first chance" exception? The reason I ask is that IISState is
> > indicating in the log (see below) that IIS has crashed, but I do not
> > get any errors generated to my custom event log (our application
> > publishes all errors to it's own log) or in the Application or System
> > logs to indicate any kind of error has occurred. If I am only
> > interested in crashes that result in errors such as "faulting
> > application pool" or "service stopped unexpectedly", should I be
> > running the tool with the "-hc" command?
> >
> > Secondly, when I am reading the log file and interpreting the dump file
> > (which I am using WinDBG to do, though after running the
> > "!.\clr10\sos.clrstack" command it essentially is the same as the log
> > file output from IISState), I don't know how to read what I am seeing -
> > should I read from the bottom up or top down?
> >
> > Also, it seems like every single page I hit is causing IISState to
> > generate a dump file, so I'm not sure if I have it configured
> > properly....is a thread abort exception from .NET considered a "soft
> > crash" (because the framework throws these errors at random when using
> > redirects so we would want to ignore). Any thoughts?
> >
> > The log file generated is as follows (if the output from the !analyze
> > -v command in WinDBG would help, I can also provide that):
> >
> > Opened log file 'C:\iisstate\output\IISState-5528.log'
> >
> > ***********************
> > Starting new log output
> > IISState version 3.3.1
> >
> > Thu Aug 17 09:51:32 2006
> >
> > OS = Windows XP
> > Executable: aspnet_wp.exe
> > PID = 5528
> >
> > Note: Thread times are formatted as HH:MM:SS.ms
> >
> > ***********************
> >
> >
> > IIS has crashed...
> > Beginning Analysis
> > DLL (!FunctionName) that failed:
> >
> >
> >
> >
> > Thread ID: 1
> > System Thread ID: 13c8
> > Kernel Time: 0:0:1.125
> > User Time: 0:0:3.906
> > Thread Type: Managed Thread. Possible ASP.Net page or other .Net worker
> > succeeded
> > Loaded Son of Strike data table version 5 from
> > "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorwks.dll"
> > Thread 1
> > ESP EIP
> > 00a0f130 06aa380d [DEFAULT] [hasThis] Void
> > gBiz.Framework.MatchMergeResolver.InitProduct()
> > at [+0x42d] [+0x25d]
> > PARAM: this: 0x01705628 (gBiz.Framework.MatchMergeResolver)
> > 00a0f180 06aa31b9 [DEFAULT] [hasThis] String
> > gBiz.Framework.MatchMergeResolver.SearchProduct(Class
> > gBiz.Framework.Tag)
> > at [+0x61] [+0x1e]
> > PARAM: this: 0x01705628 (gBiz.Framework.MatchMergeResolver)
> > PARAM: int16 tag: 24135572
> > 00a0f1c8 06aa18bb [DEFAULT] [hasThis] String
> > gBiz.Framework.MatchMergeResolver.Merge(Class gBiz.Framework.Tag)
> > at [+0x1fb] [+0xd5]
> > PARAM: this: 0x01705628 (gBiz.Framework.MatchMergeResolver)
> > PARAM: int16 tag: 24135572
> > 00a0f2dc 06aa1686 [DEFAULT] [hasThis] String
> > gBiz.Framework.TagResolve.MatchMerge(Class gBiz.Framework.Tag)
> > at [+0xae] [+0xac]
> > PARAM: this: 0x0160a7f4 (gBiz.Framework.TagResolve)
> > PARAM: int16 tag: 24135572
> > 00a0f308 09530d51 [DEFAULT] [hasThis] String
> > gBiz.Framework.TagResolve.Resolve(String,String)
> > at [+0x361] [+0x197]
> > PARAM: this: 0x0160a7f4 (gBiz.Framework.TagResolve)
> > PARAM: class System.String tag: 0x01702fec (System.String)
> > PARAM: int16 language: 24129052
> > 00a0f4c4 08f640b7 [DEFAULT] [hasThis] String
> > gBiz.Framework.TagResolve.TagResolve(String,String,String,I4,I4,String,String,String,String,Class
> > System.Array)
> > at [+0x407] [+0x266]
> > PARAM: this: 0x0160a7f4 (gBiz.Framework.TagResolve)
> > PARAM: class System.String tagText: 0x01262994 (System.String)
> > PARAM: class System.String lang: 0x01702e1c (System.String)
> > PARAM: int32 productID: 16847348
> > PARAM: int32 txnItemID: -1
> > PARAM: class System.String txnID: 0xffffffff
> > PARAM: class System.String shopperID: 0x0
From: wardy1975 on
Great....thanks Pat....so I'm looking at an Access Violation exception
then....

Man these issues are hard to figure out....for instance, with IISState
and DebugDiag installed locally and reporting that IIS crashed, the
strange thing is, when I step through the code with my debugger, there
is no exception thrown anywhere or generated by the code that I can see
in that method or anywhere around that method, at least not in the
debugger, and the entire code of that method is enclosed within a
try/catch, and it certainly isn't causing my IIS to recycle, so now I
am at a loss....Would debugging in Visual Studio even show this Access
Violation as an error I can see? (my global error handler doesn't
appear to know about it)

Thanks


Pat [MSFT} wrote:
> 1) A "soft crash" is a 1st chance exception of a specific type - Access
> Violation (c0000005). Other 1st chance exceptions (e.g. Try/Catch blocks)
> are ignored.
>
> 2) A hard crash ("-hc") is a fatal exception (2nd chance exception). These
> are preceded by 1st chance exceptions. The problem with just tracking the
> 2nd chance exceptions is that it is not unusual for "clean-up" code to run
> between the 1st & 2nd making it very hard to determine the root cause. That
> said, tracking just 1st chance can (as you point out) show a lot of "noise."
> As a rule 1st chance exceptions that are AV's are generally bad news and
> should be fixed - even when not fatal.
>
> 3) IISState uses the same debug engine & managed code debug extensions as
> WinDBG - in fact it was written using the WinDBG SDK. WinDBG & CDB are
> really just "skins" for the debug engine.
>
> 4) You read thread stacks from the bottom to the top. So the line on top is
> the last code that executed.
>
> From the thread below the issue was caused by:
> gBiz.Framework.MatchMergeResolver.InitProduct()
>
> Most likely unexpected or blank parameters (this is an educated guess - not
> a result of reading the log).
>
>
>
> Pat
>
>
> <wardy1975(a)gmail.com> wrote in message
> news:1155820228.366972.45670(a)m73g2000cwd.googlegroups.com...
> > Hi Pat,
> >
> > Thanks for the info....I have since installed IISState on my local PC
> > (want to play around with it before installing on a production
> > server...:)) and I have run the tool, however I need some help in
> > understanding what I am seeing....
> >
> > Firstly, what exactly does a soft crash represent? Is this the same as
> > a "first chance" exception? The reason I ask is that IISState is
> > indicating in the log (see below) that IIS has crashed, but I do not
> > get any errors generated to my custom event log (our application
> > publishes all errors to it's own log) or in the Application or System
> > logs to indicate any kind of error has occurred. If I am only
> > interested in crashes that result in errors such as "faulting
> > application pool" or "service stopped unexpectedly", should I be
> > running the tool with the "-hc" command?
> >
> > Secondly, when I am reading the log file and interpreting the dump file
> > (which I am using WinDBG to do, though after running the
> > "!.\clr10\sos.clrstack" command it essentially is the same as the log
> > file output from IISState), I don't know how to read what I am seeing -
> > should I read from the bottom up or top down?
> >
> > Also, it seems like every single page I hit is causing IISState to
> > generate a dump file, so I'm not sure if I have it configured
> > properly....is a thread abort exception from .NET considered a "soft
> > crash" (because the framework throws these errors at random when using
> > redirects so we would want to ignore). Any thoughts?
> >
> > The log file generated is as follows (if the output from the !analyze
> > -v command in WinDBG would help, I can also provide that):
> >
> > Opened log file 'C:\iisstate\output\IISState-5528.log'
> >
> > ***********************
> > Starting new log output
> > IISState version 3.3.1
> >
> > Thu Aug 17 09:51:32 2006
> >
> > OS = Windows XP
> > Executable: aspnet_wp.exe
> > PID = 5528
> >
> > Note: Thread times are formatted as HH:MM:SS.ms
> >
> > ***********************
> >
> >
> > IIS has crashed...
> > Beginning Analysis
> > DLL (!FunctionName) that failed:
> >
> >
> >
> >
> > Thread ID: 1
> > System Thread ID: 13c8
> > Kernel Time: 0:0:1.125
> > User Time: 0:0:3.906
> > Thread Type: Managed Thread. Possible ASP.Net page or other .Net worker
> > succeeded
> > Loaded Son of Strike data table version 5 from
> > "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorwks.dll"
> > Thread 1
> > ESP EIP
> > 00a0f130 06aa380d [DEFAULT] [hasThis] Void
> > gBiz.Framework.MatchMergeResolver.InitProduct()
> > at [+0x42d] [+0x25d]
> > PARAM: this: 0x01705628 (gBiz.Framework.MatchMergeResolver)
> > 00a0f180 06aa31b9 [DEFAULT] [hasThis] String
> > gBiz.Framework.MatchMergeResolver.SearchProduct(Class
> > gBiz.Framework.Tag)
> > at [+0x61] [+0x1e]
> > PARAM: this: 0x01705628 (gBiz.Framework.MatchMergeResolver)
> > PARAM: int16 tag: 24135572
> > 00a0f1c8 06aa18bb [DEFAULT] [hasThis] String
> > gBiz.Framework.MatchMergeResolver.Merge(Class gBiz.Framework.Tag)
> > at [+0x1fb] [+0xd5]
> > PARAM: this: 0x01705628 (gBiz.Framework.MatchMergeResolver)
> > PARAM: int16 tag: 24135572
> > 00a0f2dc 06aa1686 [DEFAULT] [hasThis] String
> > gBiz.Framework.TagResolve.MatchMerge(Class gBiz.Framework.Tag)
> > at [+0xae] [+0xac]
> > PARAM: this: 0x0160a7f4 (gBiz.Framework.TagResolve)
> > PARAM: int16 tag: 24135572
> > 00a0f308 09530d51 [DEFAULT] [hasThis] String
> > gBiz.Framework.TagResolve.Resolve(String,String)
> > at [+0x361] [+0x197]
> > PARAM: this: 0x0160a7f4 (gBiz.Framework.TagResolve)
> > PARAM: class System.String tag: 0x01702fec (System.String)
> > PARAM: int16 language: 24129052
> > 00a0f4c4 08f640b7 [DEFAULT] [hasThis] String
> > gBiz.Framework.TagResolve.TagResolve(String,String,String,I4,I4,String,String,String,String,Class
> > System.Array)
> > at [+0x407] [+0x266]
> > PARAM: this: 0x0160a7f4 (gBiz.Framework.TagResolve)
> > PARAM: class System.String tagText: 0x01262994 (System.String)
> > PARAM: class System.String lang: 0x01702e1c (System.String)
> > PARAM: int32 productID: 16847348
> > PARAM: int32 txnItemID: -1
> > PARAM: class System.String txnID: 0xffffffff
> > PARAM: class System.String shopperID: 0x0