Application Center Usage - Just in Time Activation yields weird error messages / new applications destabilize clu

This is Interesting: Free IT Magazines  
Home > Archive > Application Center Usage > July 2004 > Just in Time Activation yields weird error messages / new applications destabilize clu





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Just in Time Activation yields weird error messages / new applications destabilize clu
Ramiro Calderón

2004-06-01, 5:01 pm

Hi everyone,

I was performing some tests with ACS 2KServer with 3 W2k Server servers (a
com+ routing cluster of one server and an Application Cluster of two). And I
got two problems:

PROBLEM ONE:

First, I installed a kinda "hello world" application with a .NET Serviced
Component with a method that returns the machine name. The Component had the
"Just In Time Activation" option selected (although the component didn't
need it). With a simple test client that just called the component's method
in periodically, and I got three different, yet recurrent, error messages:

" EXCEPTION ONE:

C:\"Documents and
Settings" \adelosri\Desktop\PruebasACS\clienteprue
basacsconsola.exe 1000

Unhandled Exception: System.Runtime.InteropServices.COMException
(0x800706BA): T
he RPC server is unavailable.
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
errorCode
, IntPtr errorInfo)
at System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type serverType,
Bool
ean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri)
at
System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(T
ype serverType)
at
System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(T
ype serverType, Object[] props, Boolean bNewObj)
at ClientePruebasACSConsola.Class1.HacerLlamado(Object o)

EXCEPTION TWO:

Unhandled Exception: System.InvalidCastException: QueryInterface for
interface S
ystem.IDisposable failed.

Server stack trace:
at System.IDisposable.Dispose()
at
System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(M
ethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean
fExecuteInC
ontext, Object[]& outArgs)
at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMes
sage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
req
Msg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgDa
ta, Int32 type)
at System.IDisposable.Dispose()
at ClientePruebasACSConsola.Class1.HacerLlamado(Object o)

EXCEPTION THREE

Unhandled Exception: System.Runtime.InteropServices.COMException
(0x800706BE): T
he remote procedure call failed.
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
errorCode
, IntPtr errorInfo)
at System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type serverType,
Bool
ean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri)
at
System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(T
ype serverType)
at
System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(T
ype serverType, Object[] props, Boolean bNewObj)
at ClientePruebasACSConsola.Class1.HacerLlamado(Object o)
"

The following message was generated in the error log

"
A condition has occurred that indicates this COM+ application is in an
unstable state or is not functioning correctly. Assertion Failure:
!m_fActivated

Server Application ID: {78D338D2-A4B4-4E1A-A79C-B232E2C55913}
Server Application Instance ID:
{540A4CE7-19BC-4C1C-AC5E-D481A4A6C0C2}
Server Application Name: PruebasACSEPM
The serious nature of this error has caused the process to terminate.
COM+ Services Internals Information:
File: d:\nt\com\complus\src\comsvcs\jit\jit.cpp, Line: 93
Comsvcs.dll file version: ENU 2001.12.4720.130 shp

"

As it can be noticed, the problem arises whenever you try to get an instance
of the remote object.

However, when I ran the client without the "Component Supports Dynamic Load
Balancing" option, the client worked just fine.

I cleared the JIT Activation in the servers, re-enable the CLB option in the
Routing Cluster, and the client worked fine. With other Applications (built
in VB6/COM+ by the way), I experienced the same behaviour.

My conclusion is: if your component doesn't need the JIT Activation (that
is, non-transactional component) and you checked it, you'll get that error
messages
message whenever you try to instantiate the component via CreateObject or
such. Therefore, you MUST disable JIT activation unless you need it.
Unfortunately, I couldn't find any documentation that supports this
statement (any hints would be really handy).

On the other hand, whenever I tried to deploy a new application, I got an
"Unspecified Error" message, without any additional information neither in
the message nor the event log. However, when I erased and rebuild the list
of available servers to perform CLB in the COM+ Routing Cluster, the clients
started to work properly. Obviously, that's not an option in a production
environment.

Are there any documentation adressing these issues?? Any documentation that
I missed?? I've read the Resource Kit as well as the newsgroups, but I
couldn't find anything related.

Thanks in advance

Ramiro Calderon


Mario Giuliani

2004-07-31, 5:47 pm


"Ramiro Calderón" <rcrdev@nospam.hotmail.com> ha scritto nel messaggio
news:e5lJH6ASEHA.2704@TK2MSFTNGP10.phx.gbl...
> Hi everyone,
>
> I was performing some tests with ACS 2KServer with 3 W2k Server servers

