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.

Reply via email to