IllegalArgumentException in com.sun.star.comp.bridgefactory.BridgeFactory.createBridge

584 views
Skip to first unread message

Curt

unread,
May 25, 2009, 10:53:08 AM5/25/09
to JODConverter
I'm using rev 134 on Ubuntu 9.04 i386 with Ubuntu-packaged Sun Java 6,
OpenOffice 3.01 and Tomcat 6 and am getting an
IllegalArgumentException on ProcessPoolOfficeManager.start.

The code looks like:

public class JOD3Context implements DocumentConverterFactory {

private static final String KEY =
DocumentConverterFactory.class.getName();

public static final String PARAMETER_OFFICE_PORT = "office.port";

public static final String PARAMETER_OFFICE_HOME = "office.home";

public static final String PARAMETER_OFFICE_PROFILE =
"office.profile";



private final OfficeManager officeManager;

private final DocumentFormatRegistry registry = new
DefaultDocumentFormatRegistry();


public JOD3Context(final ServletContext servletContext) {

DefaultOfficeManagerConfiguration configuration = new
DefaultOfficeManagerConfiguration();

String officePortParam = servletContext.getInitParameter
(PARAMETER_OFFICE_PORT);

if (officePortParam != null) {

configuration.setPortNumber(Integer.parseInt(officePortParam));

}

configuration.setOfficeHome(new File("/usr/lib/openoffice"));

String officeHomeParam = servletContext.getInitParameter
(PARAMETER_OFFICE_HOME);

if (officeHomeParam != null) {

configuration.setOfficeHome(new File(officeHomeParam));

}

String officeProfileParam = servletContext.getInitParameter
(PARAMETER_OFFICE_PROFILE);

if (officeProfileParam != null) {

configuration.setTemplateProfileDir(new File
(officeProfileParam));

}



officeManager = configuration.buildOfficeManager();

}

}


Logs follow, any suggestions would be helpful.

--- localhost.2009-05-25.log ---

