You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Wang Yue (JIRA)" <ji...@apache.org> on 2010/04/30 05:58:53 UTC

[jira] Created: (HTTPCORE-226) java.nio.channels.IllegalSelectorException on Google Android

java.nio.channels.IllegalSelectorException on Google Android
------------------------------------------------------------

                 Key: HTTPCORE-226
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-226
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.0.1
         Environment: httpcomponents core 4.0.1; Google Android 2.1 dalvik VM; 
            Reporter: Wang Yue
             Fix For: Future


The stack trace when "reactor.execute(eventDispatch)":
04-30 03:26:01.023: ERROR/AndroidRuntime(203): java.nio.channels.IllegalSelectorException
04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:158)
04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.SelectableChannel.register(SelectableChannel.java:158)
04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:244)
04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:97)
04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:317)
04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at io.DownloadClient.run(DownloadClient.java:168)
04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.lang.Thread.run(Thread.java:1096)


The nio underlyings on Android is:
org.apache.harmony.nio.internal.SelectorImpl
org.apache.harmony.nio.internal.SocketChannelImpl


Fllowing James's instruction, i tried editing (DefaultConnectingIOReactor.java:97) by changing
                key = socketChannel.register(this.selector, 0);
to
                key = socketChannel.register(this.selector, SelectionKey.OP_CONNECT);
but this problem persists.


After seaching web i fount this maybe can provide some help.
http://lists.jboss.org/pipermail/netty-users/2009-January/000221.html 

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


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


[jira] Updated: (HTTPCORE-226) java.nio.channels.IllegalSelectorException on Google Android

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski updated HTTPCORE-226:
---------------------------------------

    Attachment:     (was: HTTPCORE-226.patch)

> java.nio.channels.IllegalSelectorException on Google Android
> ------------------------------------------------------------
>
>                 Key: HTTPCORE-226
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-226
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0.1
>         Environment: httpcomponents core 4.0.1; Google Android 2.1 dalvik VM; 
>            Reporter: Wang Yue
>             Fix For: Future
>
>         Attachments: HTTPCORE-226.patch
>
>
> The stack trace when "reactor.execute(eventDispatch)":
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203): java.nio.channels.IllegalSelectorException
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.SelectableChannel.register(SelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:244)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:97)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:317)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at io.DownloadClient.run(DownloadClient.java:168)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.lang.Thread.run(Thread.java:1096)
> The nio underlyings on Android is:
> org.apache.harmony.nio.internal.SelectorImpl
> org.apache.harmony.nio.internal.SocketChannelImpl
> Fllowing James's instruction, i tried editing (DefaultConnectingIOReactor.java:97) by changing
>                 key = socketChannel.register(this.selector, 0);
> to
>                 key = socketChannel.register(this.selector, SelectionKey.OP_CONNECT);
> but this problem persists.
> After seaching web i fount this maybe can provide some help.
> http://lists.jboss.org/pipermail/netty-users/2009-January/000221.html 

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


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


[jira] Resolved: (HTTPCORE-226) java.nio.channels.IllegalSelectorException on Google Android

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski resolved HTTPCORE-226.
----------------------------------------

    Fix Version/s: 4.1
                       (was: Future)
       Resolution: Fixed

Patch committed to SVN trunk. Closing as FIXED

Oleg

> java.nio.channels.IllegalSelectorException on Google Android
> ------------------------------------------------------------
>
>                 Key: HTTPCORE-226
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-226
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0.1
>         Environment: httpcomponents core 4.0.1; Google Android 2.1 dalvik VM; 
>            Reporter: Wang Yue
>             Fix For: 4.1
>
>         Attachments: HTTPCORE-226.patch
>
>
> The stack trace when "reactor.execute(eventDispatch)":
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203): java.nio.channels.IllegalSelectorException
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.SelectableChannel.register(SelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:244)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:97)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:317)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at io.DownloadClient.run(DownloadClient.java:168)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.lang.Thread.run(Thread.java:1096)
> The nio underlyings on Android is:
> org.apache.harmony.nio.internal.SelectorImpl
> org.apache.harmony.nio.internal.SocketChannelImpl
> Fllowing James's instruction, i tried editing (DefaultConnectingIOReactor.java:97) by changing
>                 key = socketChannel.register(this.selector, 0);
> to
>                 key = socketChannel.register(this.selector, SelectionKey.OP_CONNECT);
> but this problem persists.
> After seaching web i fount this maybe can provide some help.
> http://lists.jboss.org/pipermail/netty-users/2009-January/000221.html 

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


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


[jira] Updated: (HTTPCORE-226) java.nio.channels.IllegalSelectorException on Google Android

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski updated HTTPCORE-226:
---------------------------------------

    Attachment: HTTPCORE-226.patch

Wang,

Could you please try out this patch by patching the last SVN snapshot and retesting your application?

Even if the problem still persists, please post the exact stack trace

http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk

Oleg

