APR transport on FreeBSD throwing Exceptions
--------------------------------------------

                 Key: DIRMINA-683
                 URL: https://issues.apache.org/jira/browse/DIRMINA-683
             Project: MINA
          Issue Type: Bug
          Components: Transport
    Affects Versions: 2.0.0-M3
         Environment: FreeBSD 7.1, JDK 1.6, APR 1.3.3, Tomcat Native APR 
1.1.16, Tomcat 5.5.27
            Reporter: Adam Brown


When running our MINA-based application on the specified configuration, we see 
the following errors in our logs and the application does not properly service 
network requests:

2009-04-07 09:42:15,020 [AprIoProcessor-33] ERROR <removed>  - Unexpected 
Exception: 
java.io.IOException: Unknown error: -70015 (code: 70015)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.throwException(AprIoProcessor.java:408)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.setInterestedInWrite(AprIoProcessor.java:318)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.setInterestedInWrite(AprIoProcessor.java:1)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.flushNow(AbstractPollingIoProcessor.java:692)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.flush(AbstractPollingIoProcessor.java:621)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$8(AbstractPollingIoProcessor.java:608)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:861)
        at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
2009-04-07 09:42:15,119 [AprIoProcessor-33] ERROR <removed> onException called: 
originUrl= <removed> notifiedOfResponse= false session= 448974723
2009-04-07 09:42:15,123 [AprIoProcessor-33] ERROR <removed>  - Exception thrown 
from downloader
<removed>.DownloadException: An exception occurred while attempting to download 
<removed>
        at <removed>
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.exceptionCaught(DefaultIoFilterChain.java:733)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextExceptionCaught(DefaultIoFilterChain.java:455)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$4(DefaultIoFilterChain.java:449)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.exceptionCaught(DefaultIoFilterChain.java:827)
        at 
org.apache.mina.core.filterchain.IoFilterAdapter.exceptionCaught(IoFilterAdapter.java:80)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextExceptionCaught(DefaultIoFilterChain.java:455)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$4(DefaultIoFilterChain.java:449)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.exceptionCaught(DefaultIoFilterChain.java:827)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.exceptionCaught(DefaultIoFilterChain.java:610)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextExceptionCaught(DefaultIoFilterChain.java:455)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireExceptionCaught(DefaultIoFilterChain.java:446)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.flushNow(AbstractPollingIoProcessor.java:728)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.flush(AbstractPollingIoProcessor.java:621)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$8(AbstractPollingIoProcessor.java:608)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:861)
        at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: Unknown error: -70015 (code: 70015)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.throwException(AprIoProcessor.java:408)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.setInterestedInWrite(AprIoProcessor.java:318)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.setInterestedInWrite(AprIoProcessor.java:1)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.flushNow(AbstractPollingIoProcessor.java:692)
        ... 7 more
2009-04-07 09:42:15,228 [AprIoProcessor-33] ERROR <removed>  - Unexpected 
Exception: 
org.apache.mina.core.write.WriteToClosedSessionException
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.clearWriteRequestQueue(AbstractPollingIoProcessor.java:521)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:476)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.remove(AbstractPollingIoProcessor.java:455)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$9(AbstractPollingIoProcessor.java:443)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:862)
        at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
2009-04-07 09:42:15,229 [AprIoProcessor-33] ERROR <removed>  - Unexpected 
Exception: 
java.io.IOException: Unknown error: -70015 (code: 70015)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.throwException(AprIoProcessor.java:408)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.destroy(AprIoProcessor.java:240)
        at 
org.apache.mina.transport.socket.apr.AprIoProcessor.destroy(AprIoProcessor.java:1)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:479)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.remove(AbstractPollingIoProcessor.java:455)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$9(AbstractPollingIoProcessor.java:443)
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:862)
        at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

The error code -70015 corresponds to APR_NOTFOUND.  I've also tracked it down 
into the APR code, and it looks like the problem comes from the kevent syscall 
returning ENOENT when MINA is doing the Poll.remove() call.

I should note that the same code functions "normally" on Linux using the APR 
Transport, so I'm not sure if the problem is MINA's use of APR or APR's use of 
kqueue/kevent on FreeBSD.

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