geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Sisson (JIRA)" <>
Subject [jira] Created: (GERONIMO-1787) Possible to have a configuration partially installed that is not possible to undeploy
Date Wed, 29 Mar 2006 02:53:19 GMT
Possible to have a configuration partially installed that is not possible to undeploy

         Key: GERONIMO-1787
     Project: Geronimo
        Type: Bug
  Components: deployment, kernel  
    Versions: 1.0    
 Environment: Windows XP
1.0 branch rev 379335.
    Reporter: John Sisson
    Priority: Minor
     Fix For: 1.1

When a configuration is being deployed, it causes GBeans to be serialized to the config store.
 During serialization, static initializers in EJBs are executed.  If the static initializers
in the EJBs throw an exception it appears to leave the config in the config store in a partially
deployed state that cannot be undeployed.

The workaround to undeploy it is to edit the geronimo\config-store\ file and
to delete the numbered directory for the configuration under the geronimo\config-store directory.

Here is an example of a static initializer of an EJB being executed during deployment.  (More
info below stack trace).

    System Thread [RMI TCP Connection(5)-] (Suspended (exception java.lang.ClassCastException))
org.apache.xerces.xni.grammars.XMLGrammarPool) line: not available
        org.apache.xerces.parsers.DOMParser.<init>() line: not available
        com.acme.myapp.ejb.MyBean.<clinit>() line: not available line: not available
[native method] line: 1557$100(java.lang.Class) line: 47$ line: 173 line:
not available [native method] line: 170 line: 557 line: 591, boolean) line:
1142, boolean) line:
1100, boolean) line: 1082, boolean) line: 996,
line: 1332,
line: 1304,,
boolean) line: 1247, boolean) line: 1052,
line: 1332,
line: 1304,,
boolean) line: 1247, boolean) line: 1052,
line: 1332,
line: 1304,,
boolean) line: 1247, boolean) line: 1052,
line: 1332,
line: 1304,,
boolean) line: 1247, boolean) line: 1052 line: 278
        org.apache.geronimo.gbean.GBeanData.writeExternal( line: 137
        org.apache.geronimo.kernel.config.Configuration.storeGBeans(java.util.List) line:
line: 166
        org.apache.geronimo.system.configuration.ExecutableConfigurationUtil.writeConfiguration(org.apache.geronimo.kernel.config.ConfigurationData, line: 122
        org.apache.geronimo.system.configuration.LocalConfigStore.install(org.apache.geronimo.kernel.config.ConfigurationData, line: 269
java.lang.Object, java.lang.Object[]) line: not available

The user will end up getting the following exception on the deploy command:

org.apache.geronimo.kernel.config.InvalidConfigException: Could not extract gbean data from
        at org.apache.geronimo.kernel.config.ConfigurationManagerImpl.loadGBeans(
        at org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)

If you look at the geronimo\config-store\ file, there is an entry for the
configuration that didn't deploy properly.  Also there is a numbered config directory for
the configuration that didn't deploy properly under the geronimo\config-store directory.

If the user then attempts to undeploy the application they get an error similar to the following:

    com.acme.myapp/1.0/car does
    not appear to be a the name of a module available on the selected
    server. Perhaps it has already been stopped or undeployed?  If
    you're trying to specify a TargetModuleID, use the syntax
    TargetName|ModuleName instead. If you're not sure what's running,
    try the list-modules command.

This appears to be due to a NPE in NPE in org.apache.geronimo.kernel.config.Configuration.unloadGBeans()
Line 328.  This NPE gets caught by org.apache.geronimo.kernel.config.EditableConfigurationManagerImpl.unload()
Line 231 and in turn a NoSuchConfigException("Problem unloading config: " exception is thrown.

Need to review in 1.1 branch.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message