Bug 602475 - version detail incorrect when creating exploded war content with tomcat
version detail incorrect when creating exploded war content with tomcat
Status: CLOSED DUPLICATE of bug 761593
Product: RHQ Project
Classification: Other
Component: Content (Show other bugs)
unspecified
All Linux
low Severity high (vote)
: ---
: ---
Assigned To: Stefan Negrea
Mike Foley
:
Depends On:
Blocks: ews1.0.2 758753 788629
  Show dependency treegraph
 
Reported: 2010-06-09 18:27 EDT by Simeon Pinder
Modified: 2012-02-08 11:28 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-02-07 09:48:36 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Simeon Pinder 2010-06-09 18:27:59 EDT
Description of problem: When uploading new exploded .war files to a tomcat instance, the version details are not being correctly displayed.  This occurs when the agent encounters a newly uploaded package but no SHA can be determined/located to match it up to the packageVersion that was just created. In the case of exploded .war files, the plugin responsible for deployment should be calculating the SHA on deploy and storing in the manifest.  

See BZ 589173 for more details (specifically commits) on how this was solved for JBoss AS and AS5 plugins.   

Version-Release number of selected component (if applicable):
Jon 2.4.0Beta1

How reproducible:
Always.

Steps to Reproduce:
1. Import a configured tomcat instance for jon.
2. Deploy hello.war to tomcat, specifying version 3.2.
3. After successful, wait a few minutes for discover and merge to complete, then navigate to the 'hello.war' instance deployed and subselect the 'Content' tab.  Verify that the deployed package version information is mostly empty or defaults(file size, sha, install date, file name).
  
Actual results:
Content tab for uploaded resource is mostly empty/unpopulated.

Expected results:
Values should be populated correctly, and no constraint violations should be occurring.

Additional info:
On a server where this has been reproduced, open http://localhost:7080/admin/test/sql.jsp and execute the following query :

select * from rhq_package_version;

to see that there is now and entry for 'hello.war' without a SHA entry.  Two package versions for hello.war should also exist now too. 

