« Previous Next »

Thread: 0x80004005 error IIS6 PHP ISAPI

Last post 10-14-2009 5:00 AM by pierrejoye. 7 replies.

Average Rating Rate It (5)

RSS

Page 1 of 1 (8 items)

Sort Posts:

  • 08-19-2009, 6:54 AM

    • ltu
    • Top 500 Contributor
    • Joined on 07-01-2008, 2:23 PM
    • Posts 24

    0x80004005 error IIS6 PHP ISAPI

    I've been having odd problems with PHP for some time now while running it in ISAPI mode or FastCGI for that matter. I get errors in FastCGI outputted ot the user with the same 80004005 error code as ISAPI seems to show in this. I've managed to capture a mini dump out of the blue for a second chance exception since apparently first chance exceptions are too common(?)

    The information presented in the dump is below.

    Entry point   0x00338900
    Create time   8/19/2009 1:58:42 AM
    Time spent in user mode   0 Days 0:0:10.0
    Time spent in kernel mode   0 Days 0:0:3.250

    Function     Arg 1     Arg 2     Arg 3   Source
    0x014efe42     00000000     00000000     00000000   


    #Detailed stack corruption analysis for thread 5
    Call stack with StackWalk#

    Index Return Address
    1 0x014efe42

    Call stack - Heuristic

    Index Stack Address Child EBP Return Address Destination
    1 0x00000000 0x00000000 0x014efe42 0x00000000
    2 0x014ef8a8 0x77bc002b msvcrt!longjmp+41 0x00000000
    3 0x014ef8b0 0x014ef870 php5ts!_zend_bailout+ad msvcrt!longjmp
    4 0x014ef8bc 0xffffffff php5ts!php_handle_aborted_connection+52
    php5ts!_zend_bailout
    5 0x014ef8c8 0x00000823 php5isapi!sapi_isapi_ub_write+3c
    php5ts!php_handle_aborted_connection
    6 0x014ef8cc 0x1000117c php5isapi!php_isapi_report_exception+99
    php5isapi!sapi_isapi_ub_write
    7 0x014ef8f8 0x00000000 php5isapi!HttpExtensionProc+2e0
    php5isapi!php_isapi_report_exception
    8 0x014efa08 0x014efeec w3core!W3_STATE_AUTHENTICATION::DoWork+8d5
    0x00000000
    9 0x014efad8 0x014efae4
    w3core!TOKEN_CACHE_ENTRY::QueryImpersonationToken+16c
    w3core!TOKEN_CACHE_ENTRY::QueryDisBackupPriToken
    10 0x014efb08 0x014efb34 w3cache!OBJECT_CACHE::IncHits+18 0x00000000
    11 0x014efb18 0x01bd2440 w3cache!CACHE_ENTRY::Checkout+38
    w3cache!OBJECT_CACHE::IncHits
    12 0x014efb20 0x01bd2440 w3core!W3_FILE_INFO::Checkout+79
    w3cache!CACHE_ENTRY::Checkout
    13 0x014efb38 0x014efb50 w3core!W3_URL_INFO::GetFileInfo+be
    w3core!W3_FILE_INFO::DoAccessCheck
    14 0x014efba8 0x00000000 w3core!W3_SITE::IncIsapiExtReqs+1e 0x00000000
    15 0x014efbb8 0x018411b8 w3core!W3_ISAPI_HANDLER::W3_ISAPI_HANDLER+13b
    w3core!W3_SITE::IncIsapiExtReqs
    16 0x014efbcc 0x014efec4 w3core!W3_CONTEXT::InternalDetermineHandler+5ae
    w3core!W3_ISAPI_HANDLER::W3_ISAPI_HANDLER
    17 0x014efe08 0x014efe24 w3isapi!ProcessIsapiRequest+214 0x00000000
    18 0x014efe28 0x014efe58 w3core!W3_ISAPI_HANDLER::IsapiDoWork+3fd
    w3isapi!ProcessIsapiRequest
    19 0x014efe5c 0x014efe78 w3core!W3_ISAPI_HANDLER::DoWork+b0
    w3core!W3_ISAPI_HANDLER::IsapiDoWork
    20 0x014efe7c 0x014efe98 w3core!W3_HANDLER::MainDoWork+16e 0x00000000
    21 0x014efe9c 0x014efea8 w3core!W3_CONTEXT::ExecuteCurrentHandler+53
    w3core!W3_HANDLER::MainDoWork
    22 0x014efeac 0x014efec4 w3core!W3_CONTEXT::ExecuteHandler+51
    w3core!W3_CONTEXT::ExecuteCurrentHandler
    23 0x014efec8 0x014efeec w3core!W3_STATE_HANDLE_REQUEST::DoWork+9a
    w3core!W3_CONTEXT::ExecuteHandler
    24 0x014efef0 0x014eff10 w3core!W3_MAIN_CONTEXT::DoWork+a6 0x00000000
    25 0x014eff14 0x014eff2c w3core!W3_MAIN_CONTEXT::OnNewRequest+55
    w3core!W3_MAIN_CONTEXT::DoWork
    26 0x014eff30 0x014eff48 w3dt!UL_NATIVE_REQUEST::DoStateProcess+48
    w3core!W3_MAIN_CONTEXT::OnNewRequest
    27 0x014eff3c 0x0183faa0 w3dt!UL_NATIVE_REQUEST::DoWork+7f
    w3dt!UL_NATIVE_REQUEST::DoStateProcess
    28 0x014eff4c 0x014eff5c w3dt!OverlappedCompletionRoutine+1a 0x00000000

    29 0x014eff60 0x014eff8c w3tp!THREAD_POOL_DATA::ThreadPoolThread+73
    0x00000000
    30 0x014eff90 0x014effa0 w3tp!THREAD_POOL_DATA::ThreadPoolThread+24
    w3tp!THREAD_POOL_DATA::ThreadPoolThread
    31 0x014effa4 0x014effb8 w3tp!THREAD_MANAGER::ThreadManagerThread+39
    0x00000000
    32 0x014effbc 0x014effec kernel32!BaseThreadStart+34 0x00000000
    In
    w3wp__PID__23748__Date__08_19_2009__Time_02_24_07AM__102__Second_Chance_
    Exception_C0000005.dmp the assembly instruction at 0x014efe42 which does
    not correspond to any known native module in the process has caused an
    access violation exception (0xC0000005) when trying to write to memory
    location 0x77bcac67 on thread 5

     ##################

    Now, does any one have any clue what the begeezers is going on? I'm not even sure if I did the debugging process correctly, but so far it looks like what everyone else supplied. Is this an IIS issue or is it a PHP issue? For those of you who skimmed over the opening statement I have used FastCGI in IIS6 and the same problem exists. The only difference is it just gives an even more generic process unexpectedly exited error.

  • 08-22-2009, 11:18 AM In reply to

    • ltu
    • Top 500 Contributor
    • Joined on 07-01-2008, 2:23 PM
    • Posts 24

    Re: 0x80004005 error IIS6 PHP ISAPI

    After some messing around I've discovered that if MySQL for some reason shuts down, or an application lags during the communication, the FastCGI process can exit/crash randomly for no reason other than that.

    I've been able to reproduce errors by manually shutting down the MySQL server and making high connections/s to a script that would make FastCGI fail. The same with the ISAPI, but pierrejoye made it clear that PHP is not going to fix anything with ISAPI, even if it is the culprit. Hopefully this is just a problem with PHP or MySQL and not IIS's FastCGI extension. I don't want to pay another 35USD to report a problem and never get a response to the outcome of it.

    This problem is reproducible as well using SOLR and setting it off and making tons of new connections to the script and doing a query that will never send a ping response. However, MySQL is a factor in this as well as a connection is made to the server and hasn't been tested without.

  • 08-23-2009, 12:50 PM In reply to

    • pierrejoye
    • Top 75 Contributor
    • Joined on 02-12-2009, 10:52 PM
    • Germany
    • Posts 73

    Re: 0x80004005 error IIS6 PHP ISAPI

    Can you try to provide a script to reproduce the crash please?(keep it small, attach the necessary sql data if necessary, like simple create table+insert).

     

    You can keep using fastcgi, it is way more stable than ISAPI and we won't fix ISAPI issues anyway :-)

    --
    Pierre

    http://blog.thepimp.net | http://windows.php.net
  • 08-23-2009, 3:36 PM In reply to

    • ltu
    • Top 500 Contributor
    • Joined on 07-01-2008, 2:23 PM
    • Posts 24

    Re: 0x80004005 error IIS6 PHP ISAPI

    It appears to actually be a problem with SOLR+MySQL combined, there is no way to keep it small. I'll just have to make sure MySQL and the Java Jetty server never fail on me.
  • 10-07-2009, 9:01 PM In reply to

    • ltu
    • Top 500 Contributor
    • Joined on 07-01-2008, 2:23 PM
    • Posts 24

    Re: 0x80004005 error IIS6 PHP ISAPI

    I partially retract my statement about it being a problem with MySQL/SOLR not responding. Partially. I can reproduce the error 100% of the time if MySQL crashes and connections keep pouring in. Once the DB is restarted the dump is generated, the websites, for include()/require() files usually, display the access violation.

     I've forgotten about this thread and opened a new one, which probably should be merged. Then again, it is fine on its own.

    http://forums.iis.net/p/1161578/1919901.aspx

  • 10-08-2009, 5:04 AM In reply to

    Re: 0x80004005 error IIS6 PHP ISAPI

    Can you give a small repro please.

    Thanks,

    Don.

  • 10-14-2009, 1:42 AM In reply to

    • ltu
    • Top 500 Contributor
    • Joined on 07-01-2008, 2:23 PM
    • Posts 24

    Re: 0x80004005 error IIS6 PHP ISAPI

    http://bugs.php.net/bug.php?id=49191

     

    All you have to do is open a database connection to MySQL often enough (with a sleep(3)?) and it will occur.

  • 10-14-2009, 5:00 AM In reply to

    • pierrejoye
    • Top 75 Contributor
    • Joined on 02-12-2009, 10:52 PM
    • Germany
    • Posts 73

    Re: 0x80004005 error IIS6 PHP ISAPI

    See my comment in this bug, please use the Non Thread Safe version of PHP and the FastCGI interface with IIS, and see if this problem still happens.

    --
    Pierre

    http://blog.thepimp.net | http://windows.php.net
Page 1 of 1 (8 items)
Microsoft Communities