Details
Description
Let's say you deploy foo with no version number and config.xml content. Then through the console or some other mechanism, you set a property on a previously unlisted GBean. Now you get something like this:
<module name="default/foo/1149955208117/war">
<gbean name="default/foo/1149955208117/war?J2EEApplication=null,WebModule=default/foo/1149955208117/war,j2eeType=GBean,name=MyGBean">
<attribute name="bar">value</attribute>
Now you redeploy foo, and it migrates the config.xml entry to the new version number. However, what you actually get is this:
<module name="default/foo/1149955408117/war">
<gbean name="default/foo/1149955223470/war?J2EEApplication=null,WebModule=default/foo/1149955223470/war,j2eeType=GBean,name=MyGBean">
<attribute name="bar">value</attribute>
Note the different version numbers between module and gbean elements. In other words, the version in the main config.xml entry is updated, but the version in the GBean entries is not. This means that the module will fail to start, as it will treat the GBean as a brand new GBean declaration and crap out when it has no GBeanInfo defined.