This will cause the following constraint violations like the following because unique package values have not been loaded correctly:
###################
#
16:19:48,873 INFO [ContentManagerBean] Deploying 1 packages on resource ID [11461]
#
16:19:48,969 INFO [ContentManagerBean] Completing deploy package response: org.rhq.core.domain.content.transfer.DeployPackagesResponse@129c3303
#
16:19:49,020 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 23505
#
16:19:49,020 ERROR [JDBCExceptionReporter] Batch entry 0 insert into RHQ_PACKAGE_VERSION (PACKAGE_ID, DISPLAY_NAME, SHORT_DESCRIPTION, LONG_DESCRIPTION, VERSION, DISPLAY_VERSION, ARCHITECTURE_ID, FILE_NAME, FILE_SIZE, FILE_MD5, FILE_SHA256, FILE_CREATION_TIME, LICENSE_NAME, LICENSE_VERSION, METADATA, CONFIG_ID, PACKAGE_BITS_ID, ID) values ('10191', NULL, NULL, NULL, '6.1', NULL, '1', 'sample-6', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10241') was aborted. Call getNextException to see the cause.
#
16:19:49,020 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 23505
#
16:19:49,021 ERROR [JDBCExceptionReporter] ERROR: duplicate key value violates unique constraint "rhq_package_version_idx"
#
16:19:49,021 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
#
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
#
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
#
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
#
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:254)
#
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
#
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
#
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
#
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
#
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
#
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
#
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
#
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
#
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:247)
#
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
#
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
#
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1389)
#
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
#
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
#
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
#
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
#
at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
#
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
#
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
#
at $Proxy374.persistPackageVersion(Unknown Source)
#
at org.rhq.enterprise.server.content.ContentManagerBean.persistOrMergePackageVersionSafely(ContentManagerBean.java:1293)
#
at org.rhq.enterprise.server.content.ContentManagerBean.mergeDiscoveredPackages(ContentManagerBean.java:259)
#
at sun.reflect.GeneratedMethodAccessor1278.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
#
at org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:77)
#
at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
#
at org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:156)
#
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
#
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
#
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
#
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
#
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
#
at $Proxy374.mergeDiscoveredPackages(Unknown Source)
#
at org.rhq.enterprise.server.content.ContentServerServiceImpl.mergeDiscoveredPackages(ContentServerServiceImpl.java:56)
#
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 org.rhq.enterprise.communications.command.impl.remotepojo.server.RemotePojoInvocationCommandService.execute(RemotePojoInvocationCommandService.java:184)
#
at sun.reflect.GeneratedMethodAccessor218.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
#
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
#
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
#
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
#
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
#
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
#
at $Proxy537.execute(Unknown Source)
#
at org.rhq.enterprise.communications.command.server.CommandProcessor.handleIncomingInvocationRequest(CommandProcessor.java:290)
#
at org.rhq.enterprise.communications.command.server.CommandProcessor.invoke(CommandProcessor.java:184)
#
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
#
at org.jboss.remoting.transport.servlet.ServletServerInvoker.processRequest(ServletServerInvoker.java:232)
#
at sun.reflect.GeneratedMethodAccessor212.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
#
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
#
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
#
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
#
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
#
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
#
at $Proxy432.processRequest(Unknown Source)
#
at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.processRequest(ServerInvokerServlet.java:128)
#
at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.doPost(ServerInvokerServlet.java:157)
#
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
#
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:124)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
#
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
#
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
#
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
#
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
#
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
#
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
#
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
#
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
#
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
#
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
#
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
#
at java.lang.Thread.run(Thread.java:619)
#
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into RHQ_PACKAGE_VERSION (PACKAGE_ID, DISPLAY_NAME, SHORT_DESCRIPTION, LONG_DESCRIPTION, VERSION, DISPLAY_VERSION, ARCHITECTURE_ID, FILE_NAME, FILE_SIZE, FILE_MD5, FILE_SHA256, FILE_CREATION_TIME, LICENSE_NAME, LICENSE_VERSION, METADATA, CONFIG_ID, PACKAGE_BITS_ID, ID) values ('10191', NULL, NULL, NULL, '6.1', NULL, '1', 'sample-6', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10241') was aborted. Call getNextException to see the cause.
#
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2569)
#
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1796)
#
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:407)
#
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2708)
#
at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:455)
#
at $Proxy49.executeBatch(Unknown Source)
#
at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeBatch(CachedPreparedStatement.java:476)
#
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:774)
#
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
#
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:247)
#
... 129 more
#
16:19:49,053 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@4bb67afb
#
javax.persistence.EntityExistsException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
#
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:604)
#
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:524)
#
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
#
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:247)
#
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
#
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
#
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1389)
#
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
#
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
#
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
#
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
#
at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
#
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
#
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
#
at $Proxy374.persistPackageVersion(Unknown Source)
#
at org.rhq.enterprise.server.content.ContentManagerBean.persistOrMergePackageVersionSafely(ContentManagerBean.java:1293)
#
at org.rhq.enterprise.server.content.ContentManagerBean.mergeDiscoveredPackages(ContentManagerBean.java:259)
#
at sun.reflect.GeneratedMethodAccessor1278.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
#
at org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:77)
#
at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
#
at org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:156)
#
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
#
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
#
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
#
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
#
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
#
at $Proxy374.mergeDiscoveredPackages(Unknown Source)
#
at org.rhq.enterprise.server.content.ContentServerServiceImpl.mergeDiscoveredPackages(ContentServerServiceImpl.java:56)
#
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 org.rhq.enterprise.communications.command.impl.remotepojo.server.RemotePojoInvocationCommandService.execute(RemotePojoInvocationCommandService.java:184)
#
at sun.reflect.GeneratedMethodAccessor218.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
#
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
#
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
#
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
#
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
#
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
#
at $Proxy537.execute(Unknown Source)
#
at org.rhq.enterprise.communications.command.server.CommandProcessor.handleIncomingInvocationRequest(CommandProcessor.java:290)
#
at org.rhq.enterprise.communications.command.server.CommandProcessor.invoke(CommandProcessor.java:184)
#
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
#
at org.jboss.remoting.transport.servlet.ServletServerInvoker.processRequest(ServletServerInvoker.java:232)
#
at sun.reflect.GeneratedMethodAccessor212.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
#
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
#
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
#
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
#
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
#
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
#
at $Proxy432.processRequest(Unknown Source)
#
at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.processRequest(ServerInvokerServlet.java:128)
#
at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.doPost(ServerInvokerServlet.java:157)
#
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
#
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:124)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
#
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
#
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
#
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
#
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
#
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
#
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
#
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
#
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
#
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
#
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
#
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
#
at java.lang.Thread.run(Thread.java:619)
#
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
#
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
#
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
#
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:254)
#
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
#
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
#
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
#
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
#
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
#
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
#
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
#
... 122 more
#
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into RHQ_PACKAGE_VERSION (PACKAGE_ID, DISPLAY_NAME, SHORT_DESCRIPTION, LONG_DESCRIPTION, VERSION, DISPLAY_VERSION, ARCHITECTURE_ID, FILE_NAME, FILE_SIZE, FILE_MD5, FILE_SHA256, FILE_CREATION_TIME, LICENSE_NAME, LICENSE_VERSION, METADATA, CONFIG_ID, PACKAGE_BITS_ID, ID) values ('10191', NULL, NULL, NULL, '6.1', NULL, '1', 'sample-6', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10241') was aborted. Call getNextException to see the cause.
#
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2569)
#
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1796)
#
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:407)
#
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2708)
#
at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:455)
#
at $Proxy49.executeBatch(Unknown Source)
#
at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeBatch(CachedPreparedStatement.java:476)
#
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:774)
#
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
#
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:247)
#
... 129 more
#
16:19:49,097 WARN [ContentManagerBean] There was probably a very big and ugly EJB/hibernate error just above this log message - you can normally ignore that. We detected that a package version was already created when we tried to do it also - we will ignore this and just use the new package version that was created in the other thread
#
java.lang.Throwable: Stack Trace:
#
at org.rhq.enterprise.server.content.ContentManagerBean.persistOrMergePackageVersionSafely(ContentManagerBean.java:1320)
#
at org.rhq.enterprise.server.content.ContentManagerBean.mergeDiscoveredPackages(ContentManagerBean.java:259)
#
at sun.reflect.GeneratedMethodAccessor1278.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
#
at org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:77)
#
at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
#
at org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:156)
#
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
#
at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
#
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
#
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
#
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
#
at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
#
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
#
at $Proxy374.mergeDiscoveredPackages(Unknown Source)
#
at org.rhq.enterprise.server.content.ContentServerServiceImpl.mergeDiscoveredPackages(ContentServerServiceImpl.java:56)
#
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 org.rhq.enterprise.communications.command.impl.remotepojo.server.RemotePojoInvocationCommandService.execute(RemotePojoInvocationCommandService.java:184)
#
at sun.reflect.GeneratedMethodAccessor218.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
#
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
#
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
#
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
#
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
#
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
#
at $Proxy537.execute(Unknown Source)
#
at org.rhq.enterprise.communications.command.server.CommandProcessor.handleIncomingInvocationRequest(CommandProcessor.java:290)
#
at org.rhq.enterprise.communications.command.server.CommandProcessor.invoke(CommandProcessor.java:184)
#
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
#
at org.jboss.remoting.transport.servlet.ServletServerInvoker.processRequest(ServletServerInvoker.java:232)
#
at sun.reflect.GeneratedMethodAccessor212.invoke(Unknown Source)
#
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
#
at java.lang.reflect.Method.invoke(Method.java:597)
#
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
#
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
#
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
#
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
#
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
#
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
#
at $Proxy432.processRequest(Unknown Source)
#
at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.processRequest(ServerInvokerServlet.java:128)
#
at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.doPost(ServerInvokerServlet.java:157)
#
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
#
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:124)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
#
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
#
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
#
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
#
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
#
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
#
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
#
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
#
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
#
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
#
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
#
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
#
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
#
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
#
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
#
at java.lang.Thread.run(Thread.java:619)
###################
Comment 1 Jay Shaughnessy 2010-06-09 18:35:55 EDT
The workaround is to deploy as an archive (exploded=false).

A partial workaround is to ensure that the war's manifest file includes a proper implementation-version attribute.

Note that a side-effect of this issue is that the user-entered version string will be replaced by either the manifest version, if provided, or "0" which is the default for a discovered app.
Comment 2 Stefan Negrea 2012-02-07 09:48:06 EST
This is a duplicate of bug 761593.
Comment 3 Stefan Negrea 2012-02-07 09:48:36 EST

*** This bug has been marked as a duplicate of bug 761593 ***

Note You need to log in before you can comment on or make changes to this bug.