Monday, August 4, 2014

The RAS server doesn't start anymore and generates core dumps - SAP note1417326

Symptom

The Report Application Server (RAS) doesn't start anymore
Trying to start the RAS, it generates core dumps on the file system

Environment
All Unix servers
Business Objects Enterprise XI3.1

Reproducing the Issue

N/A

Cause

The registry used by the RAS has been corrupted


Resolution

If also with a new RAS server created from the CMC, the symptoms are the same, then using always the Business Objects unix account:

stop the BO processes (./stopservers.sh)
copy the attached registry_repair_script31.sh to the /bobje/ directory
check that this file has the following rights rwxr-xr-x (otherwise assign them with #chmod 0755 registry_repair_script31.sh)
make sure that no Business Objects processes are running or hanging in memory, otherwise kill them
go to the following directory
#cd /bobje/enterprise120//crpe/mw

move the current registry folder to a backup one
#mv registry registry-bck

go back to the /bobje/ directory
run the script provided
./registry_repair_script31.sh

make sure that the new registry folder created in /bobje/enterprise120//crpe/mw , has the same right (rwxr-xr-x) as the registry-bck (otherwise assign them with #chmod 0755 registry)
start the Business Objects servers with ./startservers.sh
now the RAS will successfully start
Note: If the script won't run and throws the error "bad interpreter /bin/sh^m", then you will need to change the file to unix format. To do this, do the following steps:

Load the script in vi
Type :set fileformat=unix (Don't forget the : )
Type :wq


SAVE THE (registry_repair_script31.sh) FILE WITH BELOW SCRIPT.


#!/bin/sh

# Setup the environment
. "setup/env.sh"

# load localized message strings
. "setup/env-locale.sh"

. "setup/setupfunctions.sh"

removeUTF8SpecificsForKorean
CURRENTNAME=`id | sed -e 's|).*$||' -e 's|^.*(||' `
restoreUTF8SpecificsForKorean

if [ "$BOBJEUSERNAME" -a "$BOBJEUSERNAME" != "$CURRENTNAME" ]; then
echo "$CCMUSERERROR1 $BOBJEUSERNAME"
echo "$CCMUSERERROR2 $CURRENTNAME"
sleep 1
echo "$HITENTER"
read GARBAGE
exit 0
fi

echo ${NOWREGISTERING}
# register a couple of MainWin files.
MWNO_SIGNAL_CATCHING=false
export MWNO_SIGNAL_CATCHING
if [ -f "$MWHOME"/../locale.reg ]; then
"$MWHOME"/bin-${MWCONFIG_NAME}_optimized/regedit -c "$MWHOME"/../locale.reg >/dev/null 2>&1
fi
if [ -f "$MWHOME"/../regupdate.reg ]; then
"$MWHOME"/bin-${MWCONFIG_NAME}_optimized/regedit -c "$MWHOME"/../regupdate.reg >/dev/null 2>&1
fi
if [ -f "$MWHOME"/../saserver.reg ]; then
"$MWHOME"/bin-${MWCONFIG_NAME}_optimized/regedit -c "$MWHOME"/../../saserver.reg >/dev/null 2>&1
fi
MWNO_SIGNAL_CATCHING=true
export MWNO_SIGNAL_CATCHING

OLDIFS=$IFS
IFS='
'


# For each file we need to register with regsvr32
REGSVR32LIST="
$MWHOME/../libexportmodeller${SHAREDLIBSUFFIX?}
$MWHOME/../libcrtslv${SHAREDLIBSUFFIX?}
$MWHOME/../libcrqe${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libEnterpriseFramework${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libInfoStore${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libcrlov${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libprompting${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libinfopluginmgr${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libscriptinghelpers${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libEnterpriseRepositoryAdaptor${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/auth/secEnterprise/libsecEnterprise${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/auth/secLDAP/libsecLDAP${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/desktop/CrystalEnterprise.Report/libReport${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/desktop/CrystalEnterprise.Folder/libFolder${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/libMDS${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/plugins/desktop/CrystalEnterprise.MetaData/libMetaDataPlugins${SHAREDLIBSUFFIX?}
$OLAPHOME/libcoutilities${SHAREDLIBSUFFIX?}
$OLAPHOME/libcodata${SHAREDLIBSUFFIX?}
$OLAPHOME/libxpxml${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libdtsagent${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libcmscon${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/liblocalcon${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libsaxserialize${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/librasauditingw${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libobjectfactory${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/librequestmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libcubedefmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libcommonobjmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/librptdefmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/ras/libdatadefmodel${SHAREDLIBSUFFIX?}
${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/crpe/libquerypanel${SHAREDLIBSUFFIX?}"

if [ -f "${BOBJEDIR?}/enterprise120/$SOFTWAREPATH/crpe/mw/setmwruntime" ]; then
MWNO_SIGNAL_CATCHING=false
export MWNO_SIGNAL_CATCHING
for ITEM in $REGSVR32LIST
do
if [ -f "$ITEM" ]; then
safeeval '"$MWHOME/bin-${MWCONFIG_NAME}_optimized/regsvr32" -c -nodisplay -s "$ITEM" >/dev/null'
fi
done
MWNO_SIGNAL_CATCHING=true
export MWNO_SIGNAL_CATCHING
fi

# We need this to ensure that our registry changes are persisted to disk.
# This must be done AFTER we have registered all our MW components.
if [ -f "$MWHOME/bin/mwadm" ]; then
"$MWHOME/bin/mwadm" stop -f >/dev/null
fi

IFS=$OLDIFS

echo ${NOWREGISTERINGCOMPLETE}


No comments:

Post a Comment

Sonarqube Upgrade from 9.4.4 to 9.9.4 LTS

 Issue:  1) Java hasbeen upgraded from 11 to Open JDK 17. And Sonarqube is upgraded from 9.4 to 9.9.4. 2) After the upgrade sonarqube servic...