Consultor Eletrônico



Kbase P99964: APW/BIW/AIW generates SYSTEM ERROR: Unable to kill parent process, errno=4 . (1680) on Linux
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   2/4/2010
Status: Verified

SYMPTOM(s):

1680 error message generated on start of page writer(s)

SYSTEM ERROR: Unable to kill parent process, errno= 4. (1680)

zombie _mproshut process left which cannot be killed

zombie _mprshut process can only be cleared with system reboot

proapw throws error 1680 with errno 4

probiw causes error 1680 with errno 4

proaiw generates error 1680 with errno 4

FACT(s) (Environment):

Progress 9.1x
Linux Intel

CAUSE:

Bug# OE00116665

FIX:

Upgrade to 9.1E or higher release of Progress/OpenEdge.

As a workaround:

Start all pagewriters as a background process:



probiw dbname &
proapw dbname &
proaiw dbname &Run a script in the background scheduled to run for the same time period as the database startup, that parses the database logfile for error 1680 and on occurence, kills the process.

NOTE: whichever page-writer is killed will therefore not be running until it is then manually started for that particular database session.

EXAMPLE:


#logchk.sh
#!/bin/bash

DBNAME=mydb
LOOPTIME=60
icount=0
count=1
DATESTAMP=`date +%y%m%d`
TIMESTAMP=`date +%H%M%S`

while test "$count" -le "30"
do


ecount=`grep "(1680)" $DBNAME.lg | wc -l`
if [ $icount -lt "$ecount" ]
then


echo ${DATESTAMP} >> ./1680err.log
echo ${TIMESTAMP} >> ./1680err.log
echo $0: 1680 error detected for database $DBNAME >> ./err1680.log
kill -8 `ps -ef | grep defunct | awk '{print $2}'`

exit
else


echo ${DATESTAMP} >> ./1680out.log
echo ${TIMESTAMP} >> ./1680out.log
echo $0: all okay so far for database $DBNAME >> ./1680out.log
fi

icount=$ecount
count=`expr $count + 1`
sleep $LOOPTIME
done