all groups > dotnet component services > october 2003 >
You're in the

dotnet component services

group:

Serviced Component In a Multi-User Environment.


Serviced Component In a Multi-User Environment. Vikram
10/19/2003 1:20:46 AM
dotnet component services:
Hi,

I have a few Serviced Components with a Business Object - Business Entity
relationship.
The Business Object initiates the transaction and is marked as
TransactionOption Required and the
business entity is marked as TransactionOption Supported.

Now this transaction works perfectly fine when I run it with a single user.
As soon as I have two users and
if both users start the transaction at the same time...then I am obsersving
in the COM+ MMC that both the calls
have reached the Business Object but both are not proceeding further. The
Time In Call just keeps on increasing.

Is this a deadlock ?? The database operation being done by the business
entity involves a few selects and an insert.
The only option left is to Shutdown and Restart the COM + package. Is there
any other COM+ setting to be done
in a multi-user environment.

Thankd and Regards,
Vikram

Re: Serviced Component In a Multi-User Environment. stevec NO[at]SPAM atomic9.net
10/20/2003 1:46:27 PM
It's hard to say without seeing the code. Can you post the core stuff here?



[quoted text, click to view]
Re: Serviced Component In a Multi-User Environment. Vikram
10/21/2003 11:48:28 PM
Some update on this.
I set the object pooling on the same object and it resulted in some
exceptions being logged in the Server.
I can say now that it is not a Database Deadlock since I had the SQL Server
Performance counters and it did not show any deadlocks.
Its now a pure COM + error. Has anyone seen this error before ?

Error Details:
----------------
The system has called a custom component and that component has failed and
generated an exception. This indicates a problem with the custom component.
Notify the developer of this component that a failure has occurred and
provide them with the information below.
Component Prog ID:
Method Name: IUnknown::QueryInterface
Server Application ID: {35A28DAE-5601-4528-B8CB-C6A33B44CD58}
Server Application Instance ID:
{8064FE17-103B-4799-805B-BA4A88E3892F}
Server Application Name: MyApp
The serious nature of this error has caused the process to terminate.
Exception: C0000005
Address: 0x791F527D
Call Stack:
mscorwks!GetCompileInfo + 0x1A2CC
mscorwks!CorExitProcess + 0x46FF
mscorwks!CorExitProcess + 0x479C
mscorwks!CorExitProcess + 0x47CE
COMSVCS!CoCreateStdTrustable + 0x17B75
COMSVCS!CoCreateStdTrustable + 0x1670F
COMSVCS!CoCreateActivity + 0x14C59

------------------------------------------------


Background details on the App:
The app is a EXE on the server which acts as a remoting host. The remoting
is configured as Single Call.
Each call that comes into the server is picked up by a delegator class. This
delegator class is then
instantiating the particular business object on the server and calling the
methods on the class.

The server has business objects and business entities. The business objects
initiate the transaction and are marked
as Transaction Required. The business entities and the data access classes
are marked as transaction supported.

The client is a MDI form application .When I initiate the same transaction
from two windows on the client at the same time,
the COM+ hangs and gives this error.

In case you need more details or code I can post that as well.

Regards,
Vikram



[quoted text, click to view]

Re: Serviced Component In a Multi-User Environment. stevec NO[at]SPAM atomic9.net
10/31/2003 8:09:58 AM
A C0000005 is typically "Win32 uh-oh error". It's very general and
kind of a catch-all, everything from divide by zero to network failure
can end up in C0000005. The fix could be as easy as properly setting
COM+ attributes on your clas, or as hard as requiring a HotFix.


Maybe provide a link to source or post it to the group if you think
you have it isolated.



[quoted text, click to view]

AddThis Social Bookmark Button