You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Eric Charles <er...@apache.org> on 2010/10/10 18:31:58 UTC

ActiveMQ the cause?

Hi,

I have on James 3 (trunk of 2 week ago) my INBOX with 10 subfolders, 
some of these subfolders having more than 10.000 mails.
I mainly use a PC, so the IMAP sync is done regulary along the day.

I also have another PC I synchronize once a week.
During the IMAP sync of that PC, I selected randomly some subfolders and 
saw (this occured twice, but not always...):
- Thunderbird syncs well during a some minutes (10?)
- After, Thunderbird begins to say "downloading xx of yy mails".. .when 
yy is reached, he says "downloading ww of zz" where zz is a little 
greater than yy.
- I wait, wait, and finally have timeout, and the mails are no more 
viewable in thunderbird.

James is stucked.
The first time I had OOM (I think), today, I had no OOM, but James was 
no more reachable via IMAP, though accepting mails via SMTP.

I stopped, and when restarting, I had the following exception (James was 
not usable anymore):
INFO  18:16:37,646 | org.apache.activemq.store.kahadb.plist.PListStore | 
PListStore:activemq-data/localhost/tmp_storage started
INFO  18:16:37,648 | org.apache.activemq.broker.BrokerService | Using 
Persistence Adapter: 
KahaDBPersistenceAdapter[activemq-data/localhost/KahaDB]
INFO  18:16:38,248 | org.apache.activemq.store.kahadb.plist.PListStore | 
PListStore:../data/localhost/tmp_storage started
ERROR 18:16:38,301 | 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.store.kahadb.MessageDatabase$1.execute(MessageDatabase.java:243)
         at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
         at 
org.apache.activemq.store.kahadb.MessageDatabase.loadPageFile(MessageDatabase.java:230)
         at 
org.apache.activemq.store.kahadb.MessageDatabase.open(MessageDatabase.java:309)
         at 
org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:353)
         at 
org.apache.activemq.store.kahadb.MessageDatabase.doStart(MessageDatabase.java:217)
         at 
org.apache.activemq.store.kahadb.KahaDBStore.doStart(KahaDBStore.java:178)

Sounds l ike https://issues.apache.org/activemq/browse/AMQ-2935.

To solve it, I had to remove the activemq-data directory (btw, 2 weeks 
ago was activemq 5.4.0 with 2 brokers started and activemq-data in bin 
directory).

I made a test to restart from scratch my account in thunderbird, and it 
was OK.

Is it because it does a incremental sync and I select different folders 
(just to make things complicated :) ) during the download ?

Anyway, it is not easy to reproduce.
Activemq 5.4.1. may be worth to try, but I'm not sure it the the cause...

Tks,

Eric


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: ActiveMQ the cause?

Posted by Norman Maurer <no...@apache.org>.
Hi Eric,

comments inside..

2010/10/10 Eric Charles <er...@apache.org>:
> Hi,
>
> I have on James 3 (trunk of 2 week ago) my INBOX with 10 subfolders, some of
> these subfolders having more than 10.000 mails.
> I mainly use a PC, so the IMAP sync is done regulary along the day.
>
> I also have another PC I synchronize once a week.
> During the IMAP sync of that PC, I selected randomly some subfolders and saw
> (this occured twice, but not always...):
> - Thunderbird syncs well during a some minutes (10?)
> - After, Thunderbird begins to say "downloading xx of yy mails".. .when yy
> is reached, he says "downloading ww of zz" where zz is a little greater than
> yy.
> - I wait, wait, and finally have timeout, and the mails are no more viewable
> in thunderbird.
>
> James is stucked.
> The first time I had OOM (I think), today, I had no OOM, but James was no
> more reachable via IMAP, though accepting mails via SMTP.

Did you take a heap dump and thread dump ?

>
> I stopped, and when restarting, I had the following exception (James was not
> usable anymore):
> INFO  18:16:37,646 | org.apache.activemq.store.kahadb.plist.PListStore |
> PListStore:activemq-data/localhost/tmp_storage started
> INFO  18:16:37,648 | org.apache.activemq.broker.BrokerService | Using
> Persistence Adapter:
> KahaDBPersistenceAdapter[activemq-data/localhost/KahaDB]
> INFO  18:16:38,248 | org.apache.activemq.store.kahadb.plist.PListStore |
> PListStore:../data/localhost/tmp_storage started
> ERROR 18:16:38,301 | 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.store.kahadb.MessageDatabase$1.execute(MessageDatabase.java:243)
>        at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>        at
> org.apache.activemq.store.kahadb.MessageDatabase.loadPageFile(MessageDatabase.java:230)
>        at
> org.apache.activemq.store.kahadb.MessageDatabase.open(MessageDatabase.java:309)
>        at
> org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:353)
>        at
> org.apache.activemq.store.kahadb.MessageDatabase.doStart(MessageDatabase.java:217)
>        at
> org.apache.activemq.store.kahadb.KahaDBStore.doStart(KahaDBStore.java:178)
>
> Sounds l ike https://issues.apache.org/activemq/browse/AMQ-2935.
>

