httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@gmail.com>
Subject Re: [users@httpd] Windows Apache 2.4.9 restarts itself
Date Wed, 09 Jul 2014 11:48:42 GMT
On Wed, Jul 9, 2014 at 7:36 AM, Mar Imp <marimpimp@gmail.com> wrote:

> hi,
>
> this is the answer I got from an apachelounge guy:
>
>
> Does not build with the patch at
>
> http://svn.apache.org/viewvc?view=revision&revision=1606368
>
>
>
> Error    85    error C2065: 'my_generation' : undeclared identifier
>
> E:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    1051
>
> Error    86    error C2065: 'my_generation' : undeclared identifier
>
> E:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    1076
>
>
>

Interesting...   It looks like they picked up other code from httpd trunk
instead of just picking up that one patch.  (my_generation is in trunk but
not part of that patch.)

As it turns out, the patch is now integrated into the 2.4.x branch for
2.4.10 (coming up in the next week or two).  They can use this file
unchanged/unpatched with 2.4.9:

http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/mpm/winnt/child.c?view=co

or just wait for 2.4.10.

Thanks for trying!



> 138    IntelliSense: a value of type "void *" cannot be assigned to an
>
> entity of type "core_server_config *"
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    315
>
> 139    IntelliSense: a value of type "void *" cannot be assigned to an
>
> entity of type "char *"
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    458
>
> 140    IntelliSense: a value of type "void *" cannot be assigned to an
>
> entity of type "sockaddr *"
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    632
>
> 141    IntelliSense: a value of type "void *" cannot be assigned to an
>
> entity of type "sockaddr *"
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    635
>
> 142    IntelliSense: a value of type "void *" cannot be used to
> initialize
>
> an entity of type "winnt_conn_ctx_t *"
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    789
>
> 143    IntelliSense: a value of type "PVOID" cannot be assigned to an
> entity
>
> of type "apr_bucket *"    e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c
>
>
> 791
>
> 144    IntelliSense: a value of type "PVOID" cannot be assigned to an
> entity
>
> of type "apr_bucket *"    e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c
>
>
> 842
>
> 145    IntelliSense: a value of type "HANDLE" cannot be assigned to an
>
> entity of type "HANDLE *"
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    1040
>
> 146    IntelliSense: identifier "my_generation" is undefined
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    1051
>
> 147    IntelliSense: identifier "my_generation" is undefined
>
> e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c    1076
>
> 148    IntelliSense: a value of type "void *" cannot be assigned to an
>
> entity of type "int *"    e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c
>
>
> 1082
>
> 149    IntelliSense: a value of type "void *" cannot be assigned to an
>
> entity of type "int *"    e:\VC11\Win64\httpd-2.4.9\server\mpm\winnt\child.c
>
>
> 1330
>
>
>
> 2014-06-28 17:06 GMT+02:00 Jeff Trawick <trawick@gmail.com>:
>
> On Fri, Jun 27, 2014 at 7:53 AM, Jeff Trawick <trawick@gmail.com> wrote:
>>
>>> On Thu, Jun 26, 2014 at 4:18 AM, Mar Imp <marimpimp@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Thank you for the response!
>>>>
>>>> I looked into child.c, and see that the first line in Error log:
>>>> (OS 6)The handle is invalid.  : AH00356: Child: WAIT_FAILED --
>>>> shutting down server
>>>> comes from:
>>>> child.c Line 1125+: rv = WaitForMultipleObjects(num_events, (HANDLE
>>>> *)child_events, FALSE, ……
>>>> This is the place that causes the restart.
>>>>
>>>
>>> Right...  The other code I pointed out is what makes this call different
>>> than before.
>>>
>>>
>>>
>>>>
>>>> The second line in the error log:
>>>> (OS 10038)An operation was attempted on something that is not a
>>>> socket.  : AH00344: accept() failed.
>>>> comes from:
>>>> child.c Line 641+: if (context->accept_socket == INVALID_SOCKET)
>>>> I guess the second line in the error log is just a consequence of the
>>>> server shutting down?
>>>>
>>>
>>> I expect so.
>>>
>>>
>>>>
>>>>
>>>> no, I can’t build httpd. It would be great if you could provide a
>>>> patched version that I could install in _production_ environment.
>>>>
>>>> I can’t reproduce the error on a test server, I can just install the
>>>> version on a productive server, and wait for the error to occur. The
>>>> error occurs sporadically.
>>>>
>>>> It is essential that the patch included in the build doesn’t break
>>>> things (particularly the ability of apache to restart when an error
>>>> happens).
>>>>
>>>
>>> The Apache Lounge folks would need to run the build for you to ensure
>>> that it has any patches you're currently using and that the toolchain is in
>>> sync.
>>>
>>>  Right now I hope to make some permanent changes in the next couple of
>>> days to improve diagnostics in this area and commit the changes to httpd
>>> trunk.  At that point you might be able to get the Apache Lounge folks to
>>> roll them into a special build.  ???
>>>
>>>
>> Here are the diagnostic changes I added:
>>
>> http://svn.apache.org/viewvc?view=revision&revision=1606368
>>
>> Perhaps the Apache Lounge folks can get you a build of 2.4.9 with that in
>> it.
>>
>>
>>>
>>>
>>>>
>>>> As you found out, I use the apachelounge-build atm.
>>>>
>>>> Thank you for your help!
>>>>
>>>> Kind regards
>>>> Maria Imp
>>>>
>>>> 2014-06-24 15:59 GMT+02:00 Jeff Trawick <trawick@gmail.com>:
>>>> > On Tue, Jun 24, 2014 at 9:36 AM, Mar Imp <marimpimp@gmail.com>
wrote:
>>>> >>
>>>> >> I face the problem, that Apache restarts itself unexpecteldy without
>>>> >> obvious reason.
>>>> >>
>>>> >> -> (OS 6)The handle is invalid.  : AH00356: Child: WAIT_FAILED
--
>>>> >> shutting down server
>>>> >> -> (OS 10038)An operation was attempted on something that is
not a
>>>> >> socket.  : AH00344: accept() failed.
>>>> >>
>>>> >> Apache Version:
>>>> >>   * Problem occurs on 2.4.9, both VC10 and VC11 compiled ones
>>>> >>   * Problem does NOT occur on 2.4.4
>>>> >> Operating System:
>>>> >>   * Microsoft Windows Server 2012 Standard
>>>> >>
>>>> >> The problem occurs since the Apache upgrade from 2.4.4 to 2.4.9.
>>>> >> At this moment I reverted to 2.4.4 again because the random restarts
>>>> >> cause downtimes.
>>>> >>
>>>> >>
>>>> >> Relevant configuration settings:
>>>> >> ThreadsPerChild 300
>>>> >> AcceptFilter http none
>>>> >> AcceptFilter https none
>>>> >> EnableSendfile off
>>>> >> EnableMMAP off
>>>> >>
>>>> >>
>>>> >> Apache works as a caching reverse proxy (mod_cache_disk)
>>>> >>
>>>> >>
>>>> >> Typical logfile fragment:
>>>> >> [log]
>>>> >> [Fri May 23 07:53:58.344457 2014] [mpm_winnt:crit] [pid 42540:tid
>>>> 380]
>>>> >> (OS 6)The handle is invalid.  : AH00356: Child: WAIT_FAILED --
>>>> >> shutting down server
>>>> >> [Fri May 23 07:54:03.757607 2014] [mpm_winnt:warn] [pid 42540:tid
>>>> >> 4212] (OS 10038)An operation was attempted on something that is
not a
>>>> >> socket.  : AH00344: accept() failed.
>>>> >> [Fri May 23 07:54:30.288807 2014] [mpm_winnt:notice] [pid 42540:tid
>>>> >> 380] AH00362: Child: Waiting 270 more seconds for 5 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 07:55:00.329552 2014] [mpm_winnt:notice] [pid 42540:tid
>>>> >> 380] AH00362: Child: Waiting 240 more seconds for 1 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 07:55:30.370221 2014] [mpm_winnt:notice] [pid 42540:tid
>>>> >> 380] AH00362: Child: Waiting 210 more seconds for 1 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 07:55:47.893020 2014] [mpm_winnt:notice] [pid 42540:tid
>>>> >> 380] AH00364: Child: All worker threads have exited.
>>>> >> [Fri May 23 07:55:48.010131 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00428: Parent: child process 42540 exited with status 0 --
>>>> >> Restarting.
>>>> >> [Fri May 23 07:55:48.801890 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00455: Apache/2.4.9 (Win64) OpenSSL/1.0.1g configured --
>>>> >> resuming normal operations
>>>> >> [Fri May 23 07:55:48.801890 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00456: Apache Lounge VC10 Server built: Mar 17 2014 12:11:31
>>>> >> [Fri May 23 07:55:48.801890 2014] [core:notice] [pid 36544:tid 516]
>>>> >> AH00094: Command line: 'C:\\Apache24\\bin\\httpd.exe -d C:/Apache24'
>>>> >> [Fri May 23 07:55:48.802891 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00418: Parent: Created child process 33888
>>>> >> [Fri May 23 07:55:50.263291 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00354: Child: Starting 300 worker threads.
>>>> >> [Fri May 23 11:58:09.232804 2014] [mpm_winnt:crit] [pid 33888:tid
>>>> 380]
>>>> >> (OS 6)The handle is invalid.  : AH00356: Child: WAIT_FAILED --
>>>> >> shutting down server
>>>> >> [Fri May 23 11:58:10.710220 2014] [mpm_winnt:warn] [pid 33888:tid
>>>> >> 5008] (OS 10038)An operation was attempted on something that is
not a
>>>> >> socket.  : AH00344: accept() failed.
>>>> >> [Fri May 23 11:58:28.546422 2014] [mpm_winnt:warn] [pid 33888:tid
>>>> >> 3320] (OS 10038)An operation was attempted on something that is
not a
>>>> >> socket.  : AH00344: accept() failed.
>>>> >> [Fri May 23 11:58:41.169814 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00362: Child: Waiting 270 more seconds for 8 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 11:59:11.208219 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00362: Child: Waiting 240 more seconds for 3 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 11:59:41.245781 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00362: Child: Waiting 210 more seconds for 1 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 12:00:11.277011 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00362: Child: Waiting 180 more seconds for 1 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 12:00:41.305795 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00362: Child: Waiting 150 more seconds for 1 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 12:01:11.335526 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00362: Child: Waiting 120 more seconds for 1 worker threads
to
>>>> >> finish.
>>>> >> [Fri May 23 12:01:15.840009 2014] [mpm_winnt:notice] [pid 33888:tid
>>>> >> 380] AH00364: Child: All worker threads have exited.
>>>> >> [Fri May 23 12:01:15.953118 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00428: Parent: child process 33888 exited with status 0 --
>>>> >> Restarting.
>>>> >> [Fri May 23 12:01:16.820952 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00455: Apache/2.4.9 (Win64) OpenSSL/1.0.1g configured --
>>>> >> resuming normal operations
>>>> >> [Fri May 23 12:01:16.820952 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00456: Apache Lounge VC10 Server built: Mar 17 2014 12:11:31
>>>> >> [Fri May 23 12:01:16.820952 2014] [core:notice] [pid 36544:tid 516]
>>>> >> AH00094: Command line: 'C:\\Apache24\\bin\\httpd.exe -d C:/Apache24'
>>>> >> [Fri May 23 12:01:16.820952 2014] [mpm_winnt:notice] [pid 36544:tid
>>>> >> 516] AH00418: Parent: Created child process 24388
>>>> >> [Fri May 23 12:01:18.308375 2014] [mpm_winnt:notice] [pid 24388:tid
>>>> >> 376] AH00354: Child: Starting 300 worker threads.
>>>> >> [/log]
>>>> >>
>>>> >> Have you got any idea, why this can happen?
>>>> >>
>>>> >> In the windows eventlog I can't find any relevant entries at the
time
>>>> >> that apache restarts.
>>>> >>
>>>> >> Please help if you can
>>>> >>
>>>> >> Kind Regards
>>>> >> Maria Imp
>>>> >>
>>>> >> ---------------------------------------------------------------------
>>>> >> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>>>> >> For additional commands, e-mail: users-help@httpd.apache.org
>>>> >>
>>>> >
>>>> > I just found this thread too, which also contains this information
>>>> from you
>>>> > a few weeks ago:
>>>> >
>>>> > https://www.apachelounge.com/viewtopic.php?p=27848
>>>> >
>>>> > The apparent code change that triggered this is that the httpd child
>>>> now
>>>> > detects when the httpd parent crashes or is terminated forcefully.
>>>>  It would
>>>> > appear that this process handle is no longer valid after some period
>>>> of
>>>> > time:
>>>> >
>>>> >  child_events[2] = OpenProcess(SYNCHRONIZE, FALSE, parent_pid);
>>>> >  num_events = 3;
>>>> >
>>>> > Some of the other logs in the apachelounge.com post show that the
>>>> parent was
>>>> > able to successfully restart the child after this error, so
>>>> presumably the
>>>> > handle doesn't go bad simply because the parent exits.
>>>> >
>>>> > Are you able to build httpd yourself?  I could prepare a test patch
to
>>>> > narrow down what is going wrong.
>>>> >
>>>> > --
>>>>
>>>

Mime
View raw message