Details
-
Type:
Bug
-
Status:
New
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 3.1.1
-
Fix Version/s: None
-
Component/s: Installation/Deployment
-
Security Level: Public
-
- Description:
-
Hide
The following error occurs sometimes when running the validation tests about component lifecycle Ant tasks:
[Petals.JBI-Management.InstallationServiceImpl]-SEVERE 2011-06-20 20:55:13,625 Unable to load a new installer at location 'file:/home/cdeneux/.m2/repository/org/ow2/petals/petals-bc-soap/4.1-SNAPSHOT/petals-bc-soap-4.1-SNAPSHOT.zip' java.lang.Exception: java.io.IOException: Failed to copy full contents from '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/work/petals-bc-soap-4.1-SNAPSHOT.zip' to '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/installed/petals-bc-soap-4.1-SNAPSHOT.zip' at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.loadNewInstaller(InstallationServiceImpl.java:322) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:37) at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:244) at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1074) at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:955) at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:221) at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120) at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:84) at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120) at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120) at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:203) at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1043) at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:447) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1367) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 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:662) Caused by: java.io.IOException: Failed to copy full contents from '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/work/petals-bc-soap-4.1-SNAPSHOT.zip' (19245224) to '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/installed/petals-bc-soap-4.1-SNAPSHOT.zip' (0) at org.apache.commons.io.FileUtils.doCopyFile(FileUtils.java:696) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:653) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:607) at org.ow2.petals.jbi.management.task.CopyArchiveToInstalledDirTask.execute(CopyArchiveToInstalledDirTask.java:57) at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78) at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.loadNewInstaller(InstallationServiceImpl.java:319) ... 38 more
ShowThe following error occurs sometimes when running the validation tests about component lifecycle Ant tasks:[Petals.JBI-Management.InstallationServiceImpl]-SEVERE 2011-06-20 20:55:13,625 Unable to load a new installer at location 'file:/home/cdeneux/.m2/repository/org/ow2/petals/petals-bc-soap/4.1-SNAPSHOT/petals-bc-soap-4.1-SNAPSHOT.zip' java.lang.Exception: java.io.IOException: Failed to copy full contents from '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/work/petals-bc-soap-4.1-SNAPSHOT.zip' to '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/installed/petals-bc-soap-4.1-SNAPSHOT.zip' at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.loadNewInstaller(InstallationServiceImpl.java:322) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:37) at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:244) at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1074) at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:955) at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:221) at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120) at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:84) at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120) at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120) at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:203) at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1043) at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:447) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1367) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 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:662) Caused by: java.io.IOException: Failed to copy full contents from '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/work/petals-bc-soap-4.1-SNAPSHOT.zip' (19245224) to '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/installed/petals-bc-soap-4.1-SNAPSHOT.zip' (0) at org.apache.commons.io.FileUtils.doCopyFile(FileUtils.java:696) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:653) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:607) at org.ow2.petals.jbi.management.task.CopyArchiveToInstalledDirTask.execute(CopyArchiveToInstalledDirTask.java:57) at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78) at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.loadNewInstaller(InstallationServiceImpl.java:319) ... 38 more
-
- Environment:
- -
Attachments
-
- strace.zip
- (142 kB)
- Christophe DENEUX
- Tue, 21 Jun 2011 - 09:19:25 +0200
Activity
- All
- Comments
- Work Log
- History
- Activity
- Workflow Diagram
- Transitions
FYI : I am currently doing some parallel installation of several components using an ExecutorService and I have the same exception... Here is the code:
for (final String componentName : components) { if ((componentName != null) && (componentName.trim().length() > 0) && (this.getComponentURL(componentName) != null)) { if (this.adminService.getComponentByName(componentName) == null) { this.executorService.submit(new Runnable() { public void run() { log.debug("Installing component '" + componentName + "'"); boolean tmp = componentInstallationService .install(getComponentURL(componentName)); if (tmp) { log.info("Component '" + componentName + "' has been successfully installed!"); } else { log.warning("Component '" + componentName + "' has not been installed!"); } latch.countDown(); } }); } else { latch.countDown(); this.log.info("The component '" + componentName + "' is already installed"); } } }
for (final String componentName : components) { if ((componentName != null) && (componentName.trim().length() > 0) && (this.getComponentURL(componentName) != null)) { if (this.adminService.getComponentByName(componentName) == null) { this.executorService.submit(new Runnable() { public void run() { log.debug("Installing component '" + componentName + "'"); boolean tmp = componentInstallationService .install(getComponentURL(componentName)); if (tmp) { log.info("Component '" + componentName + "' has been successfully installed!"); } else { log.warning("Component '" + componentName + "' has not been installed!"); } latch.countDown(); } }); } else { latch.countDown(); this.log.info("The component '" + componentName + "' is already installed"); } } }
A workaround: on the (un)installation client side, add a sleep between an uninstallation and the following installation of the same component longer than the autoloader sleeping duration.
The autoloader should be in charge to manage the content of directories 'install' and 'installed'. So tasks CopyArchiveToInstalledDirTask, RemoveComponentArchiveTask (and their equivalents for other packages) should be moved to the autoloader.
The same problem should occur when uninstallation shared library, and undeploying service assembly
Autoloader and InstallationService MUST be synchronized on uninstallation
In the console log traces, we can see an exception thrown by the autoloader just before the common-io error. This exception explains the problem:
- The component is uninstall,
- Another command JMX install the same component,
- In the same time, as the component is removed from $PETALS_HOME/installed by 1), an uninstallation is launch by the autoloader
- And the target file is removed from $PETALS_HOME/installed
[Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:44,466 -START-InstallationServiceImpl.loadNewInstaller() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -START-Installer.start() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -END-Installer.start() [Petals.Communication.JNDIServiceImpl]-FINEST 2011-06-21 13:27:45,838 -CALL-JNDIServiceImpl.getUsersContext() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -CALL-Installer.createBootstrapClassloader() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -START-Installer.createClassLoader() [Petals.System.ClassLoaderServiceImpl]-FINEST 2011-06-21 13:27:45,839 -START-ClassLoaderServiceImpl.createComponentClassLoader() [Petals.System.ClassLoaderServiceImpl]-FINEST 2011-06-21 13:27:45,843 -END-ClassLoaderServiceImpl.createComponentClassLoader() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,843 -END-Installer.createClassLoader() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,843 -CALL-Installer.loadBootstrap() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,867 -CALL-ComponentContextImpl.getInstallRoot() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,869 -START-ComponentContextImpl.getLogger() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,870 -START-ComponentContextImpl.getComponentLogger() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,870 -END-ComponentContextImpl.getComponentLogger() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,870 -END-ComponentContextImpl.getLogger() [Petals.AutoLoaderServiceImpl]-FINEST 2011-06-21 13:27:46,276 -CALL-AutoLoaderServiceImpl.uninstall() [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -START-InstallationServiceImpl.forceUnloadInstaller() Component Name : petals-bc-soap [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -CALL-InstallationServiceImpl.forceShutdownComponent() [Petals.JBI-Management.AdminServiceImpl]-FINEST 2011-06-21 13:27:46,277 -CALL-AdminServiceImpl.getBindingComponentLifeCycleByName() [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -START-InstallationServiceImpl.uninstallComponent() Component Name : petals-bc-soap [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -START-InstallationServiceImpl.unloadInstaller() [Petals.JBI-Management.InstallationServiceImpl]-SEVERE 2011-06-21 13:27:46,277 Installer MBean can not be unregistered org.ow2.petals.jbi.management.ManagementException: Failed to unregistered the binding Component 'petals-bc-soap' at org.ow2.petals.jbi.management.admin.AdminServiceImpl.unregisterInstaller(AdminServiceImpl.java:633) at org.objectweb.fractal.julia.generated.Ca4991a65_0.unregisterInstaller(INTERCEPTOR[AdminService]) at org.objectweb.fractal.julia.generated.C1e6fbb30_0.unregisterInstaller(INTERFACE[AdminService]) at org.ow2.petals.jbi.management.task.installation.uninstall.component.UnregisterInstallerTask.execute(UnregisterInstallerTask.java:63) at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78) at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.unloadInstaller(InstallationServiceImpl.java:729) at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.forceUnloadInstaller(InstallationServiceImpl.java:197) at org.objectweb.fractal.julia.generated.C126740c7_0.forceUnloadInstaller(INTERCEPTOR[InstallationService]) at org.objectweb.fractal.julia.generated.C164c7dd2_0.forceUnloadInstaller(INTERFACE[InstallationService]) at org.ow2.petals.jbi.management.autoload.AutoLoaderServiceImpl.performUninstallComponent(AutoLoaderServiceImpl.java:523) at org.ow2.petals.jbi.management.autoload.AutoLoaderServiceImpl.uninstall(AutoLoaderServiceImpl.java:219) at org.ow2.petals.jbi.management.autoload.InstalledDirectoryScanner.run(InstalledDirectoryScanner.java:71) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Caused by: javax.management.InstanceNotFoundException: MBeanServer cannot find MBean with ObjectName org.ow2.petals:type=installer,name=petals-bc-soap at mx4j.server.MX4JMBeanServer.findMBeanMetaData(MX4JMBeanServer.java:491) at mx4j.server.MX4JMBeanServer.unregisterMBean(MX4JMBeanServer.java:924) at org.ow2.petals.jbi.management.admin.AdminServiceImpl.unregisterInstaller(AdminServiceImpl.java:631) ... 13 more [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,316 -CALL-ComponentContextImpl.getMBeanNames() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,316 -CALL-ComponentContextImpl.getMBeanServer() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,321 -CALL-ComponentContextImpl.getWorkspaceRoot() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,321 -CALL-ComponentContextImpl.getWorkspaceRoot() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,322 -CALL-ComponentContextImpl.getWorkspaceRoot() [Petals.JBI-Management.AdminServiceImpl]-FINEST 2011-06-21 13:27:46,324 -CALL-AdminServiceImpl.registerInstaller() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,326 -CALL-Installer.stop() [Petals.JBI-Management.InstallationServiceImpl]-INFO 2011-06-21 13:27:46,339 InstallationServiceImpl.unloadInstaller() Installer of the component 'petals-bc-soap' succesfully unloaded [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,339 -END-InstallationServiceImpl.unloadInstaller() [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,340 -END-InstallationServiceImpl.forceUnloadInstaller() ############################### Failed to copy full contents from '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/work/petals-bc-soap-4.1-SNAPSHOT.zip' (19245224) to '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/installed/petals-bc-soap-4.1-SNAPSHOT.zip' (0) Dest exist: false ^CPEtALS is stopping... PEtALS container is stopped - 21/06/11 13:27
- The component is uninstall,
- Another command JMX install the same component,
- In the same time, as the component is removed from $PETALS_HOME/installed by 1), an uninstallation is launch by the autoloader
- And the target file is removed from $PETALS_HOME/installed
[Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:44,466 -START-InstallationServiceImpl.loadNewInstaller() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -START-Installer.start() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -END-Installer.start() [Petals.Communication.JNDIServiceImpl]-FINEST 2011-06-21 13:27:45,838 -CALL-JNDIServiceImpl.getUsersContext() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -CALL-Installer.createBootstrapClassloader() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,838 -START-Installer.createClassLoader() [Petals.System.ClassLoaderServiceImpl]-FINEST 2011-06-21 13:27:45,839 -START-ClassLoaderServiceImpl.createComponentClassLoader() [Petals.System.ClassLoaderServiceImpl]-FINEST 2011-06-21 13:27:45,843 -END-ClassLoaderServiceImpl.createComponentClassLoader() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,843 -END-Installer.createClassLoader() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,843 -CALL-Installer.loadBootstrap() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,867 -CALL-ComponentContextImpl.getInstallRoot() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,869 -START-ComponentContextImpl.getLogger() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,870 -START-ComponentContextImpl.getComponentLogger() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,870 -END-ComponentContextImpl.getComponentLogger() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:45,870 -END-ComponentContextImpl.getLogger() [Petals.AutoLoaderServiceImpl]-FINEST 2011-06-21 13:27:46,276 -CALL-AutoLoaderServiceImpl.uninstall() [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -START-InstallationServiceImpl.forceUnloadInstaller() Component Name : petals-bc-soap [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -CALL-InstallationServiceImpl.forceShutdownComponent() [Petals.JBI-Management.AdminServiceImpl]-FINEST 2011-06-21 13:27:46,277 -CALL-AdminServiceImpl.getBindingComponentLifeCycleByName() [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -START-InstallationServiceImpl.uninstallComponent() Component Name : petals-bc-soap [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,277 -START-InstallationServiceImpl.unloadInstaller() [Petals.JBI-Management.InstallationServiceImpl]-SEVERE 2011-06-21 13:27:46,277 Installer MBean can not be unregistered org.ow2.petals.jbi.management.ManagementException: Failed to unregistered the binding Component 'petals-bc-soap' at org.ow2.petals.jbi.management.admin.AdminServiceImpl.unregisterInstaller(AdminServiceImpl.java:633) at org.objectweb.fractal.julia.generated.Ca4991a65_0.unregisterInstaller(INTERCEPTOR[AdminService]) at org.objectweb.fractal.julia.generated.C1e6fbb30_0.unregisterInstaller(INTERFACE[AdminService]) at org.ow2.petals.jbi.management.task.installation.uninstall.component.UnregisterInstallerTask.execute(UnregisterInstallerTask.java:63) at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78) at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.unloadInstaller(InstallationServiceImpl.java:729) at org.ow2.petals.jbi.management.installation.InstallationServiceImpl.forceUnloadInstaller(InstallationServiceImpl.java:197) at org.objectweb.fractal.julia.generated.C126740c7_0.forceUnloadInstaller(INTERCEPTOR[InstallationService]) at org.objectweb.fractal.julia.generated.C164c7dd2_0.forceUnloadInstaller(INTERFACE[InstallationService]) at org.ow2.petals.jbi.management.autoload.AutoLoaderServiceImpl.performUninstallComponent(AutoLoaderServiceImpl.java:523) at org.ow2.petals.jbi.management.autoload.AutoLoaderServiceImpl.uninstall(AutoLoaderServiceImpl.java:219) at org.ow2.petals.jbi.management.autoload.InstalledDirectoryScanner.run(InstalledDirectoryScanner.java:71) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Caused by: javax.management.InstanceNotFoundException: MBeanServer cannot find MBean with ObjectName org.ow2.petals:type=installer,name=petals-bc-soap at mx4j.server.MX4JMBeanServer.findMBeanMetaData(MX4JMBeanServer.java:491) at mx4j.server.MX4JMBeanServer.unregisterMBean(MX4JMBeanServer.java:924) at org.ow2.petals.jbi.management.admin.AdminServiceImpl.unregisterInstaller(AdminServiceImpl.java:631) ... 13 more [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,316 -CALL-ComponentContextImpl.getMBeanNames() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,316 -CALL-ComponentContextImpl.getMBeanServer() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,321 -CALL-ComponentContextImpl.getWorkspaceRoot() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,321 -CALL-ComponentContextImpl.getWorkspaceRoot() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,322 -CALL-ComponentContextImpl.getWorkspaceRoot() [Petals.JBI-Management.AdminServiceImpl]-FINEST 2011-06-21 13:27:46,324 -CALL-AdminServiceImpl.registerInstaller() [Petals.Container.Installer.petals-bc-soap]-FINEST 2011-06-21 13:27:46,326 -CALL-Installer.stop() [Petals.JBI-Management.InstallationServiceImpl]-INFO 2011-06-21 13:27:46,339 InstallationServiceImpl.unloadInstaller() Installer of the component 'petals-bc-soap' succesfully unloaded [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,339 -END-InstallationServiceImpl.unloadInstaller() [Petals.JBI-Management.InstallationServiceImpl]-FINEST 2011-06-21 13:27:46,340 -END-InstallationServiceImpl.forceUnloadInstaller() ############################### Failed to copy full contents from '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/work/petals-bc-soap-4.1-SNAPSHOT.zip' (19245224) to '/home/cdeneux/workspace/petals-enterprise-3.1.x/petals/container/petals-platform/target/petals-platform-3.1.2-SNAPSHOT/petals-platform-3.1.2-SNAPSHOT/installed/petals-bc-soap-4.1-SNAPSHOT.zip' (0) Dest exist: false ^CPEtALS is stopping... PEtALS container is stopped - 21/06/11 13:27
The file system call traces (strace.zip) show that:
- the component is uninstalled (unloaded) just before to be installed,
- the component uninstallation ends after that the next installation has started.
- the end of uninstallation deletes the file that was written by the next installation
The question is: Why the uninstallation and installation are mixed whereas they are launched sequentially by only one client ?
- the component is uninstalled (unloaded) just before to be installed,
- the component uninstallation ends after that the next installation has started.
- the end of uninstallation deletes the file that was written by the next installation
Upgrading the library common-io to the version 2.0.1 does not solve the problem !
The result of IOUtils.copyLarge used by IOUtils.copy used by FileUtils.doCopyFile is the right value (size of the source file)
Where are written bytes ? In a ghost file ![]()
The exception is thrown by commons-io:1.4 in method FileUtils.doCopyFile because size of the both source and target file are different.
Adding traces into the commons-io:1.4, we can see that the target file size is 0.
Is your problem persist when applying the workaround ?
Workaround: Set the property 'petals.autoloader' to false in the conf file 'server.properties'