Object doesn't support this property or method
This is a short post about a very strange support case I had. I should start by mentioning however that you could see the same error for other reasons, not least of which because you’ve mistyped the property or method name :-).
In this particular case the customer had a class ASP web application that used VBScript. It would work for a long period of time (like days) but then begin to experience errors like the following:
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: '<method name>'
These errors would become more and more frequent and the only solution my customer had found was to restart the process hosting the script. In his case that meant an IISRESET.
After much investigation and debugging we eventually figured out that he was hitting a variant of this issue:
The underlying issue is specific to 32-bit processes that have a >2Gb address space available to them. Therefore this can occur both on 32-bit versions of Windows booted with the /3Gb switch in BOOT.INI as well as 64-bit versions of Windows where VBScript is hosted in a 32-bit process. (This is because 32-bit processes running on 64-bit systems have a 4Gb address space by default.)
The same underlying problem is also known to cause problems for the Scriptor component of Commerce Server:
HTH
Doug
Comments
Anonymous
December 09, 2014
Hi we are having the same issue with a classic ASP application that invokes a COM object executable to process the ASP calls and it works fine until quite some time and then throws the error Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'LabelStyleSheet' We have IIS 7 on windows 2008 R2 server 64 bit . Please help and advise how we can fix it. Thanks SwamyAnonymous
December 09, 2014
Hello Swamy, thanks for stopping by my blog! The specific issue I looked at that led to that blog post was due to something that was fixed a long time ago in VB Script so I would be quite surprised if it is the same issue rather than just being something that has the same symptoms. Is your application pool running as 32 bit or 64 bit? Is LabelStyleSheet a method or property on the COM server? Is it always the same method or property reported in the error? What is the exact version of VBScript.Dll on your system? On a side note, you should be aware that just yesterday we released a critical update for VBScript technet.microsoft.com/.../MS14-084 I am not saying that will fix this specific issue for you but I would certainly recommend it and it would also get you on the most recent broadly available VB Scripting engine. Regards DougAnonymous
December 10, 2014
The comment has been removedAnonymous
December 10, 2014
Hello Swamy That is quite a complex, compound piece of inline script. It looks like BuildControl (whatever that is) is not returning the type of object or interface you are expecting it to. On the face of it, it does not look to be the same issue as the one I blogged about here Do you know what programming framework the application was written with? For example is it custom script and COM objects or was it Web Classes or something else? DougAnonymous
December 10, 2014
Hi Doug It is an application that uses classic ASP pages, COM objects and a portion of it uses .NET framework but uses a different app pool for it. There is an executable that gets kicked off for these ASP requests and that executable utilizes COM objects. It is an application from a vendor and we dont have much insight into most of the code except for the ASP pages code. We have 10 web servers in load balancer farm (least connect algorithm) and about 1300 users using it. This runs fine for weeks and suddenly the users get this error from one of the web servers. We go into and restart the COM object process things are corrected. Thanks SwamyAnonymous
December 10, 2014
Is there a single COM object process per server or is it a single one on a common servers that the web servers talk to over DCOM? Have you considered controlled recycling of the servers as a pre-emptive mitigation?Anonymous
December 10, 2014
Hi Doug There is a single COM object process per server. So every web server has one process running. We do not generally recycle the servers since it is a 24x7 application with users all around the globe. Is there something we can do prevent this? Thanks for your help SwamyAnonymous
December 10, 2014
The comment has been removedAnonymous
December 10, 2014
Hi Doug Thanks for your help! We are following your recommendation now. The thing it is after the fact. The users already have faced the issue and damage is done. I was trying to see if there are ways we can prevent this from happening. I also put in a monitor for HTTP 500 errors from the servers. Thanks SwamyAnonymous
November 04, 2015
The comment has been removedAnonymous
November 05, 2015
The comment has been removedAnonymous
March 03, 2017
I am also facing the same issue in Argus Safety while opening the cases. VBScript runtime error 800a01b6 is shown. This kind of error is visible in few servers. Can you tell me the exact cause of this? Is there any solution for the same?- Anonymous
March 03, 2017
Parekar, this is a long time ago but as far as I recall in my case it was quite an obscure bug in vbscript. Unfortunately the error message (title of the post) is very generic and could be caused by all sorts of script level issues. If your application pool is already running as 64-bit then I suspect you are not hitting the issue I debugged in 2009.
- Anonymous