[ 
https://issues.apache.org/activemq/browse/CAMEL-257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=41621#action_41621
 ] 

Claus Ibsen commented on CAMEL-257:
-----------------------------------

Willem. Yes its potentially a little harder bug to track.

In the roadmap for MINA 2.x they have refactored this so the alloc/release 
would be much easier for clients. So we might get this for free when we upgrade 
to Mina 2.0. However it could take a while as Mina has just released the first 
milestone on 2.0 and we would like to fix it for MINA 1.1 users.

I have tried to track it down but as I had other bugs/improvements in the mina 
component I did not do a deep debugging.

> Build error from org.apache.camel.component.mina.MinaUdpTest
> ------------------------------------------------------------
>
>                 Key: CAMEL-257
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-257
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-mina
>    Affects Versions: 1.2.0
>         Environment: SUSE Linux 10.1
>            Reporter: Bozhong Lin
>            Priority: Minor
>             Fix For: 1.3.0
>
>
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running org.apache.camel.component.mina.MinaUdpTest
> 1578 [AnonymousIoService-1] WARN 
> org.apache.camel.component.mina.MinaConsumer$1 - [/127.0.0.1:32858] 
> EXCEPTION, please implement 
> org.apache.camel.component.mina.MinaConsumer$1.exceptionCaught() for proper 
> handling:
> java.lang.IllegalStateException: Already released buffer.  You released the 
> buffer too many times.
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$PooledByteBuffer.release(PooledByteBufferAllocator.java:310)
>         at 
> org.apache.mina.util.ByteBufferUtil.releaseIfPossible(ByteBufferUtil.java:39)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:572)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
>         at 
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>         at java.lang.Thread.run(Thread.java:595)
> 2143 [AnonymousIoService-2] WARN 
> org.apache.camel.component.mina.MinaConsumer$1 - [/127.0.0.1:32858] 
> EXCEPTION, please implement 
> org.apache.camel.component.mina.MinaConsumer$1.exceptionCaught() for proper 
> handling:
> java.lang.IllegalStateException: Already released buffer.  You released the 
> buffer too many times.
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$PooledByteBuffer.release(PooledByteBufferAllocator.java:310)
>         at 
> org.apache.mina.util.ByteBufferUtil.releaseIfPossible(ByteBufferUtil.java:39)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:572)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
>         at 
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>         at java.lang.Thread.run(Thread.java:595)
> 3151 [AnonymousIoService-3] WARN 
> org.apache.camel.component.mina.MinaConsumer$1 - [/127.0.0.1:32858] 
> EXCEPTION, please implement 
> org.apache.camel.component.mina.MinaConsumer$1.exceptionCaught() for proper 
> handling:
> java.lang.IllegalStateException: Already released buffer.  You released the 
> buffer too many times.
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$PooledByteBuffer.release(PooledByteBufferAllocator.java:310)
>         at 
> org.apache.mina.util.ByteBufferUtil.releaseIfPossible(ByteBufferUtil.java:39)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:572)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
>         at 
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>         at java.lang.Thread.run(Thread.java:595)
> Sent 3 messages
> Dec 5, 2007 10:28:57 AM org.apache.camel.component.mock.MockEndpoint 
> assertIsSatisfied
> INFO: Asserting: Endpoint[mock:result] is satisfied
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.442 sec
> Running org.apache.camel.component.mina.MinaFileUdpTest
> Dec 5, 2007 10:28:58 AM org.apache.camel.component.mock.MockEndpoint 
> assertIsSatisfied
> INFO: Asserting: Endpoint[mock:results] is satisfied
> 1600 [AnonymousIoService-3] WARN 
> org.apache.camel.component.mina.MinaConsumer$1 - [/127.0.0.1:32858] 
> EXCEPTION, please implement 
> org.apache.camel.component.mina.MinaConsumer$1.exceptionCaught() for proper 
> handling:
> java.lang.IllegalStateException: Already released buffer.  You released the 
> buffer too many times.
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$PooledByteBuffer.release(PooledByteBufferAllocator.java:310)
>         at 
> org.apache.mina.util.ByteBufferUtil.releaseIfPossible(ByteBufferUtil.java:39)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:572)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
>         at 
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>         at java.lang.Thread.run(Thread.java:595)
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.842 sec
> Running org.apache.camel.component.mina.MinaUdpUsingTemplateTest
> 495 [AnonymousIoService-4] WARN 
> org.apache.camel.component.mina.MinaConsumer$1 - [/127.0.0.1:32858] 
> EXCEPTION, please implement 
> org.apache.camel.component.mina.MinaConsumer$1.exceptionCaught() for proper 
> handling:
> java.lang.IllegalStateException: Already released buffer.  You released the 
> buffer too many times.
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$PooledByteBuffer.release(PooledByteBufferAllocator.java:310)
>         at 
> org.apache.mina.util.ByteBufferUtil.releaseIfPossible(ByteBufferUtil.java:39)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:572)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
>         at 
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>         at java.lang.Thread.run(Thread.java:595)
> 497 [AnonymousIoService-4] WARN 
> org.apache.camel.component.mina.MinaConsumer$1 - [/127.0.0.1:32858] 
> EXCEPTION, please implement 
> org.apache.camel.component.mina.MinaConsumer$1.exceptionCaught() for proper 
> handling:
> java.lang.IllegalStateException: Already released buffer.  You released the 
> buffer too many times.
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$PooledByteBuffer.release(PooledByteBufferAllocator.java:310)
>         at 
> org.apache.mina.util.ByteBufferUtil.releaseIfPossible(ByteBufferUtil.java:39)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:572)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
>         at 
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>         at java.lang.Thread.run(Thread.java:595)
> 498 [AnonymousIoService-4] WARN 
> org.apache.camel.component.mina.MinaConsumer$1 - [/127.0.0.1:32858] 
> EXCEPTION, please implement 
> org.apache.camel.component.mina.MinaConsumer$1.exceptionCaught() for proper 
> handling:
> java.lang.IllegalStateException: Already released buffer.  You released the 
> buffer too many times.
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$PooledByteBuffer.release(PooledByteBufferAllocator.java:310)
>         at 
> org.apache.mina.util.ByteBufferUtil.releaseIfPossible(ByteBufferUtil.java:39)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:572)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
>         at 
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>         at 
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>         at 
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
>         at java.lang.Thread.run(Thread.java:595)
> Dec 5, 2007 10:29:00 AM org.apache.camel.component.mock.MockEndpoint 
> assertIsSatisfied
> INFO: Asserting: Endpoint[mock:result] is satisfied

-- 
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