From: Damien Kalvar on
Guys thanks for the suggestions, I found a good PDF explaining how to use
windbg and sos so I'll be able to use the tools now.

We hadn't been looking at a serialization issue but the site does use the
state server and the developers who worked on the site before me are throwing
a ton of information in session state. But its been running that way for a
while, are there any changes from 1.1 to 2.0 that might cause what we have
been doing to suddenly becomre a problem?
From: Damien Kalvar on
Using the sos I was able to get these interesting thread stacks

OS Thread Id: 0x1970 (20)
ESP EIP
0281eefc 7ffe0304 [HelperMethodFrame: 0281eefc]
System.GC.WaitForPendingFinalizers()
0281ef4c 3198d4a4 SoftArtisans.Net.FileUpEe.Finalize()
0281ef78 3198d442 SoftArtisans.Net.FileUpEe.__dtor()
0281ef80 3198d415 SoftArtisans.Net.FileUpEe.Dispose()
0281ef88 0fddf14d
Mercer.ePRISM.Web.UI.FileManager.FileUploadUtility.ProcessUpload(System.String, System.String, System.Web.HttpRequest)
0281efdc 0fddd8e7
Mercer.ePRISM.Web.UI.FileManager.UserControls.UploadFileControl.Page_Load(System.Object, System.EventArgs)
0281f048 687ca5a4 System.Web.UI.Control.OnLoad(System.EventArgs).....


OS Thread Id: 0x1b54 (31)
ESP EIP
0417ed7c 7ffe0304 [HelperMethodFrame: 0417ed7c]
System.GC.WaitForPendingFinalizers()
0417edcc 3198d4a4 SoftArtisans.Net.FileUpEe.Finalize()
0417edf8 3198d442 SoftArtisans.Net.FileUpEe.__dtor()
0417ee00 3198d415 SoftArtisans.Net.FileUpEe.Dispose()
0417ee08 0fddf14d
Mercer.ePRISM.Web.UI.FileManager.FileUploadUtility.ProcessUpload(System.String, System.String, System.Web.HttpRequest)
0417ee5c 0fddd8e7
Mercer.ePRISM.Web.UI.FileManager.UserControls.UploadFileControl.Page_Load(System.Object, System.EventArgs)
0417eec8 687ca5a4 System.Web.UI.Control.OnLoad(System.EventArgs).......

These aren't the full stacks but does anyone have some suggestions on how to
find out what the WaitForPendingFinalizers funtions are waiting on?


From: Tiago Halm on
Google is your friend and MSDN too.

Look here:
http://msdn2.microsoft.com/en-us/library/system.gc.waitforpendingfinalizers.aspx

Use Reflector and inspect if upon calling
SoftArtisans.Net.FileUpEe.Dispose

the GC.SuppressFinalize method is called too
http://msdn2.microsoft.com/en-us/library/system.gc.suppressfinalize.aspx

It should be a good indicator of what is causing the AppPool to hang.

Tiago Halm


From: Damien Kalvar on
yeah, I had seen all that already and used reflector to dig into the Fileup
code. I guess what I was asking for is if anyone could help out with how to
use the windbg tool to see what the waitforpendingfinalizers is waiting on.
From: Pat [MSFT] on
Those threads are blocked on GC - but you need to find the thread that is
actually doing the blocking (i.e. owns the lock).


Pat

"Damien Kalvar" <DamienKalvar(a)discussions.microsoft.com> wrote in message
news:31521D9C-0945-48D8-AACC-160A8B934B59(a)microsoft.com...
> Using the sos I was able to get these interesting thread stacks
>
> OS Thread Id: 0x1970 (20)
> ESP EIP
> 0281eefc 7ffe0304 [HelperMethodFrame: 0281eefc]
> System.GC.WaitForPendingFinalizers()
> 0281ef4c 3198d4a4 SoftArtisans.Net.FileUpEe.Finalize()
> 0281ef78 3198d442 SoftArtisans.Net.FileUpEe.__dtor()
> 0281ef80 3198d415 SoftArtisans.Net.FileUpEe.Dispose()
> 0281ef88 0fddf14d
> Mercer.ePRISM.Web.UI.FileManager.FileUploadUtility.ProcessUpload(System.String,
> System.String, System.Web.HttpRequest)
> 0281efdc 0fddd8e7
> Mercer.ePRISM.Web.UI.FileManager.UserControls.UploadFileControl.Page_Load(System.Object,
> System.EventArgs)
> 0281f048 687ca5a4 System.Web.UI.Control.OnLoad(System.EventArgs).....
>
>
> OS Thread Id: 0x1b54 (31)
> ESP EIP
> 0417ed7c 7ffe0304 [HelperMethodFrame: 0417ed7c]
> System.GC.WaitForPendingFinalizers()
> 0417edcc 3198d4a4 SoftArtisans.Net.FileUpEe.Finalize()
> 0417edf8 3198d442 SoftArtisans.Net.FileUpEe.__dtor()
> 0417ee00 3198d415 SoftArtisans.Net.FileUpEe.Dispose()
> 0417ee08 0fddf14d
> Mercer.ePRISM.Web.UI.FileManager.FileUploadUtility.ProcessUpload(System.String,
> System.String, System.Web.HttpRequest)
> 0417ee5c 0fddd8e7
> Mercer.ePRISM.Web.UI.FileManager.UserControls.UploadFileControl.Page_Load(System.Object,
> System.EventArgs)
> 0417eec8 687ca5a4 System.Web.UI.Control.OnLoad(System.EventArgs).......
>
> These aren't the full stacks but does anyone have some suggestions on how
> to
> find out what the WaitForPendingFinalizers funtions are waiting on?
>
>