How to find out source of dllhost.exe

Ask a Question related to ASP, Design and Development.

  1. #1

    Default How to find out source of dllhost.exe

    I've got a Windows 2000 server running with about 50 websites on it, all
    running ASP scripts. I've noticed that the servers CPU usage gets up 100%
    sometimes, caused by dllhost.exe, which I'm certain is a hanging ASP script
    somewhere on the box. Probably an on error resume next line that doesn't go
    anywhere when an error is an encountered. Anyways, I'm not sure if there's
    a way to isolate the website where its originating, or even the page this
    problem is originating from. Is there a way to do this? Any help would be
    appreciated, as this problem is slowing down the server for everyone. TIA
    for any help/advice.

    Rollin


    Rollin 4 Eva Guest

  2. Similar Questions and Discussions

    1. where can i find a chat source for flash?
      im trying to create web site with a a based flash chat, and i am looking for someone that could help me with any source of it, please any idea of...
    2. High CPU for dllhost.exe with IIS 6.0
      Hello On a machine with Windows Server 2003 where our web application (in ASP 6.0 and using VB 6.0 COM+ applications) are running, we...
    3. How can I find a datagrid's source Table Name?
      I populate a datagrid from one of 2 datasets, each has a different Table Name. During the OnItemDataBound event, I'd like to determine which of the...
    4. DLLHOST looping at 50%! What does this tell me?
      I have a bug somewhere and I don't know how to find it. I was told by someone that they thought that one of my ASP pages might be looping. Well,...
  3. #2

    Default Re: How to find out source of dllhost.exe

    "Rollin 4 Eva" <test@test.com> wrote in message
    news:o_udnf9BvN4uogmiRTvUqQ@giganews.com...
    > I've got a Windows 2000 server running with about 50 websites on it, all
    > running ASP scripts. I've noticed that the servers CPU usage gets up 100%
    > sometimes, caused by dllhost.exe, which I'm certain is a hanging ASP
    script
    > somewhere on the box. Probably an on error resume next line that doesn't
    go
    > anywhere when an error is an encountered. Anyways, I'm not sure if
    there's
    > a way to isolate the website where its originating, or even the page this
    > problem is originating from. Is there a way to do this? Any help would
    be
    > appreciated, as this problem is slowing down the server for everyone. TIA
    > for any help/advice.
    Go into Component Services MMC. Click the "Status View" button in COM+. It
    will show you the PID for each DllHost process.

    --
    Tom Kaminski IIS MVP
    [url]http://www.iistoolshed.com/[/url] - tools, scripts, and utilities for running IIS
    [url]http://mvp.support.microsoft.com/[/url]
    [url]http://www.microsoft.com/windowsserver2003/community/centers/iis/[/url]



    Tom Kaminski [MVP] Guest

  4. #3

    Default Re: How to find out source of dllhost.exe

    > Probably an on error resume next line that doesn't go
    > anywhere when an error is an encountered.
    No, that wouldn't cause it... on error resume next doesn't "go anywhere"...
    it just ignores the line that causes the error and moves to the next line
    (hence the "resume next" part).
    > Anyways, I'm not sure if there's
    > a way to isolate the website where its originating, or even the page this
    > problem is originating from. Is there a way to do this? Any help would
    be
    > appreciated, as this problem is slowing down the server for everyone. TIA
    > for any help/advice.
    I think you'd have to use trial and error... move all sites into isolated
    and you should be able to track it down that way (since each site would have
    its own dllhost.exe).

    A


    Aaron Bertrand - MVP Guest

  5. #4

    Default Re: How to find out source of dllhost.exe


    "Aaron Bertrand - MVP" <aaron@TRASHaspfaq.com> wrote in message
    news:upnKzg0lDHA.2444@TK2MSFTNGP09.phx.gbl...
    > > Probably an on error resume next line that doesn't go
    > > anywhere when an error is an encountered.
    >
    > No, that wouldn't cause it... on error resume next doesn't "go
    anywhere"...
    > it just ignores the line that causes the error and moves to the next line
    > (hence the "resume next" part).
    well what if the error happens when I try to open up a recordset (which
    mostly all the pages that use a dbase connection do)? And what if the next
    line is do while not rsTemp.EOF?
    Wouldn't that cause an endless loop?
    >
    > > Anyways, I'm not sure if there's
    > > a way to isolate the website where its originating, or even the page
    this
    > > problem is originating from. Is there a way to do this? Any help would
    > be
    > > appreciated, as this problem is slowing down the server for everyone.
    TIA
    > > for any help/advice.
    >
    > I think you'd have to use trial and error... move all sites into isolated
    > and you should be able to track it down that way (since each site would
    have
    > its own dllhost.exe).
    Not sure what you mean by isolated. Running IIS on Windows 2000 Server BTW

    Thanks.
    Rollin
    >
    > A
    >
    >

    Rollin 4 Eva Guest

  6. #5

    Default Re: How to find out source of dllhost.exe

    In news:z96dnbZ8X53DyAmiRTvUqw@giganews.com,
    Rollin 4 Eva <test@test.com> typed:
    : "Aaron Bertrand - MVP" <aaron@TRASHaspfaq.com> wrote in message
    : news:upnKzg0lDHA.2444@TK2MSFTNGP09.phx.gbl...
    ::: Probably an on error resume next line that doesn't go
    ::: anywhere when an error is an encountered.
    ::
    :: No, that wouldn't cause it... on error resume next doesn't "go
    :: anywhere"... it just ignores the line that causes the error and
    :: moves to the next line (hence the "resume next" part).
    : well what if the error happens when I try to open up a recordset
    : (which mostly all the pages that use a dbase connection do)? And
    : what if the next line is do while not rsTemp.EOF?
    : Wouldn't that cause an endless loop?

    Yes, but the On Error Resume Next would not have *any* effect on that. An
    endless loop is not incorrect in and of itself, although, in most cases,
    highly undesirable.

    [snipped..the rest]

    Don Verhagen


    Don Verhagen Guest

  7. #6

    Default Re: How to find out source of dllhost.exe

    > well what if the error happens when I try to open up a recordset (which
    > mostly all the pages that use a dbase connection do)? And what if the
    next
    > line is do while not rsTemp.EOF?
    What if? Did you try it?
    > Wouldn't that cause an endless loop?
    Again, did you try it?


    Aaron Bertrand [MVP] Guest

  8. #7

    Default Re: How to find out source of dllhost.exe

    Sounds like you have got the Welchia Worm !!! I had the same problem myself.

    If you do a search you will find more than one instance of DLLHOST.EXE.

    The culprit resides in WinNT/System32/Wins/Dllhost.exe

    You will not be able to delete this, change privaliges or anything.

    You will have to go to Sophos (or Norton the choice is yours), and download
    a little .exe file to delete the worm.

    Then go to Microsoft.com and do a search on IISLockd.exe (this is an IIS
    lock down tool)
    You need this as the worm uses an RPC on the WEBDAV element in IIS to upload
    the worm to your machine.


    I hope this helps


    Stuart

    You can go to Sophos and download a little .exe to clear it.
    "Rollin 4 Eva" <test@test.com> wrote in message
    news:o_udnf9BvN4uogmiRTvUqQ@giganews.com...
    > I've got a Windows 2000 server running with about 50 websites on it, all
    > running ASP scripts. I've noticed that the servers CPU usage gets up 100%
    > sometimes, caused by dllhost.exe, which I'm certain is a hanging ASP
    script
    > somewhere on the box. Probably an on error resume next line that doesn't
    go
    > anywhere when an error is an encountered. Anyways, I'm not sure if
    there's
    > a way to isolate the website where its originating, or even the page this
    > problem is originating from. Is there a way to do this? Any help would
    be
    > appreciated, as this problem is slowing down the server for everyone. TIA
    > for any help/advice.
    >
    > Rollin
    >
    >

    Stuart Guest

  9. #8

    Default Re: How to find out source of dllhost.exe

    Yes I tried it. It causes the server to lock up. The on error resume next
    causes an endless loop because the recordset never reaches an .EOF status.
    The initial question had nothing to do with the code. I'm aware of what's
    causing the problem, just unaware of how to isolate the website which its
    coming from.

    "Aaron Bertrand [MVP]" <aaron@TRASHaspfaq.com> wrote in message
    news:#EnI1j1lDHA.1728@TK2MSFTNGP09.phx.gbl...
    > > well what if the error happens when I try to open up a recordset (which
    > > mostly all the pages that use a dbase connection do)? And what if the
    > next
    > > line is do while not rsTemp.EOF?
    >
    > What if? Did you try it?
    >
    > > Wouldn't that cause an endless loop?
    >
    > Again, did you try it?
    >
    >

    Rollin 4 Eva Guest

  10. #9

    Default Re: How to find out source of dllhost.exe

    > Yes I tried it. It causes the server to lock up. The on error resume
    next
    > causes an endless loop because the recordset never reaches an .EOF status.
    Can you show code that reproduces this? You understand that the following
    loop will never even be entered if eof is false, right?

    do while not rs.eof



    Aaron Bertrand - MVP Guest

  11. #10

    Default Re: How to find out source of dllhost.exe


    "Aaron Bertrand - MVP" <aaron@TRASHaspfaq.com> wrote in message
    news:eIIQG2AmDHA.2456@TK2MSFTNGP09.phx.gbl...
    > > Yes I tried it. It causes the server to lock up. The on error resume
    > next
    > > causes an endless loop because the recordset never reaches an .EOF
    status.
    >
    > Can you show code that reproduces this? You understand that the following
    > loop will never even be entered if eof is false, right?
    >
    > do while not rs.eof
    >
    >
    >
    OK try running this code on your server and tell me this doesn't create an
    endless loop.
    <%@ Language=VBScript %>
    <% Option Explicit %>
    <% Response.Buffer = true %>
    <!--#include file="/includes/connection.inc.asp" -->
    <%
    on error resume next
    dim rsTemp

    set rsTemp = server.CreateObject("ADODB.RECORDSET")
    set rsTemp = conn.execute("some sql syntax that does nothing")

    do while not rsTemp.EOF
    response.Write("TEST<BR>")
    rsTemp.MoveNext
    loop

    rsTemp.Close
    set rsTemp = nothing
    conn.close
    set conn = nothing


    %>

    You have to take out the include and set up your own connection of course.
    EOF status is never reached because the sql syntax isn't proper.


    Rollin 4 Eva Guest

  12. #11

    Default Re: How to find out source of dllhost.exe

    Rollin 4 Eva wrote:
    > "Aaron Bertrand - MVP" <aaron@TRASHaspfaq.com> wrote in message
    > news:eIIQG2AmDHA.2456@TK2MSFTNGP09.phx.gbl...
    >
    > OK try running this code on your server and tell me this doesn't
    > create an endless loop.
    > <%@ Language=VBScript %>
    > set rsTemp = conn.execute("some sql syntax that does nothing")
    I'd like to try this but I have no idea what "some sql syntax that does
    nothing" means. If you mean to use a statement that raises an error, well,
    you would want to detect that error before attempting to loop through a
    recordset wouldn't you? Since you are using On Error Resume Next, then it
    seems that it would seem logical to use

    If err <> 0 then
    'handle the error
    else
    do until rsTemp.EOF
    'etc
    loop
    end if

    wouldn't it?

    Bob Barrows


    --
    Microsoft MVP -- ASP/ASP.NET
    Please reply to the newsgroup. The email account listed in my From
    header is my spam trap, so I don't check it very often. You will get a
    quicker response by posting to the newsgroup.


    Bob Barrows Guest

  13. #12

    Default Re: How to find out source of dllhost.exe

    Well see that's where my problem is. My problem comes from a page that I
    wrote in my inefficient/without error handling code writing days. I'm
    pretty good about handling errors nowadays, but I find myself chasing the
    ghosts of coding past. And considering that there's at least 50 different
    websites on the server, I was hoping that there could be an easier way to
    find the cause of the error than to manually go through every asp page on
    the server and make sure error handling is handled properly.


    "Bob Barrows" <reb01501@NOyahoo.SPAMcom> wrote in message
    news:ek2AwXNmDHA.988@TK2MSFTNGP10.phx.gbl...
    > Rollin 4 Eva wrote:
    > > "Aaron Bertrand - MVP" <aaron@TRASHaspfaq.com> wrote in message
    > > news:eIIQG2AmDHA.2456@TK2MSFTNGP09.phx.gbl...
    >
    > >
    > > OK try running this code on your server and tell me this doesn't
    > > create an endless loop.
    > > <%@ Language=VBScript %>
    > > set rsTemp = conn.execute("some sql syntax that does nothing")
    >
    > I'd like to try this but I have no idea what "some sql syntax that does
    > nothing" means. If you mean to use a statement that raises an error, well,
    > you would want to detect that error before attempting to loop through a
    > recordset wouldn't you? Since you are using On Error Resume Next, then it
    > seems that it would seem logical to use
    >
    > If err <> 0 then
    > 'handle the error
    > else
    > do until rsTemp.EOF
    > 'etc
    > loop
    > end if
    >
    > wouldn't it?
    >
    > Bob Barrows
    >
    >
    > --
    > Microsoft MVP -- ASP/ASP.NET
    > Please reply to the newsgroup. The email account listed in my From
    > header is my spam trap, so I don't check it very often. You will get a
    > quicker response by posting to the newsgroup.
    >
    >

    Rollin 4 Eva Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139