You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(6) |
Nov
(8) |
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(19) |
Feb
(15) |
Mar
(10) |
Apr
(8) |
May
(7) |
Jun
(9) |
Jul
(13) |
Aug
(31) |
Sep
(111) |
Oct
(52) |
Nov
(72) |
Dec
(42) |
| 2006 |
Jan
(21) |
Feb
(32) |
Mar
(33) |
Apr
(24) |
May
(15) |
Jun
(40) |
Jul
(32) |
Aug
(19) |
Sep
(38) |
Oct
(37) |
Nov
(63) |
Dec
(37) |
| 2007 |
Jan
(18) |
Feb
(39) |
Mar
(69) |
Apr
(49) |
May
(71) |
Jun
(59) |
Jul
(71) |
Aug
(85) |
Sep
(46) |
Oct
(14) |
Nov
(25) |
Dec
(56) |
| 2008 |
Jan
(24) |
Feb
(77) |
Mar
(104) |
Apr
(44) |
May
(41) |
Jun
(11) |
Jul
(31) |
Aug
(59) |
Sep
(44) |
Oct
(86) |
Nov
(66) |
Dec
(93) |
| 2009 |
Jan
(88) |
Feb
(41) |
Mar
(49) |
Apr
(135) |
May
(22) |
Jun
(31) |
Jul
(60) |
Aug
(71) |
Sep
(76) |
Oct
(18) |
Nov
(52) |
Dec
(20) |
| 2010 |
Jan
(8) |
Feb
(50) |
Mar
(35) |
Apr
(48) |
May
(46) |
Jun
(84) |
Jul
(38) |
Aug
(61) |
Sep
(51) |
Oct
(31) |
Nov
(17) |
Dec
(18) |
| 2011 |
Jan
(51) |
Feb
(14) |
Mar
(17) |
Apr
(23) |
May
(15) |
Jun
(11) |
Jul
(5) |
Aug
(5) |
Sep
(15) |
Oct
(8) |
Nov
(5) |
Dec
(25) |
| 2012 |
Jan
(2) |
Feb
(4) |
Mar
(6) |
Apr
(9) |
May
(27) |
Jun
(32) |
Jul
(36) |
Aug
(10) |
Sep
(16) |
Oct
(3) |
Nov
(13) |
Dec
(7) |
| 2013 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
(1) |
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(4) |
Oct
(2) |
Nov
(1) |
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
(2) |
Apr
(1) |
May
(2) |
Jun
(9) |
Jul
(5) |
Aug
(2) |
Sep
(4) |
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
(3) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
(6) |
Feb
|
Mar
|
Apr
(10) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
| 2018 |
Jan
(2) |
Feb
(5) |
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
| 2021 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2023 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
|
|
2
|
3
(2) |
4
(17) |
5
(5) |
6
(7) |
7
(11) |
8
(11) |
|
9
(3) |
10
(3) |
11
(9) |
12
(6) |
13
(11) |
14
(3) |
15
(2) |
|
16
(1) |
17
(4) |
18
|
19
|
20
(2) |
21
(2) |
22
(3) |
|
23
|
24
|
25
|
26
|
27
(1) |
28
(1) |
29
|
|
30
|
31
|
|
|
|
|
|
|
From: <php...@li...> - 2008-03-15 12:54:10
|
Hi,
I was able to reproduce this problem with Apache .2.8 (.2.6 doesn't have this problem).
Since Apache 2.2.8 the PHP MINIT() is called exactly once and the MSHUTDOWN() function is called
more than once, violating the PHP module contract.
In other words: PHP does not work anymore with Apache 2.2.8. Please use some other HTTP server or
some other SAPI, for example FastCGI.
I have the gut feeling that this is a long-time PHP bug; they've probably implemented the wrong
callback. PHP's MSHUTDOWN() shouldn't be called for each child, it should be called when the whole
HTTP server terminates.
A quick workaround is to store the PID in the MINIT() function (see java.c) and ignore any
MSHUTDOWN() where getpid() != pid. Something like this:
In java.c:
int pid;
MINIT()
{
pid = getpid();
...
}
MSHUTDOWN()
{
if (getpid() != pid) return SUCCESS; // work around for a Apache 2.2.8 or PHP bug.
...
}
Note that all PHP modules have the same problem, so I suggest to file a bug report to either the
PHP or the Apache team.
Regards,
Jost Boekemeier
E-Mails jetzt auf Ihrem Handy.
www.yahoo.de/go
|
|
From: <php...@li...> - 2008-03-15 11:21:40
|
On Fri, 2008-03-14 at 18:11 +0100,
php...@li... wrote:
> Hi,
>
> the patch is invalid, and I doubt that this is a PHP or PHP/Java Bridge issue.
>
> Apache, when configured to use the prefork MPM, starts one Java process from the PHP MINIT() hook
> and terminates it in the PHP MSHUTDOWN() hook.
>
> The MINIT() hook must be called *before* any worker child is spawned. And the MSHUTDOWN() hook
> must be called *after* all childs have been terminated.
>
> Any stress test, which might kill childs at various levels, must not touch the Java child spawned
> from the MINIT() hook.
>
> This means that either:
>
> a) you have found a bug in Apache
>
> b) this is a misconfiguration: for example java.so loaded from the PHP dl() function
>
> c) this is a misconfiguration: for example mod_php.so running in a non PREFORK MPM.
>
>
> Regards,
> Jost Boekemeier
hi,
ok, you are right whith the patch. this is probalbe bougous..
but look this code (bind.c)
static void wait_for_daemon(void) {
....removed...
for(i=0; i<2; i++) {
struct timeval timeval = {2l, 0};
if(select(1+EXT_GLOBAL(cfg)->err, &rfds, 0, 0, &timeval) > 0)
break;
kill(EXT_GLOBAL(cfg)->cid, sig[i]);
}
if((read(EXT_GLOBAL(cfg)->err, &err, sizeof err))!=sizeof err) err=0;
//printf("VM terminated with code: %ld\n", err);
close(EXT_GLOBAL(cfg)->err);
EXT_GLOBAL(cfg)->err=0;
#else
s_kill(0); /* always -9 on windows */
#endif
}
what if select returns an error? you exit from loop and go ahead to
read, and this blocks if there are nothing to read. or?
anyway, i will make some test with debugging enabled...
some info:
java.so is loaded from php.ini with extension=java.so
i have only prefork mpm compiled, the apache configuration is a default
config with the following changes:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
Include conf/extra/httpd-info.conf is switched on with ExtendedStatus On
Attaching to program: `/usr/local/bin/httpd', process 58895.
Reading symbols for shared libraries +++++++++.................... done
0x00007fff82976384 in read ()
(gdb) whe
#0 0x00007fff82976384 in read ()
#1 0x00000001006e90d6 in java_shutdown_library ()
#2 0x00000001006de925 in zm_shutdown_java ()
#3 0x000000010128abfb in module_destructor ()
#4 0x0000000101292621 in zend_hash_apply_deleter ()
#5 0x0000000101292778 in zend_hash_graceful_reverse_destroy ()
#6 0x0000000101287397 in zend_shutdown ()
#7 0x0000000101241fdf in php_module_shutdown ()
#8 0x0000000101242089 in php_module_shutdown_wrapper ()
#9 0x000000010131e7f1 in php_apache_child_shutdown ()
#10 0x000000010022d299 in apr_pool_destroy ()
#11 0x0000000100057eb6 in clean_child_exit ()
#12 0x00000001000584d2 in child_main ()
#13 0x000000010005869a in make_child ()
#14 0x000000010005874b in startup_children ()
#15 0x0000000100059900 in ap_mpm_run ()
#16 0x0000000100007b68 in main ()
Server version: Apache/2.2.8 (Unix)
Server built: Mar 11 2008 16:13:40
Server's Module Magic Number: 20051115:11
Server loaded: APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
Loaded Modules:
core_module (static)
authn_file_module (static)
authn_default_module (static)
authz_host_module (static)
authz_groupfile_module (static)
authz_user_module (static)
authz_default_module (static)
auth_basic_module (static)
include_module (static)
filter_module (static)
log_config_module (static)
env_module (static)
unique_id_module (static)
setenvif_module (static)
ssl_module (static)
mpm_prefork_module (static)
http_module (static)
mime_module (static)
status_module (static)
autoindex_module (static)
asis_module (static)
cgi_module (static)
negotiation_module (static)
dir_module (static)
actions_module (static)
userdir_module (static)
alias_module (static)
so_module (static)
info_module (shared)
php5_module (shared)
php 5.2.5 configuration:
'./configure' '--prefix=/usr/local'
'--with-apxs2=/usr/local/bin/apxs'
'--with-pgsql=/usr/local'
'--enable-ftp'
'--with-zlib'
'--enable-mbstring'
'--enable-sockets'
'--with-iconv'
Best regards,
Attila Soki
|