You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Dejan Bosanac (JIRA)" <ji...@apache.org> on 2010/12/02 14:10:25 UTC

[jira] Updated: (AMQ-2505) Problem with servicing broker messages when client hostName contains "language specific" characters (org.apache.activemq.util.IdGenerator problem)

     [ https://issues.apache.org/jira/browse/AMQ-2505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dejan Bosanac updated AMQ-2505:
-------------------------------

    Fix Version/s:     (was: 5.4.2)
                   5.5.0

> Problem with servicing broker messages when client hostName contains "language specific" characters (org.apache.activemq.util.IdGenerator problem)
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2505
>                 URL: https://issues.apache.org/jira/browse/AMQ-2505
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.2.0
>         Environment: Windows XP SP2
>            Reporter: Pawel Sniezek
>             Fix For: 5.5.0
>
>
> When name of the activeMQ client machine contains "language specific" letters (e.g. "Gł_Ksiegowa") communication fails:
> "Caused by: java.io.IOException: Failed to broker message: ID:Gł_Ksiegowa-1407-1256558735734-0:2:3:1:1 in container: java.io.UTFDataFormatException: bad string "
> To resolve the problem in our system we've changed org.apache.activemq.util.IdGenerator code - we replaced line:
> "hostName = InetAddress.getLocalHost().getHostName();"
> with:
> "hostName = InetAddress.getLocalHost().getHostAddress();"
> The whole exception below:
> ERROR 2009-10-26 13:07:30,781 [AWT-EventQueue-0] - Local JMS transaction failed to commit; nested exception is javax.jms.JMSException: POST COMMIT FAILED 
> org.springframework.jms.connection.SynchedLocalTransactionFailedException: Local JMS transaction failed to commit; nested exception is javax.jms.JMSException: POST COMMIT FAILED 
> at org.springframework.jms.connection.ConnectionFactoryUtils$JmsResourceSynchronization.processResourceAfterCommit(ConnectionFactoryUtils.java:408) 
> at org.springframework.transaction.support.ResourceHolderSynchronization.afterCommit(ResourceHolderSynchronization.java:74) 
> at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCommit(TransactionSynchronizationUtils.java:114) 
> at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerAfterCommit(TransactionSynchronizationUtils.java:100) 
> at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit(AbstractPlatformTransactionManager.java:931) 
> at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:774) 
> at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701) 
> at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321) 
> at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116) 
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 
> at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635) 
> at info.fingo.asist.gui.controls.periodslist.status.ReportStatusHelper$$EnhancerByCGLIB$$2dab363.changeReportsStatus(<generated>) 
> at info.fingo.asist.action.ChangeReportStatusAction.asistActionPerformed(ChangeReportStatusAction.java:30) 
> at info.fingo.asist.action.MultiReportAction.asistActionPerformed(MultiReportAction.java:80) 
> at info.fingo.asist.action.AsistAction.fireAsistActionPerformed(AsistAction.java:297) 
> at info.fingo.asist.action.AsistAction.actionPerformed(AsistAction.java:322) 
> at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
> at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
> at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
> at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
> at javax.swing.AbstractButton.doClick(Unknown Source) 
> at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) 
> at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source) 
> at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) 
> at java.awt.Component.processMouseEvent(Unknown Source) 
> at javax.swing.JComponent.processMouseEvent(Unknown Source) 
> at java.awt.Component.processEvent(Unknown Source) 
> at java.awt.Container.processEvent(Unknown Source) 
> at java.awt.Component.dispatchEventImpl(Unknown Source) 
> at java.awt.Container.dispatchEventImpl(Unknown Source) 
> at java.awt.Component.dispatchEvent(Unknown Source) 
> at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
> at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
> at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
> at java.awt.Container.dispatchEventImpl(Unknown Source) 
> at java.awt.Window.dispatchEventImpl(Unknown Source) 
> at java.awt.Component.dispatchEvent(Unknown Source) 
> at java.awt.EventQueue.dispatchEvent(Unknown Source) 
> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
> at java.awt.EventDispatchThread.run(Unknown Source) 
> Caused by: javax.jms.JMSException: POST COMMIT FAILED 
> at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) 
> at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1244) 
> at org.apache.activemq.TransactionContext.commit(TransactionContext.java:263) 
> at org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:502) 
> at org.springframework.jms.connection.JmsResourceHolder.commitAll(JmsResourceHolder.java:182) 
> at org.springframework.jms.connection.ConnectionFactoryUtils$JmsResourceSynchronization.processResourceAfterCommit(ConnectionFactoryUtils.java:405) 
> ... 43 more 
> Caused by: javax.transaction.xa.XAException: POST COMMIT FAILED 
> at org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:77) 
> at org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:154) 
> at org.apache.activemq.broker.BrokerFilter.commitTransaction(BrokerFilter.java:94) 
> at org.apache.activemq.broker.BrokerFilter.commitTransaction(BrokerFilter.java:94) 
> at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:104) 
> at org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:424) 
> at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:99) 
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294) 
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185) 
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65) 
> at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:133) 
> at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122) 
> at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84) 
> at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137) 
> at java.lang.Thread.run(Unknown Source) 
> Caused by: java.lang.RuntimeException: java.io.IOException: Failed to broker message: ID:Gł_Ksiegowa-1407-1256558735734-0:2:3:1:1 in container: java.io.UTFDataFormatException: bad string 
> at org.apache.activemq.broker.region.IndirectMessageReference.incrementReferenceCount(IndirectMessageReference.java:103) 
> at org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:170) 
> at org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:129) 
> at org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy.dispatch(RoundRobinDispatchPolicy.java:58) 
> at org.apache.activemq.broker.region.Queue.dispatch(Queue.java:520) 
> at org.apache.activemq.broker.region.Queue.access$600(Queue.java:75) 
> at org.apache.activemq.broker.region.Queue$3.afterCommit(Queue.java:341) 
> at org.apache.activemq.transaction.Transaction.fireAfterCommit(Transaction.java:83) 
> at org.apache.activemq.transaction.LocalTransaction.commit(LocalTransaction.java:71) 
> ... 14 more 
> Caused by: java.io.IOException: Failed to broker message: ID:Gł_Ksiegowa-1407-1256558735734-0:2:3:1:1 in container: java.io.UTFDataFormatException: bad string 
> at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31) 
> at org.apache.activemq.store.jdbc.JDBCMessageStore.getMessage(JDBCMessageStore.java:107) 
> at org.apache.activemq.store.ProxyMessageStore.getMessage(ProxyMessageStore.java:48) 
> at org.apache.activemq.broker.region.IndirectMessageReference.incrementReferenceCount(IndirectMessageReference.java:95) 
> ... 22 more 
> Caused by: java.io.UTFDataFormatException: bad string 
> at org.apache.activemq.util.DataByteArrayInputStream.readUTF(DataByteArrayInputStream.java:277) 
> at org.apache.activemq.openwire.v2.BaseDataStreamMarshaller.looseUnmarshalString(BaseDataStreamMarshaller.java:536) 
> at org.apache.activemq.openwire.v2.ConnectionIdMarshaller.looseUnmarshal(ConnectionIdMarshaller.java:113) 
> at org.apache.activemq.openwire.OpenWireFormat.looseUnmarshalNestedObject(OpenWireFormat.java:445) 
> at org.apache.activemq.openwire.v2.BaseDataStreamMarshaller.looseUnmarsalCachedObject(BaseDataStreamMarshaller.java:454) 
> at org.apache.activemq.openwire.v2.LocalTransactionIdMarshaller.looseUnmarshal(LocalTransactionIdMarshaller.java:117) 
> at org.apache.activemq.openwire.OpenWireFormat.looseUnmarshalNestedObject(OpenWireFormat.java:445) 
> at org.apache.activemq.openwire.v2.BaseDataStreamMarshaller.looseUnmarsalCachedObject(BaseDataStreamMarshaller.java:454) 
> at org.apache.activemq.openwire.v2.MessageMarshaller.looseUnmarshal(MessageMarshaller.java:195) 
> at org.apache.activemq.openwire.v2.ActiveMQMessageMarshaller.looseUnmarshal(ActiveMQMessageMarshaller.java:101) 
> at org.apache.activemq.openwire.v2.ActiveMQObjectMessageMarshaller.looseUnmarshal(ActiveMQObjectMessageMarshaller.java:101) 
> at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:349) 
> at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:204) 
> at org.apache.activemq.store.jdbc.JDBCMessageStore.getMessage(JDBCMessageStore.java:104) 
> ... 24 more  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.