May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Configuring event listener class 'listeners.ContextListener'
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Configuring event listener class 'listeners.SessionListener'
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Sending application start events
May 25, 2009 9:43:59 AM org.apache.catalina.core.ApplicationContext
log
INFO: ContextListener: contextInitialized()
May 25, 2009 9:43:59 AM org.apache.catalina.core.ApplicationContext
log
INFO: SessionListener: contextInitialized()
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filters
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filter 'Compression Filter'
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filter 'Path Mapped Filter'
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filter 'Servlet Mapped Filter'
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filter 'Set Character Encoding'
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filter 'Request Dumper Filter'
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Sending application start events
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filters
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Sending application start events
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filters
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Sending application start events
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filters
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Sending application start events
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardContext
filterStart
FINE: Starting filters
May 25, 2009 9:44:11 AM org.apache.catalina.core.ApplicationContext
log
INFO: HTMLManager: init: Associated with Deployer
'Catalina:type=Deployer,host=localhost'
May 25, 2009 9:44:11 AM org.apache.catalina.core.ApplicationContext
log
INFO: HTMLManager: init: Global resources are available
May 25, 2009 9:44:12 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Configuring event listener class
'com.illargexc.houston.requisition.server.JOD3ContextListener'
May 25, 2009 9:44:12 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Configuring event listener class
'org.apache.commons.fileupload.servlet.FileCleanerCleanup'
May 25, 2009 9:44:12 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Sending application start events
May 25, 2009 9:44:13 AM org.apache.catalina.core.StandardContext
listenerStart
SEVERE: Exception sending context initialized event to listener
instance of class
com.illargexc.houston.requisition.server.JOD3ContextListener
org.artofsolving.jodconverter.office.OfficeException: failed to start
and connect
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait
(ManagedOfficeProcess.java:66)
at org.artofsolving.jodconverter.office.PooledOfficeManager.start
(PooledOfficeManager.java:105)
at org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.start
(ProcessPoolOfficeManager.java:59)
at com.illargexc.houston.requisition.server.JOD3Context.init
(JOD3Context.java:54)
at
com.illargexc.houston.requisition.server.JOD3ContextListener.contextInitialized
(JOD3ContextListener.java:8)
at org.apache.catalina.core.StandardContext.listenerStart
(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:4342)
at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.access$000
(ContainerBase.java:123)
at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run
(ContainerBase.java:145)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
769)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
525)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:
830)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
515)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke
(BaseModelMBean.java:297)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke
(DefaultMBeanServerInterceptor.java:857)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
795)
at org.apache.catalina.manager.ManagerServlet.check
(ManagerServlet.java:1471)
at org.apache.catalina.manager.HTMLManagerServlet.doPost
(HTMLManagerServlet.java:243)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:
244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
at org.apache.catalina.security.SecurityUtil.execute
(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege
(SecurityUtil.java:162)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:283)
at org.apache.catalina.core.ApplicationFilterChain.access$000
(ApplicationFilterChain.java:56)
at org.apache.catalina.core.ApplicationFilterChain$1.run
(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:185)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.util.concurrent.ExecutionException:
org.artofsolving.jodconverter.office.OfficeException: could not
establish connection
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait
(ManagedOfficeProcess.java:64)
... 51 more
Caused by: org.artofsolving.jodconverter.office.OfficeException: could
not establish connection
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect
(ManagedOfficeProcess.java:128)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access
$000(ManagedOfficeProcess.java:34)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess$1.run
(ManagedOfficeProcess.java:60)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:603)
... 1 more
Caused by: org.artofsolving.jodconverter.office.OfficeException:
connection failed: socket,host=127.0.0.1,port=2002,tcpNoDelay=1
at org.artofsolving.jodconverter.office.OfficeConnection.connect
(OfficeConnection.java:102)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess$6.attempt
(ManagedOfficeProcess.java:121)
at org.artofsolving.jodconverter.office.Retryable.execute
(Retryable.java:41)
at org.artofsolving.jodconverter.office.Retryable.execute
(Retryable.java:31)
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect
(ManagedOfficeProcess.java:118)
... 8 more
Caused by: com.sun.star.lang.IllegalArgumentException
at com.sun.star.comp.bridgefactory.BridgeFactory.createBridge
(BridgeFactory.java:158)
at org.artofsolving.jodconverter.office.OfficeConnection.connect
(OfficeConnection.java:87)
... 12 more
May 25, 2009 9:44:13 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filters
May 25, 2009 9:44:13 AM org.apache.catalina.core.ApplicationContext
log
INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
May 25, 2009 9:44:19 AM org.apache.catalina.core.ApplicationContext
log
INFO: HTMLManager: start: Starting web application at '/illargeexc'
May 25, 2009 9:44:19 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Configuring event listener class
'com.illargexc.houston.requisition.server.JOD3ContextListener'
May 25, 2009 9:44:19 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Configuring event listener class
'org.apache.commons.fileupload.servlet.FileCleanerCleanup'
May 25, 2009 9:44:19 AM org.apache.catalina.core.StandardContext
listenerStart
FINE: Sending application start events
May 25, 2009 9:44:20 AM org.apache.catalina.core.StandardContext
listenerStart
SEVERE: Exception sending context initialized event to listener
instance of class
com.illargexc.houston.requisition.server.JOD3ContextListener
org.artofsolving.jodconverter.office.OfficeException: failed to start
and connect
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait
(ManagedOfficeProcess.java:66)
at org.artofsolving.jodconverter.office.PooledOfficeManager.start
(PooledOfficeManager.java:105)
at org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.start
(ProcessPoolOfficeManager.java:59)
at com.illargexc.houston.requisition.server.JOD3Context.init
(JOD3Context.java:54)
at
com.illargexc.houston.requisition.server.JOD3ContextListener.contextInitialized
(JOD3ContextListener.java:8)
at org.apache.catalina.core.StandardContext.listenerStart
(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:4342)
at org.apache.catalina.manager.ManagerServlet.start
(ManagerServlet.java:1247)
at org.apache.catalina.manager.HTMLManagerServlet.start
(HTMLManagerServlet.java:604)
at org.apache.catalina.manager.HTMLManagerServlet.doGet
(HTMLManagerServlet.java:129)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:
244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
at org.apache.catalina.security.SecurityUtil.execute
(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege
(SecurityUtil.java:162)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:283)
at org.apache.catalina.core.ApplicationFilterChain.access$000
(ApplicationFilterChain.java:56)
at org.apache.catalina.core.ApplicationFilterChain$1.run
(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:185)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.util.concurrent.ExecutionException:
org.artofsolving.jodconverter.office.OfficeException: could not
establish connection
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait
(ManagedOfficeProcess.java:64)
... 36 more
Caused by: org.artofsolving.jodconverter.office.OfficeException: could
not establish connection
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect
(ManagedOfficeProcess.java:128)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access
$000(ManagedOfficeProcess.java:34)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess$1.run
(ManagedOfficeProcess.java:60)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:603)
... 1 more
Caused by: org.artofsolving.jodconverter.office.OfficeException:
connection failed: socket,host=127.0.0.1,port=2002,tcpNoDelay=1
at org.artofsolving.jodconverter.office.OfficeConnection.connect
(OfficeConnection.java:102)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess$6.attempt
(ManagedOfficeProcess.java:121)
at org.artofsolving.jodconverter.office.Retryable.execute
(Retryable.java:41)
at org.artofsolving.jodconverter.office.Retryable.execute
(Retryable.java:31)
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect
(ManagedOfficeProcess.java:118)
... 8 more
Caused by: com.sun.star.lang.IllegalArgumentException
at com.sun.star.comp.bridgefactory.BridgeFactory.createBridge
(BridgeFactory.java:158)
at org.artofsolving.jodconverter.office.OfficeConnection.connect
(OfficeConnection.java:87)
... 12 more
May 25, 2009 9:44:20 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filters
May 25, 2009 9:44:20 AM org.apache.catalina.core.ApplicationContext
log
INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filters
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filters
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filters
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filters
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filter 'Servlet Mapped Filter'
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filter 'Path Mapped Filter'
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filter 'Compression Filter'
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filter 'Set Character Encoding'
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filter 'Request Dumper Filter'
May 25, 2009 9:44:36 AM org.apache.catalina.core.ApplicationContext
log
INFO: SessionListener: contextDestroyed()
May 25, 2009 9:44:36 AM org.apache.catalina.core.ApplicationContext
log
INFO: ContextListener: contextDestroyed()
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardContext
filterStop
FINE: Stopping filters

