Solved

DCOM Server Hangs

Posted on 2001-08-14
16
429 Views
Last Modified: 2007-12-19
Hi!We were using DCOM  on WinNT 4.0(SP 6.0).I installed through normal procedure like dcomcnfg.By Some Reason One request from Client hangs & didn't respond back.Client shut down application but DCOM Still stays there & using 50 % Memoery usage.
I have two question
How to Kill that DCOM Process without Reboot NT BOX??
I can't reboot as Application runs 24/7.
Why it happent?(Is it Application Problem or Server Problem??)I found one Possible reason(I'm Sure)that All Client Using Same Sign On all Four PC Which may cause due to some Concurrency Problem.May Be.

Any Idea??
Thanks
0
Comment
Question by:mh_14
  • 8
  • 5
  • 2
  • +1
16 Comments
 
LVL 3

Expert Comment

by:Diveblue
ID: 6385365
Are you sure you've eliminated circular references??
0
 

Expert Comment

by:ratantata
ID: 6385910
One reason why the DCOM server hangs could be that it still thinks that the client is holding references to it, directly or indirectly.
0
 

Expert Comment

by:ratantata
ID: 6385914
you can kill the DCOM process thru the task manager.
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6388445
i think you have circular references,because dcom is 'very smart' it pings client form a server every ## seconds and if 3 pings are lost - client  -is dead time to unload server process.
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6388464
check your code for resume. I saw this before. developer forgot to remove resume in the error hand so it was like this

sub xyz

dim x
on error goto Error_



exit sub
Error_
 resume
Exit sub
0
 

Author Comment

by:mh_14
ID: 6389279
I tried to kill from task manager.Access Denied.
I already eliminated circular ref.
How to Kill Dead request??It still using 50% Memory usage.
thanks
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6389290
Can you explain for the ?dead request??
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6389308
you can use  kill.exe to kill any process.

H:\>kill /?
Microsoft (R) Windows NT (TM) Version 3.5 KILL
Copyright (C) 1994 Microsoft Corp. All rights reserved

usage: KILL [options] <<pid> | <pattern>>

           [options]:
               -f     Force process kill

           <pid>
              This is the process id for the task
               to be killed.  Use TLIST to get a
               valid pid

           <pattern>
              The pattern can be a complete task
              name or a regular expression pattern
              to use as a match.  Kill matches the
              supplied pattern against the task names
              and the window titles.

H:\>
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:mh_14
ID: 6389481
I'm Sorry but I should write as Request Send By Client hangs on server(Not a Dead Request).Is it User Related Problem?
Thanks rkot2000
I will try to Kill it.
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6389521
you can add some code to post messages to a file from server.
like :
starting function a ...
calling function b ...
exeting function b ....

this may help to locate a problem.

do you have this problem with every request ?
did you check loop statements?

usually if you have circular references or forgot to unload a form cpu ~ 0% ,since you have ~ 50 % it's doing something you shoud test your code.

can you start two vb applications on your pc and debug it?



0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6389527
You are not using global multi use ?
0
 

Author Comment

by:mh_14
ID: 6389621
I'm using Global Multi use.I also Debug with Two VB Application & Work Fine.I dont have any Form in DCOM.I dont have problem with ever request.Since Its working 24/7 Clien send request frequently & it work.But within last seven days I saw One Request was Ideal for 22 Hours & Use 50 % Usage.We are still using it right now but By Some Reason One request didn't respond correctly & hang that request.I also checked my Code I have Default Connection Time Out.
0
 

Author Comment

by:mh_14
ID: 6389628
I'm using Global Multi use.I also Debug with Two VB Application & Work Fine.I dont have any Form in DCOM.I dont have problem with ever request.Since Its working 24/7 Clien send request frequently & it work.But within last seven days I saw One Request was Ideal for 22 Hours & Use 50 % Usage.We are still using it right now but By Some Reason One request didn't respond correctly & hang that request.I also checked my Code I have Default Connection Time Out.
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6389636
1. Global Multi use is very very bad idea. you can't control your objects.

2. check this :

GlobalMultiUse Class Does Not Terminate in Multithreaded Environment

http://support.microsoft.com/support/kb/articles/q300/8/50.ASP?LN=EN-US&SD=gn&FR=0&qry=activex%20exe&rnk=1&src=DHCS_MSPSS_gn_SRCH&SPR=VBB



0
 
LVL 5

Accepted Solution

by:
rkot2000 earned 100 total points
ID: 6389808
0
 

Author Comment

by:mh_14
ID: 6472651
It Works Now.Sorry For Late Response.I'm really apologize for that.
Thanks rkot200.I really appreciate your response.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now