05-05-2020 05:58 AM
Since serveral week, I cannot preview office documents anymore. Therefore I shutdown the alfresco instance. During restart the following jodconverter error is displayed in alfresco.log:
2020-05-05 09:13:48,482 ERROR [org.alfresco.repo.content.JodConverterSharedInstance] [localhost-startStop-1] Unable to start JodConverter library. The following error is shown for informational purposes only. org.artofsolving.jodconverter.office.OfficeException: failed to start and connect at org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:62) at org.artofsolving.jodconverter.office.PooledOfficeManager.start(PooledOfficeManager.java:96) at org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.start(ProcessPoolOfficeManager.java:60) at org.alfresco.repo.content.JodConverterSharedInstance.afterPropertiesSet(JodConverterSharedInstance.java:364) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ApplicationContextState.start(ChildApplicationContextFactory.java:824) at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:1098) at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.onApplicationEvent(AbstractPropertyBackedBean.java:637) at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:221) at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:186) at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:206) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:402) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:359) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:896) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:400) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4699) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:614) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1823) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.util.concurrent.ExecutionException: org.artofsolving.jodconverter.office.OfficeException: could not establish connection at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:60) ... 41 more Caused by: org.artofsolving.jodconverter.office.OfficeException: could not establish connection at org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:141) at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access$000(ManagedOfficeProcess.java:29) at org.artofsolving.jodconverter.office.ManagedOfficeProcess$1.run(ManagedOfficeProcess.java:56) ... 5 more Caused by: org.artofsolving.jodconverter.office.OfficeException: office process died with exit code 77 at org.artofsolving.jodconverter.office.ManagedOfficeProcess$6.attempt(ManagedOfficeProcess.java:135) at org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:34) at org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:24) at org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:139) ... 7 more 2020-05-05 09:13:48,512 INFO [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'OOoJodconverter' subsystem, ID: [OOoJodconverter, default] complete
After some research I found the same error in the jodconverter google user group (https://github.com/sivanthiinfowave/jodconverter/issues/109). The only solution provided is to change the implementation how the JODConverter object is created.
Has someone the same problem and found another solution?
System:
Thanks,
Florian
05-05-2020 10:21 AM
Hi, Florian
I think the exit code 77 shown in the log is a permission denied.
Do you launch your alfresco process as a correct user?
Correct user means that the user you use to launch alfresco process has a permission to execute 'soffice.bin'.
Best,
ryo
05-05-2020 10:21 AM
Hi, Florian
I think the exit code 77 shown in the log is a permission denied.
Do you launch your alfresco process as a correct user?
Correct user means that the user you use to launch alfresco process has a permission to execute 'soffice.bin'.
Best,
ryo
05-06-2020 10:00 AM
Hi,
thank you for your repsonse, you are right, there is a permission issue. If I start alfresco as root user it is working. However I can run soffice.bin also with the user who runs alfresco.
Does someone knows how to test the user privileges required to execute JOD conveter, I do not want to run alfresco as root.
Thanks,
Florian
05-06-2020 04:32 PM
Hi,
How did you install your alfresco? at that time which user was used to install?
JODConverter creates and use temporary directory : $ALFRESCO/tomcat/temp/(like .jodconverter_socket_host-127.0.0.1_port-8100) on my environment and also tomcat puts various log files into $ALFRESCO/ , $ALFRESCO/tomcat/logs. I think that you would better to be an owner of alfresco.
Best,
ryo
05-14-2020 06:30 AM
I installed Allfresco from scratch, meaning without Docker.
I am just wondering, because everything has worked fine since month, and suddenly I get this error. Therefore I am not sure if this is not a result of an update.
Alfresco runs under his own user and that user has full access to /usr/local/alfresco which contains al required application and libraries except PorstgreSQL, openoffice, and imagemagick which I installed as debian packages.
I will check the again permission and ownerships.
Florian
05-14-2020 09:05 AM
Hi,
finally I found the reason for thic exception during startup. Thank you to @ryo39 it was a permission problem with the libreoffice cache. After I changed the permission of WHATEVER_YOUR_LIBREOFFICE_DIRECTORY_IS/share/uno_packages/cache/uno_packages/ to a+rx (chmod a+rx WHATEVER_YOUR_LIBREOFFICE_DIRECTORY_IS/share/uno_packages/cache/uno_packages/) it resumed working.
I am not sure what was the reason for this wrong permissions, but I still think that probably an update changed the permissions.
However thank you for your help!!!
Florian
05-14-2020 12:52 PM
Hi @nettania,
Great news to see that you've resolved your problem - thanks for reporting back. So helpful to other users.
Take care,
02-08-2021 12:26 PM
Thanks for sharing your solution.
I had a similar problem on zip instal with Ubuntu20.04 on arm64.
Incredibly, a similar (parallel) install on Ubuntu20.04 + amd64 di not show this issue in the log file.
You tip solved the "error 77" problem...
PS
May I aks how did you find the "specific" directory that was preventing the jodconverter to run (there are a lot of them in libreoffice installation tree) ?
Explore our Alfresco products with the links below. Use labels to filter content by product module.