-- catalina.2009-05-25.log

May 25, 2009 9:43:59 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 25, 2009 9:43:59 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 433 ms
May 25, 2009 9:43:59 AM org.apache.catalina.users.MemoryUserDatabase
save
WARNING: User database is not persistable - no write permissions on
directory
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 25, 2009 9:43:59 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
May 25, 2009 9:43:59 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 25, 2009 9:43:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 705 ms
May 25, 2009 9:44:11 AM org.apache.catalina.startup.HostConfig
deployWAR
INFO: Deploying web application archive illargeexc.war
May 25, 2009 9:44:12 AM
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager <init>
INFO: ProcessManager implementation is PureJavaProcessManager
May 25, 2009 9:44:12 AM
org.artofsolving.jodconverter.office.OfficeProcess start
INFO: starting process with acceptString
'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' and profileDir '/tmp/
tomcat6-temp/.jodconverter_socket_host-127.0.0.1_port-2002'
May 25, 2009 9:44:12 AM
org.artofsolving.jodconverter.office.OfficeProcess start
INFO: started process
May 25, 2009 9:44:13 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
May 25, 2009 9:44:13 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/illargeexc] startup failed due to previous errors
May 25, 2009 9:44:13 AM
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop
INFO: stopping
May 25, 2009 9:44:13 AM
org.artofsolving.jodconverter.office.OfficeProcess forciblyTerminate
INFO: trying to forcibly terminate process:
'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
May 25, 2009 9:44:13 AM
org.artofsolving.jodconverter.office.ManagedOfficeProcess
doTerminateProcess
INFO: process forcibly terminated with code 255
May 25, 2009 9:44:13 AM
org.artofsolving.jodconverter.office.ManagedOfficeProcess
doEnsureProcessExited
INFO: process exited with code 255
May 25, 2009 9:44:13 AM
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop
INFO: stopped
May 25, 2009 9:44:19 AM
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager <init>
INFO: ProcessManager implementation is PureJavaProcessManager
May 25, 2009 9:44:19 AM
org.artofsolving.jodconverter.office.OfficeProcess start
INFO: starting process with acceptString
'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' and profileDir '/tmp/
tomcat6-temp/.jodconverter_socket_host-127.0.0.1_port-2002'
May 25, 2009 9:44:19 AM
org.artofsolving.jodconverter.office.OfficeProcess start
INFO: started process
May 25, 2009 9:44:20 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
May 25, 2009 9:44:20 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/illargeexc] startup failed due to previous errors
May 25, 2009 9:44:20 AM
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop
INFO: stopping
May 25, 2009 9:44:20 AM
org.artofsolving.jodconverter.office.OfficeProcess forciblyTerminate
INFO: trying to forcibly terminate process:
'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'
May 25, 2009 9:44:20 AM
org.artofsolving.jodconverter.office.ManagedOfficeProcess
doTerminateProcess
INFO: process forcibly terminated with code 255
May 25, 2009 9:44:20 AM
org.artofsolving.jodconverter.office.ManagedOfficeProcess
doEnsureProcessExited
INFO: process exited with code 255
May 25, 2009 9:44:20 AM
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop
INFO: stopped
May 25, 2009 9:44:35 AM org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
May 25, 2009 9:44:36 AM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
May 25, 2009 9:44:36 AM org.apache.coyote.http11.Http11Protocol
destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080

