IBM i Apache startup will not complete, PHP keeps restarting, space offset error

Follow

Issue

On start up, the PHP child jobs will not start in Apache.  Instead, the PHP parent job continually crashes and restarts.  Job logs for these jobs may show messages similar to this one:

Space offset X'00000000' or X'00000000ADE58D20' is outside 
current limit for object ZENDSVR6  QTMHHTTP  248327.

If this is happening, it is important to shut down Apache quickly, as the job logs will accumulate rapidly.

Note: If this happens right after an update, it may be that PHP was not updated:

Environment

Zend Server for IBM i

Resolution

A common reason for a space offset error is some damage in a shared memory object.  The reset function provided with Zend Server for IBM i will delete and recreate the shared memory objects, and can often resolve this issue.  The following article tells how to do the reset:

Reset Zend Server for IBM i

Note: Please note that you MUST sign on as QSECOFR to successfully perform the reset.
Your *SECOFR class profile may make you a virtual deity on your IBM i, but it cannot give you UID 0.  No, for this, only QSECOFR, and no other, shall be designated UID 0.  It is only by UID 0 that PASE shall know you as the one with power, and without UID 0, PASE will deny you the reset.  Ever has it been, and always shall it be.

If the reset fails to fix the issue, you can perform a clean install:

Perform a clean install of Zend Server for IBM i 

There is almost nothing a clean install won't fix, including this issue.

Details

To determine if this is happening on your system, please display the QHTTPSVR subsystem active jobs:

wrkactjob sbs(qhttpsvr)

Apache server instances that run PHP will have jobs similar to these (ZENDSVR6 is the default Apache instance configured for Zend Server, so that is the job name displayed here):

ZENDSVR6     QTMHHTTP    BCH      .0  PGM-QZHBMAIN     SIGW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-QZSRLOG      SIGW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-QZSRLOG      SIGW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-QZSRHTTP     SIGW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-zfcgi        SELW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-php-cgi.bi   THDW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-php-cgi.bi   TIMW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-php-cgi.bi   TIMW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-php-cgi.bi   TIMW
ZENDSVR6     QTMHHTTP    BCI      .0  PGM-php-cgi.bi   TIMW

The first jobs that are running functions that start with 'Q' are Apache jobs.  The job that runs zfcgi is the FastCGI gateway job that calls PHP.  The first job running php-cgi.bi is the parent PHP job.  The normal status for this job is THDW.  The rest of the jobs running php-cgi.bi are the child PHP jobs.

If this issue is happening to you, there will not be any child jobs.  The last job shown will be the parent.  If you use F5 rapidly over and over, you will notice the parent job is constantly failing and respawning.  If job logging is active for these jobs, you can look into the job log to see if the space offset error is there.  If you are not getting job logs, you can set the logging levels for the FastCGI job (zfcgi) and those levels will be used in subsequent parent jobs that start up.  Be careful, because these jobs are starting up rapidly, and you can quickly accumulate far too many job logs.

 

 

Have more questions? Submit a request

Comments

Powered by Zendesk