After the Update of Open-Xchange from Version 7.8.3-22 to Version 7.8.3-23 the open-xchange-document-converter does not work anymore after the reboot of the Server. I can not see thumbnails and Previews of attached office-documents.
Error in log:
Documentconverter remote connection could not be established => please check remote converter setup (remoteurl=http://localhost:8008/documentconverterws, async_request=true)
2017-05-17T15:07:47,282+0200 ERROR [OXWorker-0000327] com.openexchange.ajax.requesthandler.DispatcherServlet.logException(DispatcherServlet.java:690)
Error processing request.
netstat does not show something on this port anymore:
root@mail:~# netstat -tulpn |grep 80
tcp 0 0 127.0.0.1:8090 0.0.0.0:* LISTEN 2166/python2.7
tcp6 0 0 127.0.0.1:9999 :::* LISTEN 1080/java
tcp6 0 0 :::80 :::* LISTEN 2722/apache2
tcp6 0 0 127.0.0.1:5701 :::* LISTEN 1080/java
tcp6 0 0 :::42245 :::* LISTEN 1080/java
tcp6 0 0 127.0.0.1:8009 :::* LISTEN 1080/java
Starting or restarting the open-xchange-documentconverter-server does not bring back something listening on that port.
i went back to an older snapshot on my testing-vm just to verify. The document-converter works as expected , the thumbnals of the attachments is created the preview works and netstat shows something listening on Port 8008:
root@ucs-8633:~# netstat -tulpn | grep 80
tcp 0 0 127.0.0.1:8090 0.0.0.0:* LISTEN 31002/python2.7
tcp6 0 0 :::80 :::* LISTEN 964/apache2
tcp6 0 0 127.0.0.1:8008 :::* LISTEN 827/java
tcp6 0 0 127.0.0.1:8009 :::* LISTEN 3350/java
After updating that machine again, the converter stopped working.
Any help would be appreciated.
Greets
Matthias Hütter
Hi! Could you please add your UCS version? Just run
univention-app info
and add the output 
root@mail:~# univention-app info
UCS: 4.2-0 errata15
App Center compatibility: 4
Installed: mailserver=11 open-xchange-text=7.8.3-17-ucs1 oxseforucs=7.8.3-17-ucs1
Upgradable:
Open-xchange has identified the problem and is working on a fix.
I will share news here, when I get them.
Open-xchange just released a fix for this Problem: http://software.open-xchange.com/products/appsuite/doc/Release_Notes_for_Patch_Release_4176_7.8.3_2017-05-19.pdf
Document previews work as expected in my Test-VM.
Thank you for your Help @troeder
Have a nice Weekend 
Sadly my production machine throws a new errror:
com.openexchange.exception.OXException: PREVIEW-0005 Categories=ERROR Message='Thumbnail image not available. Reason: PreviewDocument's thumbnail input stream is null' exceptionID=2100877259-75
com.openexchange.exception.locale: de_DE
at com.openexchange.exception.OXExceptionFactory.create(OXExceptionFactory.java:176)
at com.openexchange.exception.OXExceptionFactory.create(OXExceptionFactory.java:166)
at com.openexchange.exception.OXExceptionFactory.create(OXExceptionFactory.java:139)
at com.openexchange.preview.PreviewExceptionCodes.create(PreviewExceptionCodes.java:158)
at com.openexchange.ajax.requesthandler.converters.preview.PreviewImageResultConverter.convert(PreviewImageResultConverter.java:331)
at com.openexchange.ajax.requesthandler.DefaultConverter.convert(DefaultConverter.java:157)
at com.openexchange.ajax.requesthandler.customizer.ConversionCustomizer.outgoing(ConversionCustomizer.java:91)
at com.openexchange.ajax.requesthandler.DefaultDispatcher.customizeResult(DefaultDispatcher.java:372)
at com.openexchange.ajax.requesthandler.DefaultDispatcher.perform(DefaultDispatcher.java:224)
at com.openexchange.ajax.requesthandler.DispatcherServlet.handle(DispatcherServlet.java:469)
at com.openexchange.ajax.requesthandler.DispatcherServlet.doGet(DispatcherServlet.java:369)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at com.openexchange.ajax.AJAXServlet.doService(AJAXServlet.java:545)
at com.openexchange.ajax.SessionServlet.doService(SessionServlet.java:184)
at com.openexchange.ajax.requesthandler.DispatcherServlet.service(DispatcherServlet.java:269)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:445)
at com.openexchange.http.grizzly.servletfilter.RequestReportingFilter.doFilter(RequestReportingFilter.java:135)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:435)
at com.openexchange.http.grizzly.servletfilter.WrappingFilter.doFilter(WrappingFilter.java:206)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:435)
at com.openexchange.http.grizzly.service.http.OSGiAuthFilter.doFilter(OSGiAuthFilter.java:140)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:435)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.invokeFilterChain(OSGiServletHandler.java:413)
at org.glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:252)
at org.glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:194)
at com.openexchange.http.grizzly.service.http.OSGiMainHandler.service(OSGiMainHandler.java:232)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)
at org.glassfish.grizzly.http.server.HttpHandlerChain.service(HttpHandlerChain.java:196)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)
at org.glassfish.grizzly.http.server.OXHttpServerFilter.handleRead(OXHttpServerFilter.java:363)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:770)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$MDCProvidingRunnable.run(CustomThreadPoolExecutor.java:2524)
at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:836)
at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:863)
at java.lang.Thread.run(Thread.java:745)
2017-05-19T14:35:12,203+0200 INFO [OXTimer-0000098] com.openexchange.usm.session.tasks.USMSessionCleanupTask.run(USMSessionCleanupTask.java:110)
Still get no Previews in this Machine
Edit: this is the same Error as before, just a little bit later in the log.
The Service is still not running and listening on Port 8008
The Fix for the main Problem is in Post #5
but i did something really stupid.Before the patch was released i wanted to manually start on my Production Machine the commandline of the java-process which was listening on Port 8008 see if there is some Output which leads to any Solution.
Starting this commandlline which i figured out with ps -fp as root broke my installation.
I guess starting this as root changes some access rights. Could someone please tell me what to fix to get out of this situation.
After the update I had to manually restart the service:
systemctl status open-xchange-documentconverter-server.service
Then it worked.
I’m attaching the permissions I have in /opt/open-xchange.
ox_perms.txt (1.4 MB)
You can create the same listing with getfacl -R /opt/open-xchange > ox_perms_mine.txt
and then use diff ox_perms.txt ox_perms_mine.txt
to find differences.
(My favorite diff-viewer is meld.)
Thank you very much for you help!
I restarted already the complete server which did not help
There are that many differences in our Folders which makes it impossible to compare.
Even my working Testmachine differs so much (especially the order of the entries)
Maybe the logentry leads also to a solution?:
java.lang.RuntimeException: Error initializing storage.
<------>at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:68)
<------>at org.eclipse.osgi.launch.Equinox.<init>(Equinox.java:31)
<------>at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:303)
<------>at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:239)
<------>at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:216)
Caused by: java.io.IOException: Keine Berechtigung
<------>at java.io.UnixFileSystem.createFileExclusively(Native Method)
<------>at java.io.File.createTempFile(File.java:2001)
<------>at org.eclipse.osgi.storagemanager.StorageManager.initializeInstanceFile(StorageManager.java:187)
<------>at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:707)
<------>at org.eclipse.osgi.storage.Storage.getChildStorageManager(Storage.java:1785)
<------>at org.eclipse.osgi.storage.Storage.getInfoInputStream(Storage.java:1802)
<------>at org.eclipse.osgi.storage.Storage.<init>(Storage.java:128)
<------>at org.eclipse.osgi.storage.Storage.createStorage(Storage.java:87)
<------>at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:66)
<------>... 4 more
The logfiles in /var/log/open-xchange/documentconverter/osgi.log lead me to permission-problems in
/opt/open-xchange/documentconverter/osgi/org.eclipse.osgi
i could not find any differences to my working installation so i decided to move the complete Content of this folder away and restarted the document-converter-server.
After this the files and Folders in this Folder got recreated and the Document Preview in OX is working again.
Excellent.
Btw.: I found that using
find /opt/open-xchange -exec ls -ld {} + | awk {'printf "%s %s %s %s\n", $1,$3,$4,$9 '}
would make a nicely sorted listing, well suited for comparison, without clutter from file sizes and such.