Mirko Nasato

unread,
May 25, 2009, 2:30:59 PM5/25/09
to jodcon...@googlegroups.com
Hi Curt,

Thanks for testing the latest trunk. I can't reproduce the problem,
despite being on Ubuntu 9.04 myself.

The value of bridgeName in OfficeConnection.java:87 will always be
"jodconverter_0", "jodconverter_1", etc, so it's difficult to see why
BridgeFactory.createBridge() is rejecting it in your case.
(OfficeConnection.bridgeIndex should really be an AtomicInteger for
thread-safety, but that's a different matter.)

Looking at BridgeFactory.java in the OOo source code, it always throws
an IllegalArgumentException for any underlying Exception, which is not
very helpful:

try {
IBridge iBridge =
UnoRuntime.getBridgeByName("java", context, "remote", context, hasName
? new Object[]{sProtocol, aConnection, anInstanceProvider, sName} :
new Object[]{sProtocol, aConnection, anInstanceProvider});

xBridge =
(XBridge)UnoRuntime.queryInterface(XBridge.class, iBridge);
}
catch(Exception exception) {
throw new
com.sun.star.lang.IllegalArgumentException(exception.getMessage());
}

Does it happen all the time? Can you try a command line conversion
(java -jar lib/jodconverter-core.jar) to see if that one works?

Cheers

Mirko


2009/5/25 Curt <cu...@inflectsoft.com>:

Curt Arnold

unread,
May 26, 2009, 1:06:37 AM5/26/09
to jodcon...@googlegroups.com

mvn test passes most of the time, sometimes I have seen a
ConcurrentModificationException or somwthing similar on the
convertAllTest, maybe you need to add some sleep time in the tests.

After a little more investigating, it appears that it is likely due to
a SecurityException when the OOo call attempts to do something that is
not permitted by the sandbox. If I add java.security.AllPermission to
the policy descriptor, things work fine. However, I don't know what
specific permission is needed.

On a similar note, org.artofsolving.jodconverter.office.OfficeUtils
calls System.getProperty() for "office.home" and "office.property"
which will raise SecurityExceptions in a typical sandbox. I think it
would be an improvement if the were in a try catch block and if there
was a security exception, the code would continue as if the properties
were not set (which they likely aren't).

While failing, I had added the following to /etc/tomcat6/policy.d/
04webapps

permission java.io.FilePermission "<<ALL FILES>>", "read,execute";
permission java.lang.RuntimePermission "modifyThread";
permission java.net.SocketPermission "127.0.0.1:2002",
"connect,resolve";


Mirko Nasato

unread,
May 26, 2009, 3:13:45 AM5/26/09
to jodcon...@googlegroups.com
Hi Curt,

2009/5/26 Curt Arnold <cu...@inflectsoft.com>:


>
> mvn test passes most of the time, sometimes I have seen a
> ConcurrentModificationException or somwthing similar on the convertAllTest,
> maybe you need to add some sleep time in the tests.
>

Please post the stack trace if it happens again.

> After a little more investigating, it appears that it is likely due to a
> SecurityException when the OOo call attempts to do something that is not
> permitted by the sandbox.  If I add java.security.AllPermission to the
> policy descriptor, things work fine.  However, I don't know what specific
> permission is needed.
>

Ah you're running under a security manager... I haven't tested it
under a security manager. Not sure what permission you need there,
looks like BridgeFactory.createBridge() will call
Class.getConstructor() among other things.

> On a similar note, org.artofsolving.jodconverter.office.OfficeUtils calls
> System.getProperty() for "office.home" and "office.property" which will
> raise SecurityExceptions in a typical sandbox.  I think it would be an
> improvement if the were in a try catch block and if there was a security
> exception, the code would continue as if the properties were not set (which
> they likely aren't).
>

We need at least System.getProperty("os.name") anyway. It doesn't seem
an unreasonable requirement to me to be able to read system
properties.

Cheers

Mirko

Curt Arnold

unread,
May 26, 2009, 11:34:10 PM5/26/09
to jodcon...@googlegroups.com

On May 26, 2009, at 2:13 AM, Mirko Nasato wrote:
>
>> On a similar note, org.artofsolving.jodconverter.office.OfficeUtils
>> calls
>> System.getProperty() for "office.home" and "office.property" which
>> will
>> raise SecurityExceptions in a typical sandbox. I think it would be
>> an
>> improvement if the were in a try catch block and if there was a
>> security
>> exception, the code would continue as if the properties were not
>> set (which
>> they likely aren't).
>>
> We need at least System.getProperty("os.name") anyway. It doesn't seem
> an unreasonable requirement to me to be able to read system
> properties.
>
> Cheers
>
> Mirko
>

The default policy file allows read-only access to os.name,
file.separator and 12 or so other properties. See http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/conf/catalina.policy
for the full details.

For any property that is optional (that is jodconverter can operate
without it), it would be good to tolerate a security exception.

Curt Arnold

unread,
May 26, 2009, 11:48:51 PM5/26/09
to jodcon...@googlegroups.com

On May 26, 2009, at 2:13 AM, Mirko Nasato wrote:

>
> Hi Curt,
>
> 2009/5/26 Curt Arnold <cu...@inflectsoft.com>:
>>
>> mvn test passes most of the time, sometimes I have seen a
>> ConcurrentModificationException or somwthing similar on the
>> convertAllTest,
>> maybe you need to add some sleep time in the tests.
>>
> Please post the stack trace if it happens again.
>


Haven't see the same error, but after updating I pretty regularly have
a failure on one of the files in runAllPossibleConversions(), however
each time a different file. Here is a sample trace:

<full-stacktrace>
<!
[CDATA[org.artofsolving.jodconverter.office.OfficeException: could not
store document: test5468542170438214742.swf; errorCode: 525
at
org
.artofsolving
.jodconverter
.AbstractConversionTask.storeDocument(AbstractConversionTask.java:118)
at
org
.artofsolving
.jodconverter
.AbstractConversionTask.execute(AbstractConversionTask.java:63)
at org.artofsolving.jodconverter.office.PooledOfficeManager
$2.run(PooledOfficeManager.java:84)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.sun.star.task.ErrorCodeIOException:
at
com
.sun
.star
.lib
.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:
182)
at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148)
at
com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:
344)
at
com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:
313)
at
com
.sun
.star
.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:
101)
at
com
.sun
.star
.lib
.uno
.bridges
.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory
$Handler.request(ProxyFactory.java:154)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory
$Handler.invoke(ProxyFactory.java:136)
at $Proxy11.storeToURL(Unknown Source)
at
org
.artofsolving
.jodconverter
.AbstractConversionTask.storeDocument(AbstractConversionTask.java:116)
... 8 more
]]>

