Petals ESB Container

Unable to load a new installer under a high cycle of installations/uninstallations of a component

Details

  • Type: Bug Bug
  • Status: New New
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 3.1.1
  • Fix Version/s: None
  • 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
    Show
    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
  • Environment:
    -
  1. strace.zip
    (142 kB)
    Christophe DENEUX
    Tue, 21 Jun 2011 - 09:19:25 +0200

Activity

Hide
Christophe DENEUX added a comment - Mon, 20 Jun 2011 - 21:46:41 +0200

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.

Show
Christophe DENEUX added a comment - Mon, 20 Jun 2011 - 21:46:41 +0200 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.
Hide
Christophe DENEUX added a comment - Mon, 20 Jun 2011 - 21:58:26 +0200

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

Show
Christophe DENEUX added a comment - Mon, 20 Jun 2011 - 21:58:26 +0200 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
Hide
Christophe DENEUX added a comment - Mon, 20 Jun 2011 - 23:32:45 +0200

Upgrading the library common-io to the version 2.0.1 does not solve the problem !

Show
Christophe DENEUX added a comment - Mon, 20 Jun 2011 - 23:32:45 +0200 Upgrading the library common-io to the version 2.0.1 does not solve the problem !
Hide
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 09:19:25 +0200 - edited

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 ?

Show
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 09:19:25 +0200 - edited 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 ?
Hide
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 13:47:57 +0200

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:

  1. The component is uninstall,
  2. Another command JMX install the same component,
  3. In the same time, as the component is removed from $PETALS_HOME/installed by 1), an uninstallation is launch by the autoloader
  4. 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
Show
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 13:47:57 +0200 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:
  1. The component is uninstall,
  2. Another command JMX install the same component,
  3. In the same time, as the component is removed from $PETALS_HOME/installed by 1), an uninstallation is launch by the autoloader
  4. 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
Hide
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 13:48:26 +0200

Autoloader and InstallationService MUST be synchronized on uninstallation

Show
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 13:48:26 +0200 Autoloader and InstallationService MUST be synchronized on uninstallation
Hide
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 21:11:52 +0200

The same problem should occur when uninstallation shared library, and undeploying service assembly

Show
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 21:11:52 +0200 The same problem should occur when uninstallation shared library, and undeploying service assembly
Hide
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 21:50:41 +0200

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.

Show
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 21:50:41 +0200 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.
Hide
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 21:52:24 +0200

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.

Show
Christophe DENEUX added a comment - Tue, 21 Jun 2011 - 21:52:24 +0200 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.
Hide
Christophe Hamerling added a comment - Thu, 18 Aug 2011 - 15:55:04 +0200

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");
                }
            }
        }
Show
Christophe Hamerling added a comment - Thu, 18 Aug 2011 - 15:55:04 +0200 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");
                }
            }
        }
Hide
Christophe DENEUX added a comment - Wed, 24 Aug 2011 - 12:05:15 +0200

Is your problem persist when applying the workaround ?

Workaround: Set the property 'petals.autoloader' to false in the conf file 'server.properties'

Show
Christophe DENEUX added a comment - Wed, 24 Aug 2011 - 12:05:15 +0200 Is your problem persist when applying the workaround ? Workaround: Set the property 'petals.autoloader' to false in the conf file 'server.properties'

People

Dates

  • Created:
    Mon, 20 Jun 2011 - 21:35:53 +0200
    Updated:
    Wed, 24 Aug 2011 - 12:05:15 +0200