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.confden 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
Fehlermeldung java.Lang.UnsatisfiedLinkError
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
Fehlermeldung exportAsFixedFormat
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
Fehlermeldung VariantChangeType failed oder Invoke of: Open
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
Fehlermeldung mswrd632
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
Dialog bei der Konvertierung über den MSOutlookNode
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.
Fehlermeldung Invoke of: FileOpenEx bei Konvertierung über MSProjectNode
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.
Fehlermeldung Invoke of: Open bei Konvertierung über MSPowerpointNode
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.
NullPointerException bei Konvertierung über MSOutlookNode
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).
Fehlermeldung JS.MSOFFICE-LOCAL_SYSTEM_USER bei der Konvertierung über den MS Office
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".
Konvertierung über MS Office schlägt fehlt
Fehlermeldung im Server-Log
java.lang.Exception: com.levigo.jadice.server.msoffice.MSOfficeStartupException: Could not start MS Word. Please check if this program is installed correctly.
at com.jacob.com.Dispatch.call(Dispatch.java:540)
oder z.B::
msoffice.MSExcelConverter; CommandParser for MSExcelConverter_0]: Incoming Exception from Converter
java.lang.Exception: com.jacob.com.ComFailException: Invoke of: exportAsFixedFormat
mögliche Ursache
Der Windows-Dienst "Print Spooler" läuft nicht.
Lösung
Den Windows-Dienst "Print Spooler" starten und ggf. den Windows-Dienst jadice server neu starten.
Fehler bei der Konvertierung via LibreOffice
Fehlermeldung Could not bootstrap
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
Fehlermeldung Could not initialize class
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.