activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Dudziak (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (AMQ-2935) java.io.EOFException: Chunk stream does not exist at page on broker start
Date Fri, 08 Oct 2010 01:50:55 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-2935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62442#action_62442
] 

Thomas Dudziak edited comment on AMQ-2935 at 10/7/10 9:50 PM:
--------------------------------------------------------------

FWIW, I get this issue on first write into a new KahaDB store, as well, though not consistently.
In this particular case, ActiveMQ is used in a unit test and KahaDB is configured to write
to a new temporary directory. The startup code looks like this:

File tmpDir = File.createTempFile("activmq", "");

tmpDir.delete();
tmpDir.mkdir();

KahaDBStore kaha = new KahaDBStore();

kaha.setDirectory(localDbDir);

BrokerService broker = new BrokerService();

broker.setUseShutdownHook(true);
broker.setPersistenceAdapter(kaha);
broker.addConnector("vm://localhost:12345" );
broker.start();

Then the very first message (jms producer using via a vm connection) fails with this error:

VMTransport org.apache.activemq.broker.TransportConnection.Transport Transport failed: 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:197)
	at org.apache.activemq.broker.scheduler.SchedulerBroker.getInternalScheduler(SchedulerBroker.java:184)
	at org.apache.activemq.broker.scheduler.SchedulerBroker.send(SchedulerBroker.java:131)
	at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
	at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
	at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:230)
	at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
	at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:460)
	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:663)
	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:309)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
	at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:218)
	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)


      was (Author: tomdz):
    FWIW, I get this issue on first write into a new KahaDB store, as well. In this particular
case, ActiveMQ is used in a unit test and KahaDB is configured to write to a new temporary
directory. The startup code looks like this:

File tmpDir = File.createTempFile("activmq", "");

tmpDir.delete();
tmpDir.mkdir();

KahaDBStore kaha = new KahaDBStore();

kaha.setDirectory(localDbDir);

BrokerService broker = new BrokerService();

broker.setUseShutdownHook(true);
broker.setPersistenceAdapter(kaha);
broker.addConnector("vm://localhost:12345" );
broker.start();

Then the very first message (jms producer using via a vm connection) fails with this error:

VMTransport org.apache.activemq.broker.TransportConnection.Transport Transport failed: 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:197)
	at org.apache.activemq.broker.scheduler.SchedulerBroker.getInternalScheduler(SchedulerBroker.java:184)
	at org.apache.activemq.broker.scheduler.SchedulerBroker.send(SchedulerBroker.java:131)
	at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
	at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
	at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:230)
	at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
	at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:460)
	at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:663)
	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:309)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
	at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:218)
	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

  
> java.io.EOFException: Chunk stream does not exist at page on broker start
> -------------------------------------------------------------------------
>
>                 Key: AMQ-2935
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2935
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.0, 5.4.1, 5.5.0
>         Environment: Win7 32bit, JDK 1.6_20
>            Reporter: Andy
>            Assignee: Gary Tully
>            Priority: Blocker
>             Fix For: 5.5.0
>
>         Attachments: activemq-data.zip, activemq.xml, stacktraces.txt
>
>
> I am seeing this regularly upon restarts in all versions from 5.4.x - I cannot downgrade
due to breaking issues in previous versions.
> The broker was shutdown cleanly with no logged issues.
> Deleting the activemq-data directory seems to be the only recovery solution (which is
not an option in production)
> 2010-09-23 13:54:30,997 [Starting ActiveMQ Broker] ERROR 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:1786)
> 	at org.apache.activemq.broker.BrokerService.start(BrokerService.java:496)
> 	at org.apache.activemq.ra.ActiveMQResourceAdapter$1.run(ActiveMQResourceAdapter.java:85)

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


Mime
View raw message