Mirko Nasato

unread,
May 27, 2009, 7:22:04 AM5/27/09
to jodcon...@googlegroups.com
Hi Curt,

2009/5/27 Curt Arnold <cu...@inflectsoft.com>:


>
> On May 26, 2009, at 2:13 AM, Mirko Nasato wrote:
>>
>> We need at least System.getProperty("os.name") anyway. It doesn't seem
>> an unreasonable requirement to me to be able to read system
>> properties.
>>

> The default policy file allows read-only access to os.name, file.separator
> and 12 or so other properties.  See
> http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/conf/catalina.policy for
> the full details.
>

I didn't know that, thanks for the pointer. But that's just for
Tomcat, it may be different on other app servers?

> For any property that is optional (that is jodconverter can operate without
> it), it would be good to tolerate a security exception.
>

I've added an issue to the tracker:

http://code.google.com/p/jodconverter/issues/detail?id=44

It's low priority for me because - correct me if I'm wrong - I don't
know many companies running server side applications under a security
manager. Additionally when thinking about security you should probably
start with locking down OOo permissions at the os level (I need to
write a wiki page for that), since that's a much bigger risk.

Cheers

Mirko

Mirko Nasato

unread,
May 27, 2009, 7:31:00 AM5/27/09
to jodcon...@googlegroups.com
Hi Curt,

2009/5/27 Curt Arnold <cu...@inflectsoft.com>:
>


> Haven't see the same error, but after updating I pretty regularly have a
> failure on one of the files in runAllPossibleConversions(), however each
> time a different file.  Here is a sample trace:
>
>           <full-stacktrace>
>              <![CDATA[org.artofsolving.jodconverter.office.OfficeException:
> could not store document: test5468542170438214742.swf; errorCode: 525
>

That's bizarre, 525 should mean that OOo doesn't have permission to
write to the output file, but if you say it's just one random file
that fails once in a while it doesn't really make sense.

Cheers

Mirko

Reply all
Reply to author
Forward
0 new messages