Application hit compilation error in Win 2008 after running for 7~10 days

Hi, We just upgraded from Win 2003 to Win 2008 and some applications be able to run for few days then hit compilation error
Panda 5888EngineerAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Randy DownsOWNERCommented:
Maybe this will help? Perhaps all the Windows updates didn't get installed until after a few days and/or reboots. Is it possible that .Net 4 didn't get installed until later? If so this may be applicable.

Compilation Errors after upgrading to .Net 4
Nov 14, 2010 04:09 PM|LINK

Fix for me: Change the APP Pool (I'm running IIS7 for what it's worth) to be run by "Local System" instead of "Network Service".

Also, the App Pool I'm using is one of the new pools created by .net 4.0 called .net 4.0 app pool or something like that.

Also, I'm having the problem only on one of my dev machines, not all and not on the server. The dev machine is running Vista.

As soon as I changed the owner of the App Pool, it worked. Don't know why. Got it from a post somewhere and it seems to work. Now I can just "save" an aspx file I'm working on and refresh my Chrome browser and it loads without needing to rebuild.
Panda 5888EngineerAuthor Commented:

After changed Change the APP Pool (I'm running IIS7 for what it's worth) to be run by "Local System"
Still hit the same compilation error
Randy DownsOWNERCommented:
maybe it's similar to this.

--->  External component has thrown an exception.

It looks like the upgrade for your third party software is throwing an error.  You might need to upgrade your references in your web application if you are using for example a third party DLL.  Your web application might still be pointing to your old version 8.  Also, since you uninstalled version 8, the actual objects are gone and therefore the your references are pointing nowhere.

You might need to remove your old references and add the new ones from version 9 and then rebuild.
Protecting & Securing Your Critical Data

Considering 93 percent of companies file for bankruptcy within 12 months of a disaster that blocked access to their data for 10 days or more, planning for the worst is just smart business. Learn how Acronis Backup integrates security at every stage

Panda 5888EngineerAuthor Commented:

As far as I know, the applications that hit compiler error is working fine for few days.
Most of it we did not use 3rd party software. I been googled and encountered the terms "memory heap" but not sure what software to measure this. Any idea ?
Randy DownsOWNERCommented:
Maybe this will help.

Why memory profiling?

When it comes to .NET and memory analysis, there are two primary reasons one would want to use a diagnostics tool:

To discover memory leaks. Leaks on a garbage-collecting runtime like the CLR manifest differently than do leaks in a non-garbage-collected environment, such as in code written in C/C++. A leak in the latter typically occurs due to the developer not manually freeing some memory that was previously allocated. In a garbage collected environment, however, manually freeing memory isn’t required, as that’s the duty of the garbage collector (GC). However, the GC can only release memory that is provably no longer being used, meaning as long as there are no rooted references to the memory. Leaks in .NET code manifest then when some memory that should have been collected is incorrectly still rooted, e.g. a reference to the object occurs in an event handler registered with a static event. A good memory analysis tool might help you to find such leaks, such as by allowing you to take snapshots of the process at two different points and then comparing those snapshots to see which objects stuck around for the second point, and more importantly, why.

To discover unnecessary allocations. In .NET, allocation is often quite cheap. This cost is deceptive, however, as there are more costs later when the GC needs to clean up. The more memory that gets allocated, the more frequently the GC will need to run, and typically the more objects that survive collections, the more work the GC needs to do when it runs to determine which objects are no longer reachable. Thus, the more allocations a program does, the higher the GC costs will be. These GC costs are often negligible to the program’s performance profile, but for certain kinds of apps, especially those on servers that require high-throughput operation, these costs can add up quickly and make a noticeable impact to the performance of the app. As such, a good memory analysis tool might help you to understand all of the allocation being done by the program, in order to help spot allocations you can potentially avoid.

The .NET memory profiler included in Visual Studio 2012 (Professional and higher versions) was designed primarily to address the latter case of helping to discover unnecessary allocations, and it’s quite useful towards that goal, as the rest of this post will explore. The tool is not tuned for the former case of finding and fixing memory leaks, though this is an area the Visual Studio diagnostics team is looking to address in depth for the future (you can see such an experience for JavaScript that was added to Visual Studio as part of VS2012.1). While the tool today does have an advanced option to track when objects are collected, it doesn’t help you to understand why objects weren’t collected or why they were held onto longer than was expected.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Panda 5888EngineerAuthor Commented:
Appreciate your suggestion on The .NET memory profiler included in Visual Studio 2012 that can issue this.
However, we are not in Visual Studio 2012 yet. Any other tools that you may suggest to help to track which applications specifically cause memory leak ?
Thank you
Randy DownsOWNERCommented:
Try this. Lots of information on troubleshooting memory leaks.

this is the tool they use to debug.

The Debug Diagnostic Tool (DebugDiag) is designed to assist in troubleshooting issues such as hangs, slow performance, memory leaks or fragmentation, and crashes in any user-mode process. The tool includes built-in analysis rules focused on Internet Information Services (IIS) applications, web data access components, COM+, SharePoint and related Microsoft technologies.
Panda 5888EngineerAuthor Commented:
No comment.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2008

From novice to tech pro — start learning today.