In unserem Podcast diskutiert Thomas Bahn über Nutzen, Anwendungen und Erfahrungen aus den Bereichen Chatbots und Künstliche Intelligenz. Mehr erfahren

Ausnahme beim Einspielen eines Fix Packs im WAS im Bundle "com.ibm.ws.osprereq.check.v85"

von Thomas,
assono GmbH, Standort Kiel,

Ich wollte "einfach nur" den Fix Pack 15 für den WebSphere Application Server 8.5.5 (WAS) einspielen, auf dem ein Connections 6 läuft - bevor ich das auf CR6 anhebe. Das ist an sich nichts Besonderes oder Schwieriges, nur dass es diesmal ein ungewöhnliches Problem gab.

Der IBM Installation Manager, der für solche Aktualisierungen benutzt wird, prüft vor Änderungen grundsätzlich, ob alles passt und dass notwendige Abhängigkeiten eingehalten werden. Und bei genau dieser Prüfung erschien folgender Fehler:

Beim Bewerten eines Ausdrucks in Bundle "com.ibm.ws.osprereq.check.v85" trat eine Ausnahmebedingung auf.

Umgebung: Connections 6.0 (und Docs und Surveys usw.) auf einem Websphere Application Server (WAS ND) 8.5.5 FP10 unter CentOS 7.7 64bit. Dazu ein IBM Installation Manager 1.9.1.0 x86_64.

Die Protokolle schreibt der IM unter Linux ins Verzeichnis: /var/ibm/InstallationManager/logs/
Die Namen der XML-Dateien ergeben sich dabei aus dem Zeitpunkt der Installation (bzw. des Versuchs).

In diesem Fall sah der wesentliche Eintrag so aus:

<entry num='532' time='1570513625974' elapsed='28:35.10' level='ERROR' thread='ModalContext'>
 <logger>com.ibm.cic.common.core.model.internal.SelectionExpression</logger>
 <class>com.ibm.cic.common.core.model.internal.SelectionExpression.WithBundle</class>
 <method>evaluate</method>
 <message>Beim Bewerten eines Ausdrucks in Bundle "com.ibm.ws.osprereq.check.v85" trat eine Ausnahmebedingung auf.</message>
 <exception>
	java.lang.NullPointerException
	<stack>org.eclipse.osgi.internal.loader.BundleLoader.findRequiredSource(BundleLoader.java:1140)</stack>
	<stack>org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:413)</stack>
	<stack>org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)</stack>
	<stack>org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)</stack>
	<stack>org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)</stack>
	<stack>java.lang.ClassLoader.loadClass(ClassLoader.java:863)</stack>
	<stack>com.ibm.ws.osprereq.check.v85.OSPrereqSelector.evaluate(OSPrereqSelector.java:74)</stack>
	<stack>com.ibm.cic.common.core.model.internal.SelectionExpression$WithBundle.evaluate(SelectionExpression.java:249)</stack>
	<stack>com.ibm.cic.common.core.model.internal.SelectionOperator$AndOp.execute(SelectionOperator.java:154)</stack>
	<stack>com.ibm.cic.common.core.model.internal.SelectionExpression$WithOperator.evaluate(SelectionExpression.java:89)</stack>
	<stack>com.ibm.cic.common.core.model.internal.AbstractFeatureBase.evaluateApplicability(AbstractFeatureBase.java:134)</stack>
	<stack>com.ibm.cic.common.core.model.internal.FeatureGroup.evaluateApplicability(FeatureGroup.java:1)</stack>
	<stack>com.ibm.cic.agent.core.Agent.checkPrerequisite(Agent.java:1425)</stack>
	<stack>com.ibm.cic.agent.core.sharedUI.PrerequisiteCheckerUtils.validateOfferingFeaturesAndFeatureGroups(PrerequisiteCheckerUtils.java:157)</stack>
	<stack>com.ibm.cic.agent.core.sharedUI.PrerequisiteCheckerUtils.validateFeatures(PrerequisiteCheckerUtils.java:115)</stack>
	<stack>com.ibm.cic.agent.internal.ui.wizards.ConditionalInstallPage$5.run(ConditionalInstallPage.java:765)</stack>
	<stack>com.ibm.cic.common.ui.internal.dialogs.SocketMonitorRunnableWithProgress$3.run(SocketMonitorRunnableWithProgress.java:238)</stack>
	<stack>org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)</stack>
 </exception>
</entry>

Also eine NullPointerException beim dynamischen Laden einer Klasse in dieser Zeile: com.ibm.ws.osprereq.check.v85.OSPrereqSelector.evaluate(OSPrereqSelector.java:74)

Und nu?

Leider brachten diverse Suchen nichts Hilfreiches zu Tage.

Wie kann man den IM debuggen? Dazu steht in der Connections-Dokumentation "Switching on debug mode in the installation wizard":

1. Create a new file log.properties under /var/ibm/InstallationManager/logs.

2. Add the following lines
InstallOperation=DEBUG
InstallOperation/pause.on_error=true

3. Restart Installation Manager.

Leider gab es auch danach keine neuen Erkenntnisse in der Log-Datei zu gewinnen.

Viele vergebliche Versuche später fand ich dann doch noch etwas - in der Dokumentation zum WebSphere Application Server unter "Troubleshooting installation":

Im Abschnitt Troubleshooting steht ziemlich weit unten, unter einen auffälligen Abschnitt zum Thema Überspringen der Plattenplatzprüfung ein kleiner, fast unschuldiger Satz:

To bypass operating-system prerequisite checking, add disableOSPrereqChecking=true to the config.ini file in IM_install_root/eclipse/configuration and restart Installation Manager.

Also diesen Hinweis umgesetzt und tatsächlich läuft die Installation nun weiter.

Quellen:

Fachbeitrag HCL Connections Administration Für Entwickler

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 416
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de