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

Timothy Bish closed AMQ-1375.
-----------------------------

    Resolution: Incomplete

No tests provided and no info given if this occurs with the 5.x broker.

> ActiveMQ hangs, cannot send message/create temp queue
> -----------------------------------------------------
>
>                 Key: AMQ-1375
>                 URL: https://issues.apache.org/jira/browse/AMQ-1375
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.1.1
>         Environment: Running an embedded broker in standalone java 
> application based on Spring framework on Solaris 10 with JVM version 
> 1.5.0_09. Using non persisten messaging with 512MB limit in memory manager of 
> broker.
>            Reporter: Trevor Higgins
>             Fix For: NEEDS_REVIEWED
>
>         Attachments: jstack_basic.txt
>
>
> We are experiencing severe issues with AMQ blocking sending. We have a basic 
> setup with one standalone server process and many clients. Each client has 
> its own temp queue for P2P request/response type communication. There is also 
> a number of topics broadcast to all clients. Our clients receive messages in 
> an MDP fashion with each message being processed on a single threaded 
> executor by an anonymous Runnable as follows:
> {code}
> public void onMessage(final Message message) {
>       threadRunner.submit(new Runnable() {            
>               public void run() {
>                       try {                           
>                               for(final IReceiverListener listener : 
> listeners) {
>                                       listener.onReceive(message);
>                               }
>                       } catch (Throwable e) {
>                               e.printStackTrace();
>                       }
>               }
>       });
> }
> {code}
> Every so often, the entire AMQ blocks and we cannot send anything anymore. We 
> also cannot create any new temp queues, which means no new client can start 
> up (each creates its own temp queue during startup). Connections are be 
> created and from that a session, but the session.createTemporaryQueue() call 
> alwaysy hangs. This is similar to AMQ-1278, but as we are cannot use 5.0 
> until stable release.......
> Here is the stack of the client trying to create a temp queue
> at Object.wait(long, int) line: not available [native method]
> at CondVar(Object).wait() line: 199
> at CondVar.await() line: 75
> at ArrayBlockingQueue.take() line: 318
> at FutureResponse.getResult() line: 42
> at ResponseCorrelator.request(Object) line: 75
> at ActiveMQConnection.syncSendPacket(Command) line: 1175
> at ActiveMQConnection.createTempDestination(boolean) line: 1594
> at ActiveMQSession.createTemporaryQueue() line: 1134
> at TempDestinationResolver.resolveDestinationName(Session, String, boolean) 
> line: 16
> at 
> SimpleMessageListenerContainer(JmsDestinationAccessor).resolveDestinationName(Session,
>  String) line: 100
> at SimpleMessageListenerContainer.createListenerConsumer(Session) line: 188
> at SimpleMessageListenerContainer.doInitialize() line: 171
> at SimpleMessageListenerContainer(AbstractJmsListeningContainer).initialize() 
> line: 160
> at 
> SimpleMessageListenerContainer(AbstractJmsListeningContainer).afterPropertiesSet()
>  line: 133
> at 
> DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).invokeInitMethods(String,
>  Object, RootBeanDefinition) line: 1202
> at 
> DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).initializeBean(String,
>  Object, RootBeanDefinition) line: 1172
> at 
> DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String,
>  RootBeanDefinition, Object[]) line: 428
> at AbstractBeanFactory$1.getObject() line: 251
> at 
> DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, 
> ObjectFactory) line: 156
> at DefaultListableBeanFactory(AbstractBeanFactory).getBean(String, Class, 
> Object[]) line: 248
> at DefaultListableBeanFactory(AbstractBeanFactory).getBean(String) line: 160
> at DefaultListableBeanFactory.preInstantiateSingletons() line: 287
> at FileSystemXmlApplicationContext(AbstractApplicationContext).refresh() 
> line: 352
> at FileSystemXmlApplicationContext.<init>(String[], ApplicationContext) line: 
> 93
> at FileSystemXmlApplicationContext.<init>(String[]) line: 77
> at FileSystemXmlApplicationContext.<init>(String) line: 67
> at BindingService.<init>() line: 65
> at BindingService.getInstance() line: 43
> at TopologyServiceFactory.initialize() line: 123
> at TopologyManager.initialize() line: 31
> at TopologyView$3.run(IProgressMonitor) line: 159
> at Worker.run() line: 55
> I have attached a JStack of the server  process with embedded broker also.
> From our client side the only thing I am dubious about is the retention of 
> the reference to the message until the anonymous Runnable is executed. Could 
> this cause issues is for some reason the execution blocked, will the messages 
> build up in AMQ?
> From looking at JConsole for the broker, the memoryPercentageUsed is zero so 
> it doesnt appear to be a RAM issue.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to