Troubleshooting
In diesem Kapitel werden einige der typischen Fehlersituationen, die beim Betrieb von jadice server auftreten können, gezeigt.
Allgemeine Fehler
Fehler beim Starten von jadice server
Fehlermeldung im Server-Log
java.lang.ClassNotFoundException: com.levigo.jadice.server.cli.Main
error finding main method in class: com.levigo.jadice.server.cli.Main : com.levigo.jadice.server.cli.Main
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
no java main method found -> aborting
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at org.rzo.yajsw.app.WrapperManagerImpl.init(WrapperManagerImpl.java:341)
at org.rzo.yajsw.app.WrapperManagerProxy.getWrapperManager(WrapperManagerProxy.java:53)
at org.rzo.yajsw.app.AbstractWrapperJVMMain$1.run(AbstractWrapperJVMMain.java:65)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.rzo.yajsw.app.AbstractWrapperJVMMain.preExecute(AbstractWrapperJVMMain.java:57)
at org.rzo.yajsw.app.WrapperJVMMain.main(WrapperJVMMain.java:41)
Typische Ursache
Der Server wurde nicht direkt vom /bin
-Verzeichnis der Installation aus gestartet, sodass die relativen Pfade in der wrapper-conf nicht mehr passen.
Lösung
In der Datei wrapper/wrapper.conf
den Parameter wrapper.working.dir
auf den absoluten Pfad zum bin-Verzeichnis im
Installationsverzeichnis setzen. Also z.B. wrapper.working.dir=/home/jadice-server/distribution-5.14.3.0-dist/bin
.
Nach einer solchen Anpassung von Pfaden in der Datei wrapper.conf muss ggf. der Windows-Service neu installiert werden.
Fehler beim Senden eines Jobs
Fehlermeldung im Client-Log
com.levigo.jadice.server.JobException: Failure during server-side initialization on JADICE-SERVER-JS.REQUEST
at com.levigo.jadice.server.client.jms.JMSJobController.performHandshake(JMSJobController.java:579)
at com.levigo.jadice.server.client.jms.JMSJobController.submit(JMSJobController.java:365)
at com.levigo.jadice.server.client.DefaultJobInternalImpl.submit(DefaultJobInternalImpl.java:74)
Fehlermeldung im Server-Log
WARN [; core.ThreadPoolJobScheduler; JadiceServer job scheduler master thread]: Not executing job due to expired request message: (…)
Typische Ursache
Die Uhrzeiten von Client und Server weichen stark voneinander ab.
Lösung
Untersuchen Sie die Uhrzeiten von Client und Server und synchronisieren Sie diese gegebenenfalls.
Konvertierung mit Nodes, die nicht standardmäßig im Produkt enthalten sind
Fehlermeldung im Server-Log
Exception launching job
com.thoughtworks.xstream.converters.ConversionException: SomeNode : SomeNode
---- Debugging information ----
message : SomeNode
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : SomeNode
class : java.util.ArrayList
required-type : java.util.ArrayList
converter-type : com.thoughtworks.xstream.converters.collections.CollectionConverter
path : /com.levigo.jadice.server.client.internal.DefaultJobInternalImpl/node/successors/SomeNode
line number : 8
class[1] : com.levigo.jadice.server.nodes.StreamInputNode
converter-type[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2] : com.levigo.jadice.server.client.internal.DefaultJobInternalImpl
version : 1.4.7
-------------------------------
(…)
Ursache
Der vom Client erzeugte Job
referenziert eine Node
-Klasse, die
nicht im Klassenpfad des Servers vorhanden ist.
Lösung
Überprüfen Sie den Klassenpfad des Servers und fügen Sie die fehlende Bibliothek hinzu.
JMS-Fehler beim Abschicken von Jobs
mögliche Fehlermeldungen im Client-Log
javax.jms.JMSException: Failed to build body from bytes.
Reason: java.io.IOException:
com.levigo.jadice.server.shared.jms.ServerMessage$InitializationResponse
javax.jms.JMSException: Failed to build body from bytes.
Reason: java.io.InvalidClassException:
com.levigo.util.internal.log.qualified.ResolvedQualifiedLogEvent;
class invalid for deserialization
mögliche Ursache
Es sind mehrere JMS-Provider im Klassenpfad des Clients vorhanden.
Lösung
Verwenden Sie nach Möglichkeit in Ihrer Anwendung nur einen JMS-Provider. Falls dies nicht möglich ist, ändern Sie die Reihenfolge des Klassenpfads so, dass der JMS-Provider, der für jadice server verwendet wird, Vorrang hat.
Fehler bei der Konvertierung von HTML-Dokumenten / HTML-E-Mails
Fehlermeldungen im Server-Log
java.lang.StackOverflowError
(…)
at org.lobobrowser.html.parser.HtmlParser.parseToken(HtmlParser.java:642)
at org.lobobrowser.html.parser.HtmlParser.parseToken(HtmlParser.java:679)
at org.lobobrowser.html.parser.HtmlParser.parseToken(HtmlParser.java:679)
(…)
at org.lobobrowser.html.parser.HtmlParser.parse(HtmlParser.java:507)
at org.lobobrowser.html.domimpl.HTMLDocumentImpl.load(HTMLDocumentImpl.java:386)
at org.lobobrowser.html.domimpl.HTMLDocumentImpl.load(HTMLDocumentImpl.java:366)
at org.lobobrowser.html.parser.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:98)(…)
mögliche Ursache
Das Parsen von ungünstig strukturierten HTML-Dokumenten übersteigt die maximal zulässige Stack-Tiefe der JVM.
Lösung
Erhöhen Sie die maximal zulässige Stack-Tiefe der JVM, z. B. durch
Setzen des Parameters -Xss2048k
in der Datei
wrapper/wrapper.conf
(falls eine Oracle / SUN JVM eingesetzt
wird).
Fehler bei der Konvertierung via MS Office
java.Lang.UnsatisfiedLinkError
Fehlermeldung Fehlermeldung im Server-Log
Exception in thread "main" java.Lang.UnsatisfiedLinkError: (…)
\msoffice-lib\jacob-1.14M7-x86.dll: Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht ordnungsgemäß ist.
Zur Problembehandlung sollten Sie die Anwendung neu installieren.
Ursache
Fehlende C++-Runtime
Lösung
Installation des "Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)", siehe Abschnitt Konfiguration MS Office
exportAsFixedFormat
Fehlermeldung Fehlermeldung im Server-Log
Processing failed: MSWordNode/MSWordWorker:
JS.SERVER-WORKER_FAILED: Verarbeitung für Knoten MSWordNode fehlgeschlagen wegen
com.jacob.com.ComFailException: Invoke of: exportAsFixedFormat
Source: Microsoft Word
Description: Fehler beim Exportieren, weil dieses Feature nicht installiert ist.
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:858)
at com.jacob.com.Dispatch.callN(Dispatch.java:455)
at com.levigo.jadice.server.msoffice.MSWordConverter.convert(MSWordConverter.java:103)
at com.levigo.jadice.server.msoffice.CommandReceiver.run(CommandReceiver.java:110)
at com.levigo.jadice.server.msoffice.MSWordConverter.main(MSWordConverter.java:31)
Ursache
Kein nativer PDF-Export in MS Office 2007 installiert
Lösung
Installation von "2007 Microsoft Office Add-in: Microsoft Save as PDF", siehe Abschnitt Konfiguration MS Office
VariantChangeType failed
oder Invoke of: Open
Fehlermeldung Umgebung
MS Office 2007 oder neuer, Windows Server 2008R2, Installation von jadice server als Dienst
Fehlermeldung im Server-Log bei Konvertierung über MSWordNode
java.lang.Exception: com.jacob.com.ComFailException: VariantChangeType failed
at com.jacob.com.Variant.toVariantDispatch(Native Method)
at com.jacob.com.Variant.toDispatch(Variant.java:1976)
at com.levigo.jadice.server.msoffice.MSWordConverter.convert(MSWordConverter.java:91)
at com.levigo.jadice.server.msoffice.CommandReceiver.run(CommandReceiver.java:115)
at com.levigo.jadice.server.msoffice.MSWordConverter.main(MSWordConverter.java:35)(…)
Fehlermeldung im Server-Log bei Konvertierung über MSExcelNode
Incoming Exception from Converter
java.lang.Exception: com.jacob.com.ComFailException: Invoke of: Open
Source: Microsoft Office Excel
Description: Microsoft Office Excel kann auf die Datei '(...).xls' nicht zugreifen. Dies kann mehrere Gründe haben:
* Der Name des Dokuments oder der Pfad ist nicht vorhanden.
* Das Dokument wird von einem anderen Programm verwendet.
* Der Name der Arbeitsmappe, die gespeichert werden soll, ist identisch zu dem Namen eines anderen Dokuments, welches schreibgeschützt ist.
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:858)
at com.jacob.com.Dispatch.callN(Dispatch.java:455)
at com.levigo.jadice.server.msoffice.MSExcelConverter.convert(MSExcelConverter.java:79)(…)
Ursache
MS Office versucht auf einen nicht vorhandenen Ordner im Systemverzeichnis zuzugreifen.
Lösung
Erstellen eines leeren Ordners:
C:\Windows\SysWOW64\config\systemprofile\Desktop
(für x64),
C:\Windows\System32\config\systemprofile\Desktop
(für x86)
siehe auch
MS Office Developer Center: http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91
mswrd632
Fehlermeldung Fehlermeldung im Server-Log bei Konvertierung über MSWordNode
Word kann den Konverter mswrd632 nicht starten.
Ursache
Fehler in der Konfiguration von MS Word
Lösung
Registrierung des Konverters mswrd632 aufzuheben wie in der Microsoft Knowledge Base beschrieben: http://support.microsoft.com/kb/973904
MSOutlookNode
Dialog bei der Konvertierung über den Gezeigter Dialog
Abbildung 10.1. Sicherheitsabfrage bei der Konvertierung über den MSOutlookNode
Ursache
Sicherheitsbestimmungen von MS Outlook verbieten Zugriff durch jadice server
Lösung
Installation von "Advanced Security for Outlook", siehe Abschnitt Konfiguration MS Outlook.
Invoke of: FileOpenEx
bei Konvertierung über MSProjectNode
Fehlermeldung Fehlermeldung im Server-Log bei Konvertierung über MSProjectNode
WARN [ MSProjectConverter] Incoming Exception from Converter
java.lang.Exception: com.jacob.com.ComFailException: Invoke of: FileOpenEx
Source: Microsoft Project
Description: Unerwarteter Methodenfehler.
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:858)
at com.jacob.com.Dispatch.callN(Dispatch.java:455)
at com.levigo.jadice.server.msoffice.MSProjectConverter.convert(MSProjectConverter.java:73)(…)
Ursache
MS Project nicht ordnungsgemäß konfiguriert.
Lösung
Verarbeitung von Legacyformaten zulassen, siehe Abschnitt Konfiguration MS Project 2010.
Invoke of: Open
bei Konvertierung über MSPowerpointNode
Fehlermeldung Fehlermeldung im Server-Log
java.lang.Exception: com.jacob.com.ComFailException: Invoke of: Open
Source:
Description:
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:858)
at com.jacob.com.Dispatch.callN(Dispatch.java:455)
at com.levigo.jadice.server.msoffice.MSPowerpointConverter.
convert(MSPowerpointConverter.java:75)
Bei manuellem Start von MS PowerPoint wird ein Dialog gezeigt
Abbildung 10.2. Fehlermeldung bei manuellem Start von MS PowerPoint
mögliche Ursache
Die PowerPoint Datei enthält Makros, für deren Verarbeitung MS PowerPoint ein zusätzliches Feature benötigt.
Lösung
Installieren Sie für die Verwendung von MS PowerPoint das Feature "Visual Basic für Applikationen" nach.
MSOutlookNode
NullPointerException bei Konvertierung über Fehlermeldung im Server-Log
java.lang.Exception: java.lang.NullPointerException
at com.levigo.jadice.server.msoffice.MSOutlookConverter.start(MSOutlookConverter.java:77)
at com.levigo.jadice.server.msoffice.CommandReceiver.run(CommandReceiver.java:89)
at com.levigo.jadice.server.msoffice.MSOutlookConverter.main(MSOutlookConverter.java:69)
at com.levigo.jadice.server.msoffice.CommandSender$2.commandOccured(CommandSender.java:116)
at com.levigo.jadice.server.msoffice.CommandParser.handleCommand(CommandParser.java:38)
at com.levigo.jadice.server.msoffice.CommandParser.access$100(CommandParser.java:10)
at com.levigo.jadice.server.msoffice.CommandParser$ParserThread.identifyCommand(CommandParser.java:94)
at com.levigo.jadice.server.msoffice.CommandParser$ParserThread.run(CommandParser.java:77)
Umgebung
Nach Upgrade von jadice server oder MS Office auf eine neuere Version
mögliche Ursache
"Advanced Security for Outlook" liegt in einer veralteten Version vor.
Lösung
Update von "Advanced Security for Outlook", vgl. Abschnitt [config#konfiguration-ms-outlook](Konfiguration MS Outlook).
JS.MSOFFICE-LOCAL_SYSTEM_USER
bei der Konvertierung über den MS Office
Fehlermeldung Fehlermeldung im Server-Log
[JS.MSOFFICE-LOCAL_SYSTEM_USER] jadice server ist als Dienst installiert, aber läuft nicht mit einem Technischen Benutzer.
Ursache
jadice server ist als Dienst installiert und unter dem lokalen Systemkonto angemeldet.
Lösung
Ändern Sie die Dienste-Konfiguration so, dass jadice server unter einem technischen Benutzerkonto angemeldet wird, siehe Abbildung 5.2, "Installation von jadice server unter einem technischen Benutzerkonto".
Fehler bei der Konvertierung via LibreOffice
Could not bootstrap
Fehlermeldung Fehlermeldung im Server-Log
INFO [LibreOfficeInstancePool] Creating an instance
ERROR [ManagedLibreOfficeInstance] Could not bootstrap
com.sun.star.comp.helper.BootstrapException: no office executable found!
at com.levigo.jadice.server.libreoffice.server.ManagedOOOInstance.launchOOOProcess(ManagedLibreOfficeInstance.java:102)
at com.levigo.jadice.server.libreoffice.server.ManagedLibreOfficeInstance.(ManagedLibreOfficeInstance.java:86) (…)
Ursache
LibreOffice nicht ordnungsgemäß konfiguriert.
Lösung
Datei server-config/jadice-server-local.options
anpassen, siehe
Abschnitt Konfiguration LibreOffice
Could not initialize class
Fehlermeldung Umgebung
LibreOffice Portable Windows Server 2008
Fehlermeldung im Server-Log
java.lang.NoClassDefFoundError: Could not initialize class com.sun.star.lib.connections.pipe.PipeConnection
at com.sun.star.lib.connections.pipe.pipeConnector.connect(pipeConnector.java:110)
at com.sun.star.comp.connections.Connector.connect(Connector.java:114)
at com.levigo.jadice.server.core.util.ManagedObjectPool.borrowObject(ManagedObjectPool.java:52) (…)
Ursache
LibreOffice nicht ordnungsgemäß konfiguriert.
Lösung
Bei Verwendung von LibreOfficePortable muss folgender Pfad in die
Systemvariable Path
eingetragen werden:
<LibreOffice-Verzeichnis>/App/libreoffice/program/
.
Fehlerdialog bei der Konvertierung nach PDF
gezeigter Dialog
Abbildung 10.3. Fehlermeldung bei manuellem Start von LibreOffice
Ursache
Dieser Dialog ist normal, wenn jadice server auf dem selben Rechner läuft, auf dem parallel die Client-Entwicklung stattfindet und dabei eine weitere Instanz von LibreOffice mit Fenstern offen ist.
Lösung
Beenden Sie alle Instanzen von LibreOffice (soffice.exe
/
soffice.bin
im Taskmanager) sowie des LibreOffice-Schnellstarters.
Bei einer erneuten Konvertierung wird LibreOffice "headless"
gestartet; der Dialog tritt nicht mehr auf.