We can only accept sites that have ALL the following requirements:
1. Minimum of 100,000 pageviews/month.
2. Content safe (no nudity/sexuality/adult content).
3. Not blocked by Google AdSense/AdX.
4. Add our ads.txt lines to your site's ads.txt file.
After a release of new ASP.NET code, we started getting intermittent StackOverflowExceptions. We've looked for infinite recursions and all the usual suspects in the revisions added since the last known good install, and can't find anything. The website will run for up to an hour, and then crash down.
The reason for -NoDumpOnFirst is that we can only reproduce this error in production on busy servers. In order to do a minidump on each first-chance exception (hey, it happens) the debugger has to pause the IIS worker process long enough to write out a 16 meg file, so requests queue up and the application becomes unstable. Because the error can take up to an hour to rear it's ugly head, this is problematic.
Trying to print the exception shows that there is no stack trace, and other methods complain that it's unmanaged code. My guess is that as the dump is created at process death, all the threads have been garbage collected and there's no information left to get.
I would really like to have the debugger perform a full dump on the first-chance of the StackOverflowException and ignore all other exception types. I know that ADPlus can use a config file - -us/library/cc409304.aspx - but the format is all greek to me. Can anyone show me how to make an ADPlus script that will do this?
Thank you deemok for the answer below, it wasn't quite right but that pushed me in the right direction. The exception code for Stack Overflow was incorrect (it's sbo not sov), (or so I thought at the time, see deemok's edits below) so I tried debugging with the following configuration:
I verified that the outputted log files indictated the right configuration. The trick is that the command line params of adplus get executed in order, so if you start with a config that traps first-chance exceptions and then apply -NoDumpOnFirst, the configuration settings will be overwritten. If you apply the config with -c last, then its settings will win out.
In the end, however, the stack overflow proved uncatchable. The stack overflow happened, no memory dump could be received, and then a dump occurred on the second-chance process ending event, and again everything had been garbage collected and I couldn't get any useful information.
I set that script off against my test stack overflow thrower, loaded up the result in windbg, and when I called !clrstack I got a very clear (and long) listing of the methods that were calling each other circularly. This would have found the problem in an instant! I'll be keeping this page bookmarked for the next time a stack overflow comes knocking at my door.
Just in case this might help someone else, below is the ADPlus config file I came up with. Looking at it now, I'm not sure that !runaway has any effect. Attached when an ASP.NET app that throws a StackOverflowException is running, this will generate "1st chance StackOverflow full" and "1st chance Process Shut Down full" .dmp files in the specified OutputDir. Open the first file with Windbg, and run ".loadby sos mscorwks" followed by "!clrstack" to see what might be causing the stack overflow.
Edit: both sov and sbo are stack overflow exceptions. I guess one needs to experiment with both since it is not quite clear to me what the difference between the two is. (might sbo denote an invalid alloca() call?)
5. Reproduce crash now. If the problem is intermittent, this may take an indefinite amount of time; Do not close the command prompt window (highlighted in the image below) during this time. Allow some time for the memory dump to complete.
ADPlus is the debugger used to capture crash, hang dumps.
The SLS option is used to generate a detailed log about modules and entry points, which is useful to troubleshoot DLL not found, PATH or name conflicts.
6. Reproduce crash now. If the problem is intermittent, this may take an indefinite amount of time; Do not close the command prompt window (highlighted in the image below) during this time. Allow some time for the memory dump to complete.
This page describes how to use the AD Plus tool and how to analyze the AD crash dumps. Ad plus tool is used when CAST AIP analysis crashes without any error message either in CAST AIP log or CAST MS log.
Open command line from the path where adplus.exe exists and run the below command if you are interested to take the crash dump of Anarun (may need to change this to anarun, jeecmd, donnetcmd, depending on what is crashing):
If the anarun is 32 bit which is in the case when you are using 7.3.x or only VB analyzer in 8.x.x then you have to trigger 32 bit adplus else if the anarun is 64 bit then you have to trigger 64 bit adplus.
Now your ADPLUS is ready to monitor the Anarun.exe if it runs, so go to CAST-MS and run the analysis which is crashing and you will see the information in the command line once anarun triggers by CAST-MS
As command line parameters do not allow us to use many Adplus advanced features I generally prefer to store Adplus run settings in config files with names explaining their usage. In this post we will work on some sections of the configuration file but I strongly encourage you to read the Adplus documentation and find detailed information about the configuration file structure. We will start from the following log-exceptions.adplus.config file (all samples can be downloaded from the blog samples website):
After running Adplus with the new configuration file, it should generate two full dumps for the first chance System.ArgumentNullException and System.InvalidOperationException and one full dump for the second chance System.NotImplementedException.
The command is parsed from left to right. When you specify a target, ADPlus uses all of the options that it has parsed up to that point. This kind of parsing enables you to create a long command that has multiple targets and to specify different options for each target. To specify options easily, you can store them in configuration files and use the -c parameter to point to these files.
ADPlus.vbs (ADPlus) is a tool from Microsoft Product Support Services (PSS) that can troubleshoot any process or application that stops responding (hangs) or fails (crashes). Frequently, you can use ADPlus as a replacement tool for the Microsoft Internet Information Server (IIS) Exception Monitor (6.1/7.1) and User Mode Process Dump. These are two separate tools that PSS frequently uses to isolate what causes a process to stop responding (hang) or quit unexpectedly (crash) in a Microsoft Windows DNA environment.( )
The above mentioned command will associate the debugger with the process and at the point when they crash it will generate the logs in the output folder which you can transfer to support for further analysis. Once you have the .DMP File you can get a case created at Symantec Support and make arrangements to send the file to Symantec Support for further analysis.
Adblock Plus is a free extension that allows you to customize and control your web experience. Block annoying ads, disable tracking, block sites known to spread malware and lots more. Available for all major desktop browsers and mobile devices.
The Adveco ADplus commercial instantaneous water heater offers a range of high-power gas-fired condensing water heaters featuring an integrated 120-litre stainless steel water storage tank for continuous and on-demand hot water (DHW) for a wide range of commercial applications.
The Adveco ADplus range is also compatible with proposed 20% hydrogen blends in natural gas networks offering a transitional route to a more decarbonised energy without requiring physical alteration to the appliance or building.
With each water heater composed of a built-in 120litre storage tank and single or dual heat exchangers, the ADplus range offers three appliances, 70kW, 115kW and 140 kW, which can also be configured to operate in a cascade of up to eight water heaters.
Constructed from a corrosive-resistant continuous run of titanium-stabilised stainless steel, the 115 and 140 models with multiple integrated heat exchangers offer load balancing for optimal long-life operation and inbuilt redundancy guaranteeing continuity of service. Their titanium-stabilised stainless-steel construction makes the heat exchangers highly resilient; this enables direct contact with chlorinated mains water and use in naturally soft water areas where the corrosive nature of mains water can rapidly damage other water heaters.
The tough, stainless steel 120 litres storage tank is provided with electronic anodic protection and high-quality polyurethane thermal insulation. This enables the ADplus to serve as a semi-storage system, providing always available and instantaneous supply with quick recovery times for continuous provision of DHW.
For on-demand needs, ADplus heats what is necessary, with no ignition for smaller withdrawals providing considerable energy savings. When heat is required, the condensing technology provides up to 30% savings in fuel consumption.
With the anti-corrosive construction, ADplus can be used with soft and softened water. For harder water, the recirculating pump regulates the correct water flow according to inlet water hardness helping to prevent the formation of limescale on the heat exchanger surface, ensuring high performance throughout its life cycle.
The Adveco ADplus commercial instantaneous water heater range features an inbuilt controller with LCD display that ensures full temperature control, plus cascade control for up to 8 units and a maintenance self-check of primary components and functions, 0-10 input, MODBUS communication and alarm output for seamless system integration.
The HCSS ADPlus Fleet Dashcam is an advanced plug-n-play dash camera with a built-in Al processor to detect driving events like forward collision and improper driver behavior such as using mobile phone usage and distracted driving. Having a dashcam installed has been shown to help reduce unsafe driving behaviors, such as cell phone usage.
df19127ead