Yeah sounds like the bug above. Did you kill it with kill -9 or not ?
Also the bug looks really scary and is a blocker. Maybe we should
switch to amq message store for now. I think the risk of a currupt
queue is just to high with kahadb atm. I hope the activemq guys will
backport the fix it and release 5.4.2 ASAP.

Here are the docs for amq message store:
http://activemq.apache.org/amq-message-store.html


> To solve it, I had to remove the activemq-data directory (btw, 2 weeks ago
> was activemq 5.4.0 with 2 brokers started and activemq-data in bin
> directory).
>
> I made a test to restart from scratch my account in thunderbird, and it was
> OK.
>
> Is it because it does a incremental sync and I select different folders
> (just to make things complicated :) ) during the download ?
>
> Anyway, it is not easy to reproduce.
> Activemq 5.4.1. may be worth to try, but I'm not sure it the the cause...

Well in the jira they say that its only fixed in 5.5.0-SNAPSHOT for
now. Hopefully they will back port it.

>
> Tks,
>
> Eric
>
>

Anyway I'm 100 % sure the problem with IMAP has nothing todo with activemq.

Bye,
Norman

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: ActiveMQ the cause?

Posted by Eric Charles <er...@apache.org>.
I didn't take a dump of james process (should have done that...).
James stopped with 'james stop' (no kill -9).
Yes, we need to decide what to do with amq store.
Tks,
Eric


On 10/10/2010 08:03 PM, Norman Maurer wrote:
> Hi Eric,
>
> comments inside..
>
> 2010/10/10 Eric Charles<er...@apache.org>:
>> Hi,
>>
>> I have on James 3 (trunk of 2 week ago) my INBOX with 10 subfolders, some of
>> these subfolders having more than 10.000 mails.
>> I mainly use a PC, so the IMAP sync is done regulary along the day.
>>
>> I also have another PC I synchronize once a week.
>> During the IMAP sync of that PC, I selected randomly some subfolders and saw
>> (this occured twice, but not always...):
>> - Thunderbird syncs well during a some minutes (10?)
>> - After, Thunderbird begins to say "downloading xx of yy mails".. .when yy
>> is reached, he says "downloading ww of zz" where zz is a little greater than
>> yy.
>> - I wait, wait, and finally have timeout, and the mails are no more viewable
>> in thunderbird.
>>
>> James is stucked.
>> The first time I had OOM (I think), today, I had no OOM, but James was no
>> more reachable via IMAP, though accepting mails via SMTP.
> Did you take a heap dump and thread dump ?
>
>> I stopped, and when restarting, I had the following exception (James was not
>> usable anymore):
>> INFO  18:16:37,646 | org.apache.activemq.store.kahadb.plist.PListStore |
>> PListStore:activemq-data/localhost/tmp_storage started
>> INFO  18:16:37,648 | org.apache.activemq.broker.BrokerService | Using
>> Persistence Adapter:
>> KahaDBPersistenceAdapter[activemq-data/localhost/KahaDB]
>> INFO  18:16:38,248 | org.apache.activemq.store.kahadb.plist.PListStore |
>> PListStore:../data/localhost/tmp_storage started
>> ERROR 18:16:38,301 | 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.store.kahadb.MessageDatabase$1.execute(MessageDatabase.java:243)
>>         at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>>         at
>> org.apache.activemq.store.kahadb.MessageDatabase.loadPageFile(MessageDatabase.java:230)
>>         at
>> org.apache.activemq.store.kahadb.MessageDatabase.open(MessageDatabase.java:309)
>>         at
>> org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:353)
>>         at
>> org.apache.activemq.store.kahadb.MessageDatabase.doStart(MessageDatabase.java:217)
>>         at
>> org.apache.activemq.store.kahadb.KahaDBStore.doStart(KahaDBStore.java:178)
>>
>> Sounds l ike https://issues.apache.org/activemq/browse/AMQ-2935.
>>
> Yeah sounds like the bug above. Did you kill it with kill -9 or not ?
> Also the bug looks really scary and is a blocker. Maybe we should
> switch to amq message store for now. I think the risk of a currupt
> queue is just to high with kahadb atm. I hope the activemq guys will
> backport the fix it and release 5.4.2 ASAP.
>
> Here are the docs for amq message store:
> http://activemq.apache.org/amq-message-store.html
>
>
>> To solve it, I had to remove the activemq-data directory (btw, 2 weeks ago
>> was activemq 5.4.0 with 2 brokers started and activemq-data in bin
>> directory).
>>
>> I made a test to restart from scratch my account in thunderbird, and it was
>> OK.
>>
>> Is it because it does a incremental sync and I select different folders
>> (just to make things complicated :) ) during the download ?
>>
>> Anyway, it is not easy to reproduce.
>> Activemq 5.4.1. may be worth to try, but I'm not sure it the the cause...
> Well in the jira they say that its only fixed in 5.5.0-SNAPSHOT for
> now. Hopefully they will back port it.
>
>> Tks,
>>
>> Eric
>>
>>
> Anyway I'm 100 % sure the problem with IMAP has nothing todo with activemq.
>
> Bye,
> Norman
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org