Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.0.1
-
httpcomponents core 4.0.1; Google Android 2.1 dalvik VM;
Description
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