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

[jira] Commented: (AMQ-3091) CTRL+C not working properly when using "activemq console" on cygwin

    [ https://issues.apache.org/jira/browse/AMQ-3091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12972012#action_12972012 ] 

Torsten Mielke commented on AMQ-3091:
-------------------------------------

Have tried a couple of different options for launching the JVM but have not found a quick solution to it. 
Workaround is to either use the batch file activemq.bat on cygwin/Windows or use activemq start/stop and start these processes in the background.


> CTRL+C not working properly when using "activemq console" on cygwin
> -------------------------------------------------------------------
>
>                 Key: AMQ-3091
>                 URL: https://issues.apache.org/jira/browse/AMQ-3091
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.1
>         Environment: ActiveMQ 5.4.1 on cygwin/Windows
>            Reporter: Torsten Mielke
>
> When running "activemq console", the shell script invokes "sh -c ..." to start ActiveMQ in console mode. This prints out 
> This does not work properly when running on cygwin/Windows, because when stopping ActiveMQ using CTRL+C, it stops the entire shell that as started, which does not allow ActiveMQ to shut down gracefully. The JVM running ActiveMQ gets killed brute forcefully. 
> Trying to restart ActiveMQ thereafter results in a corrupted message store and this error being printed [1].
> IMHO, this is a problem in the way how the cygwin shell handles CTRL+C, it does not seem to pass on the signal to the JVM it runs. 
> {code}
> 2010-12-16 10:11:30,251 INFO main org.apache.activemq.broker.BrokerService - Using Persistence Adapter: KahaDBPersistenceAdapter[C:\AMQ\apache-activemq-5.4.1\data\kahadb]
> 2010-12-16 10:11:34,720 INFO main org.apache.activemq.store.kahadb.MessageDatabase - KahaDB is version 2
> 2010-12-16 10:11:35,095 INFO main org.apache.activemq.store.kahadb.MessageDatabase - Recovering from the journal ...
> 2010-12-16 10:11:35,095 INFO main org.apache.activemq.store.kahadb.MessageDatabase - Recovery replayed 2 operations from the journal in 0.344 seconds.
> 2010-12-16 10:11:35,251 INFO main org.apache.activemq.broker.BrokerService - ActiveMQ 5.4.1 JMS Message Broker (localhost) is starting
> 2010-12-16 10:11:35,251 INFO main org.apache.activemq.broker.BrokerService - For help or more information please see: http://activemq.apache.org/
> 2010-12-16 10:11:35,876 INFO main org.apache.activemq.broker.scheduler.SchedulerBroker - Scheduler using directory: C:\AMQ\apache-activemq-5.4.1\data\localhost\scheduler
> 2010-12-16 10:11:37,360 ERROR main org.apache.activemq.broker.BrokerService - Failed to start ActiveMQ JMS Message Broker. Reason: java.io.EOFException: Chunk stream does not exist at page: 0
> java.io.EOFException: Chunk stream does not exist at page: 0
>         at org.apache.kahadb.page.Transaction$2.readPage(Transaction.java:454)
>         at org.apache.kahadb.page.Transaction$2.<init>(Transaction.java:431)
>         at org.apache.kahadb.page.Transaction.openInputStream(Transaction.java:428)
>         at org.apache.kahadb.page.Transaction.load(Transaction.java:404)
>         at org.apache.kahadb.page.Transaction.load(Transaction.java:361)
>         at org.apache.activemq.broker.scheduler.JobSchedulerStore$3.execute(JobSchedulerStore.java:250)
>         at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>         at org.apache.activemq.broker.scheduler.JobSchedulerStore.doStart(JobSchedulerStore.java:239)
>         at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:53)
>         at org.apache.activemq.broker.scheduler.SchedulerBroker.getStore(SchedulerBroker.java:198)
>         at org.apache.activemq.broker.scheduler.SchedulerBroker.getInternalScheduler(SchedulerBroker.java:185)
>         at org.apache.activemq.broker.scheduler.SchedulerBroker.start(SchedulerBroker.java:85)
>         at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
>         at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
>         at org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:112)
>         at org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1788)
>         at org.apache.activemq.broker.BrokerService.start(BrokerService.java:496)
>         at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:60)
>         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.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>         at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
>         at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>         at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
>         at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
>         at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
>         at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
>         at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
>         at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
>         at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
>         at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
>         at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>         at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:143)
>         at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>         at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:85)
>         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.apache.activemq.console.Main.runTaskClass(Main.java:251)
>         at org.apache.activemq.console.Main.main(Main.java:107)
> 2010-12-16 10:11:37,407 INFO main org.apache.activemq.broker.BrokerService - ActiveMQ Message Broker (localhost, null) is shutting down
> 2010-12-16 10:11:37,407 INFO main org.apache.activemq.broker.TransportConnector - Connector openwire Stopped
> 2010-12-16 10:11:37,720 INFO main org.apache.activemq.broker.scheduler.JobSchedulerStore - JobSchedulerStore:C:\AMQ\apache-activemq-5.4.1\data\localhost\scheduler stopped
> 2010-12-16 10:11:37,720 INFO main org.apache.activemq.store.kahadb.plist.PListStore - PListStore:C:\AMQ\apache-activemq-5.4.1\data\localhost\tmp_storage stopped
> 2010-12-16 10:11:37,720 INFO main org.apache.activemq.store.kahadb.KahaDBStore - Stopping async queue tasks
> 2010-12-16 10:11:37,720 INFO main org.apache.activemq.store.kahadb.KahaDBStore - Stopping async topic tasks
> 2010-12-16 10:11:37,720 INFO main org.apache.activemq.store.kahadb.KahaDBStore - Stopped KahaDB
> 2010-12-16 10:11:38,235 INFO main org.apache.activemq.broker.BrokerService - ActiveMQ JMS Message Broker (localhost, null) stopped
> {code}

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