(a
> com+ routing cluster of one server and an Application Cluster of two). And

I
> got two problems:
>
> PROBLEM ONE:
>
> First, I installed a kinda "hello world" application with a .NET Serviced
> Component with a method that returns the machine name. The Component had

the
> "Just In Time Activation" option selected (although the component didn't
> need it). With a simple test client that just called the component's

method
> in periodically, and I got three different, yet recurrent, error messages:
>
> " EXCEPTION ONE:
>
> C:\"Documents and
> Settings" \adelosri\Desktop\PruebasACS\clienteprue
basacsconsola.exe 1000
>
> Unhandled Exception: System.Runtime.InteropServices.COMException
> (0x800706BA): T
> he RPC server is unavailable.
> at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
> errorCode
> , IntPtr errorInfo)
> at System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type

serverType,
> Bool
> ean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri)
> at
> System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(T
> ype serverType)
> at
> System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(T
> ype serverType, Object[] props, Boolean bNewObj)
> at ClientePruebasACSConsola.Class1.HacerLlamado(Object o)
>
> EXCEPTION TWO:
>
> Unhandled Exception: System.InvalidCastException: QueryInterface for
> interface S
> ystem.IDisposable failed.
>
> Server stack trace:
> at System.IDisposable.Dispose()
> at
> System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(M
> ethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean
> fExecuteInC
> ontext, Object[]& outArgs)
> at
> System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMes
> sage msg, Int32 methodPtr, Boolean fExecuteInContext)
>
> Exception rethrown at [0]:
> at

System.Runtime.Remoting.Proxies.RealProxy. HandleReturnMessage(IMessage
> req
> Msg, IMessage retMsg)
> at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
> msgDa
> ta, Int32 type)
> at System.IDisposable.Dispose()
> at ClientePruebasACSConsola.Class1.HacerLlamado(Object o)
>
> EXCEPTION THREE
>
> Unhandled Exception: System.Runtime.InteropServices.COMException
> (0x800706BE): T
> he remote procedure call failed.
> at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
> errorCode
> , IntPtr errorInfo)
> at System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type

serverType,
> Bool
> ean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri)
> at
> System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(T
> ype serverType)
> at
> System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(T
> ype serverType, Object[] props, Boolean bNewObj)
> at ClientePruebasACSConsola.Class1.HacerLlamado(Object o)
> "
>
> The following message was generated in the error log
>
> "
> A condition has occurred that indicates this COM+ application is in an
> unstable state or is not functioning correctly. Assertion Failure:
> !m_fActivated
>
> Server Application ID: {78D338D2-A4B4-4E1A-A79C-B232E2C55913}
> Server Application Instance ID:
> {540A4CE7-19BC-4C1C-AC5E-D481A4A6C0C2}
> Server Application Name: PruebasACSEPM
> The serious nature of this error has caused the process to terminate.
> COM+ Services Internals Information:
> File: d:\nt\com\complus\src\comsvcs\jit\jit.cpp, Line: 93
> Comsvcs.dll file version: ENU 2001.12.4720.130 shp
>
> "
>
> As it can be noticed, the problem arises whenever you try to get an

instance
> of the remote object.
>
> However, when I ran the client without the "Component Supports Dynamic

Load
> Balancing" option, the client worked just fine.
>
> I cleared the JIT Activation in the servers, re-enable the CLB option in

the
> Routing Cluster, and the client worked fine. With other Applications

(built
> in VB6/COM+ by the way), I experienced the same behaviour.
>
> My conclusion is: if your component doesn't need the JIT Activation (that
> is, non-transactional component) and you checked it, you'll get that error
> messages
> message whenever you try to instantiate the component via CreateObject or
> such. Therefore, you MUST disable JIT activation unless you need it.
> Unfortunately, I couldn't find any documentation that supports this
> statement (any hints would be really handy).
>
> On the other hand, whenever I tried to deploy a new application, I got an
> "Unspecified Error" message, without any additional information neither in
> the message nor the event log. However, when I erased and rebuild the list
> of available servers to perform CLB in the COM+ Routing Cluster, the

clients
> started to work properly. Obviously, that's not an option in a production
> environment.
>
> Are there any documentation adressing these issues?? Any documentation

that
> I missed?? I've read the Resource Kit as well as the newsgroups, but I
> couldn't find anything related.
>
> Thanks in advance
>
> Ramiro Calderon
>
>



Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com