View Issue Details

IDProjectCategoryView StatusLast Update
0000640PHP for OS/2, ArcaOS & eComStation (PHP versions v8.x v7.x v5.x)Bugpublic2019-11-01 02:01
ReporterSteven Levine Assigned ToSteven Levine  
PrioritynormalSeveritycrashReproducibilitysometimes
Status closedResolutionfixed 
PlatformOS2/eCSOSOS/2 or eComstationOS Version1.x 2.x or 4.5
Product Version5.4.36 
Target Version5.4.36 
Summary0000640: php traps intermittently, but consistently at __efree + 2A during stress testing
DescriptionWhile stress testing http 2.2.29, php 5.4.36 and mysql 5.1.72 with ab.exe php intermittently, but consistently traps as shown by the attached .trp file.

More analysis is needed, but it the exception appears to occur while ap_mpm_child_main is terminating the process. It's not yet clear whether this is a normal termination.
TagsNo tags attached.
Attached Files
0C81_01.TRP (24,443 bytes)

Activities

psmedley

2014-12-29 19:58

administrator   ~0002976

https://bugs.php.net/bug.php?id=66036 almost sounded promising... but the fix was commited in September and should already be in 5.4.33 and above already..

psmedley

2014-12-29 20:08

administrator   ~0002977

There are some differences for OS/2 in modphp:

These are legacy patches from Brian best I recall. Looks like the modules tries to use more threads on OS/2???

@@ -451,13 +450,20 @@
         apache2_sapi_module.php_ini_path_override = apache2_php_ini_path_override;
     }
 #ifdef ZTS
+#ifndef __OS2__
     tsrm_startup(1, 1, 0, NULL);
+#else
+ {
+ int threads;
+ ap_mpm_query(AP_MPMQ_HARD_LIMIT_THREADS, &threads);
+ tsrm_startup(threads, 1, 0, NULL);
+ }
+#endif
 #endif
     sapi_startup(&apache2_sapi_module);
     apache2_sapi_module.startup(&apache2_sapi_module);
     apr_pool_cleanup_register(pconf, NULL, php_apache_server_shutdown, apr_pool_cleanup_null);
     php_apache_add_version(pconf);

psmedley

2014-12-29 21:02

administrator   ~0002979

http://smedley.id.au/tmp/modphp5-20141230.zip has the above change reverted to the standard code

Steven Levine

2014-12-29 23:26

manager   ~0002981

It seems to work about the same as the previous build. No traps yet, but I need to figure out which ab settings I used. I can say that

  ab -c40 -n2900 http://slamain/hello-db.php

seems error free as long as I wait a minute between test cycles. This is with

 MaxRequestsPerChild 1000

to limit fragmentation.

I did trigger one shutdown by not waiting long enough between ab run:

[Mon Dec 29 15:05:54 2014] [notice] Apache/2.2.29 (OS/2) PHP/5.4.36 configured -- resuming normal operations
[Mon Dec 29 15:05:54 2014] [info] Server built: Dec 29 2014 07:52:35
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [debug] core.c(4023): [client 127.0.0.1] (OS 10055)No buffer space available: apr_socket_opt_set(APR_TCP_NODELAY)
[Mon Dec 29 15:10:54 2014] [info] [client 127.0.0.1] (OS 10055)No buffer space available: core_output_filter: writing data to the network
[Mon Dec 29 15:10:54 2014] [error] (OS 10055)No buffer space available: apr_socket_accept
[Mon Dec 29 15:10:54 2014] [error] (OS 10055)No buffer space available: apr_socket_accept
[Mon Dec 29 15:10:55 2014] [info] removed PID file D:/Internet/apache22/logs/httpd.pid (pid=5362)
[Mon Dec 29 15:10:55 2014] [info] pidSemaphoreOwner = 0, tidSemaphoreOwner = 0, ulRequestCount = 0l
[Mon Dec 29 15:10:55 2014] [notice] caught SIGTERM, shutting down

This is an httpd issue and I will update the appropriate ticket so that we consider adding sleep/retry logic.

Steven Levine

2019-11-01 02:01

manager   ~0003366

Closing as stale. Will create new ticket if issue reoccurs with new builds.

Issue History

Date Modified Username Field Change
2014-12-29 17:53 Steven Levine New Issue
2014-12-29 17:53 Steven Levine File Added: 0C81_01.TRP
2014-12-29 19:58 psmedley Note Added: 0002976
2014-12-29 20:08 psmedley Note Added: 0002977
2014-12-29 21:02 psmedley Note Added: 0002979
2014-12-29 23:26 Steven Levine Note Added: 0002981
2015-01-24 20:06 Steven Levine Assigned To => Steven Levine
2015-01-24 20:06 Steven Levine Status new => assigned
2019-11-01 02:01 Steven Levine Status assigned => closed
2019-11-01 02:01 Steven Levine Resolution open => fixed
2019-11-01 02:01 Steven Levine Note Added: 0003366