> java.nio.channels.IllegalSelectorException on Google Android
> ------------------------------------------------------------
>
>                 Key: HTTPCORE-226
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-226
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0.1
>         Environment: httpcomponents core 4.0.1; Google Android 2.1 dalvik VM; 
>            Reporter: Wang Yue
>             Fix For: Future
>
>         Attachments: HTTPCORE-226.patch
>
>
> The stack trace when "reactor.execute(eventDispatch)":
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203): java.nio.channels.IllegalSelectorException
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.SelectableChannel.register(SelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:244)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:97)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:317)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at io.DownloadClient.run(DownloadClient.java:168)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.lang.Thread.run(Thread.java:1096)
> The nio underlyings on Android is:
> org.apache.harmony.nio.internal.SelectorImpl
> org.apache.harmony.nio.internal.SocketChannelImpl
> Fllowing James's instruction, i tried editing (DefaultConnectingIOReactor.java:97) by changing
>                 key = socketChannel.register(this.selector, 0);
> to
>                 key = socketChannel.register(this.selector, SelectionKey.OP_CONNECT);
> but this problem persists.
> After seaching web i fount this maybe can provide some help.
> http://lists.jboss.org/pipermail/netty-users/2009-January/000221.html 

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


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


[jira] Updated: (HTTPCORE-226) java.nio.channels.IllegalSelectorException on Google Android

Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCORE-226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Kalnichevski updated HTTPCORE-226:
---------------------------------------

    Attachment: HTTPCORE-226.patch

Try this patch out.

Anyways, this does look like a bug in Android. Anyways, channels with no I/O interest in are perfectly valid. Why should not it be possible to register a channel with no I/O interest?

Oleg

> java.nio.channels.IllegalSelectorException on Google Android
> ------------------------------------------------------------
>
>                 Key: HTTPCORE-226
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-226
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0.1
>         Environment: httpcomponents core 4.0.1; Google Android 2.1 dalvik VM; 
>            Reporter: Wang Yue
>             Fix For: Future
>
>         Attachments: HTTPCORE-226.patch
>
>
> The stack trace when "reactor.execute(eventDispatch)":
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203): java.nio.channels.IllegalSelectorException
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.SelectableChannel.register(SelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:244)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:97)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:317)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at io.DownloadClient.run(DownloadClient.java:168)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.lang.Thread.run(Thread.java:1096)
> The nio underlyings on Android is:
> org.apache.harmony.nio.internal.SelectorImpl
> org.apache.harmony.nio.internal.SocketChannelImpl
> Fllowing James's instruction, i tried editing (DefaultConnectingIOReactor.java:97) by changing
>                 key = socketChannel.register(this.selector, 0);
> to
>                 key = socketChannel.register(this.selector, SelectionKey.OP_CONNECT);
> but this problem persists.
> After seaching web i fount this maybe can provide some help.
> http://lists.jboss.org/pipermail/netty-users/2009-January/000221.html 

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


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


[jira] Commented: (HTTPCORE-226) java.nio.channels.IllegalSelectorException on Google Android

Posted by "Wang Yue (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCORE-226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862644#action_12862644 ] 

Wang Yue commented on HTTPCORE-226:
-----------------------------------

retested by SVN codes(revision: 939650) after patched HTTPCORE-226.patch, the stack trace is: 

04-30 12:09:33.213: WARN/System.err(287): org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker terminated abnormally
04-30 12:09:33.242: WARN/System.err(287):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:324)
04-30 12:09:33.264: WARN/System.err(287):     at io.DownloadClient.run(DownloadClient.java:168)
04-30 12:09:33.272: WARN/System.err(287):     at java.lang.Thread.run(Thread.java:1096)
04-30 12:09:33.282: WARN/System.err(287): Caused by: java.nio.channels.IllegalSelectorException
04-30 12:09:33.293: WARN/System.err(287):     at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:158)
04-30 12:09:33.303: WARN/System.err(287):     at java.nio.channels.SelectableChannel.register(SelectableChannel.java:158)
04-30 12:09:33.323: WARN/System.err(287):     at org.apache.http.impl.nio.reactor.AbstractIOReactor.processNewChannels(AbstractIOReactor.java:367)
04-30 12:09:33.333: WARN/System.err(287):     at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:286)
04-30 12:09:33.342: WARN/System.err(287):     at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
04-30 12:09:33.375: WARN/System.err(287):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:535)
04-30 12:09:33.375: WARN/System.err(287):     ... 1 more




> java.nio.channels.IllegalSelectorException on Google Android
> ------------------------------------------------------------
>
>                 Key: HTTPCORE-226
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-226
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.0.1
>         Environment: httpcomponents core 4.0.1; Google Android 2.1 dalvik VM; 
>            Reporter: Wang Yue
>             Fix For: Future
>
>         Attachments: HTTPCORE-226.patch
>
>
> The stack trace when "reactor.execute(eventDispatch)":
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203): java.nio.channels.IllegalSelectorException
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.nio.channels.SelectableChannel.register(SelectableChannel.java:158)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:244)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:97)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:317)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at io.DownloadClient.run(DownloadClient.java:168)
> 04-30 03:26:01.023: ERROR/AndroidRuntime(203):     at java.lang.Thread.run(Thread.java:1096)
> The nio underlyings on Android is:
> org.apache.harmony.nio.internal.SelectorImpl
> org.apache.harmony.nio.internal.SocketChannelImpl
> Fllowing James's instruction, i tried editing (DefaultConnectingIOReactor.java:97) by changing
>                 key = socketChannel.register(this.selector, 0);
> to
>                 key = socketChannel.register(this.selector, SelectionKey.OP_CONNECT);
> but this problem persists.
> After seaching web i fount this maybe can provide some help.
> http://lists.jboss.org/pipermail/netty-users/2009-January/000221.html 

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


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