You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Peter Rossbach <pr...@objektpark.de> on 2006/10/30 14:30:17 UTC
It seems that Http11NioProtocol handler not working at mac os x 10.4.8 ppc
Hi Filip,
I am starting testing your new NioProtocol handler, but I got
following exception:
30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
setSocketOptions
SCHWERWIEGEND:
java.net.SocketException: Invalid argument
at sun.nio.ch.Net.setIntOption0(Native Method)
at sun.nio.ch.Net.setIntOption(Net.java:152)
at sun.nio.ch.SocketChannelImpl$1.setInt
(SocketChannelImpl.java:372)
at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
at sun.nio.ch.SocketOptsImpl$IP.typeOfService
(SocketOptsImpl.java:249)
at sun.nio.ch.OptionAdaptor.setTrafficClass
(OptionAdaptor.java:158)
at sun.nio.ch.SocketAdaptor.setTrafficClass
(SocketAdaptor.java:320)
at org.apache.tomcat.util.net.SocketProperties.setProperties
(SocketProperties.java:107)
at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions
(NioEndpoint.java:742)
at org.apache.tomcat.util.net.NioEndpoint$Worker.run
(NioEndpoint.java:1423)
at java.lang.Thread.run(Thread.java:613)
==
My connector config is:
<Connector port="8080"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol" />
After some google search I found that soTrafficClass are not
supported at mac os x :-(
s. http://jira.safehaus.org/browse/PENROSE-71
I comment out L 106 at class o.a.t.util.net.SocketProperties.
// socket.setTrafficClass(soTrafficClass);
Before I did this: I check starting connector with some different
values without success
ex.
<Connector port="8080"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
socket.soTrafficClass="2" />
After that patch the Connector work, but with the comet style chat
example I have more trouble:
INFO: Server startup in 3025 ms
Exception in thread "http-8080-1" java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$Worker.run
(NioEndpoint.java:1441)
at java.lang.Thread.run(Thread.java:613)
Exception in thread "http-8080-2" java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$Worker.run
(NioEndpoint.java:1441)
at java.lang.Thread.run(Thread.java:613)
--
Chat example really working? I see the posted messages only after
socket is closed (with Firefox 1.5)...
Next I test the chat example with APR handler, again.
Regards
Peter Roßbach
pr@objektpark.de
Re: It seems that Http11NioProtocol handler not working at mac os
x 10.4.8 ppc
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
interesting, I will take a look
thanks for the feedback
Filip
Peter Rossbach wrote:
> Hi Filip,
>
> I found that MAC OS X only support setTrafficClass with following JDK
> option
>
> -Djava.net.preferIPv4Stack=true
>
> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>
> It seems a older IPV6 bug. At which place we can document those
> things? -> F&Q
>
>
> The chat example flush the messages only I got NPE:
>
> INFO: Server startup in 2642 ms
> Exception in thread "http-8080-1" java.lang.NullPointerException
> at
> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
> at java.lang.Thread.run(Thread.java:613)
>
> After this NPE the messages flush to the browser an connection are
> closed.
>
> Regards
> Peter
>
>
> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>
>> try to set the property socket.soTrafficClass to some other value,
>> if it's not working, what JDK are you running, here is the flag
>> described by SUN
>>
>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)
>>
>>
>>
>>
>> Peter Rossbach wrote:
>>> Hi Filip,
>>>
>>> I am starting testing your new NioProtocol handler, but I got
>>> following exception:
>>>
>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>> setSocketOptions
>>> SCHWERWIEGEND:
>>> java.net.SocketException: Invalid argument
>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>> at
>>> sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:372)
>>> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
>>> at
>>> sun.nio.ch.SocketOptsImpl$IP.typeOfService(SocketOptsImpl.java:249)
>>> at
>>> sun.nio.ch.OptionAdaptor.setTrafficClass(OptionAdaptor.java:158)
>>> at
>>> sun.nio.ch.SocketAdaptor.setTrafficClass(SocketAdaptor.java:320)
>>> at
>>> org.apache.tomcat.util.net.SocketProperties.setProperties(SocketProperties.java:107)
>>>
>>> at
>>> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:742)
>>>
>>> at
>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1423)
>>>
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>>
>>> ==
>>>
>>> My connector config is:
>>>
>>> <Connector port="8080"
>>> maxThreads="150" connectionTimeout="20000"
>>> redirectPort="8443"
>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>
>>> After some google search I found that soTrafficClass are not
>>> supported at mac os x :-(
>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>
>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>
>>> // socket.setTrafficClass(soTrafficClass);
>>>
>>> Before I did this: I check starting connector with some different
>>> values without success
>>>
>>> ex.
>>> <Connector port="8080"
>>> maxThreads="150" connectionTimeout="20000"
>>> redirectPort="8443"
>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>> socket.soTrafficClass="2" />
>>>
>>> After that patch the Connector work, but with the comet style chat
>>> example I have more trouble:
>>>
>>> INFO: Server startup in 3025 ms
>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>> at
>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>
>>> at java.lang.Thread.run(Thread.java:613)
>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>> at
>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>> --Chat example really working? I see the posted messages only after
>>> socket is closed (with Firefox 1.5)...
>>>
>>> Next I test the chat example with APR handler, again.
>>>
>>> Regards
>>> Peter Roßbach
>>> pr@objektpark.de
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>> 10/27/2006
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>>
>
>
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date: 10/27/2006
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: It seems that Http11NioProtocol handler not working at mac os
x 10.4.8 ppc
Posted by Remy Maucherat <re...@apache.org>.
Peter Rossbach wrote:
> Hi Filip,
>
> ok, next step:
>
> 30.10.2006 19:51:44 org.apache.catalina.core.ApplicationContext log
> INFO: ChatServlet: Begin for session: DC3A87204AA3AE2A441848596CF77373
> 30.10.2006 19:52:27 org.apache.catalina.core.ApplicationContext log
> INFO: ChatServlet: Error for session: DC3A87204AA3AE2A441848596CF77373
>
> ===
>
> It seems that the buffer flush at ChatServlet work, but browser not
> showing the result. The connection connection timeout
> close the socket and then browser get the results.
>
> Can you send me a working comet style example?
The example doesn't "really" work right now, as the browser won't
render. The data was sent last time I checked (that's all I was
interested in).
It would be good to improve it :)
Rémy
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: It seems that Http11NioProtocol handler not working at mac os x 10.4.8 ppc
Posted by Peter Rossbach <pr...@objektpark.de>.
Hi Filip,
ok, next step:
30.10.2006 19:51:44 org.apache.catalina.core.ApplicationContext log
INFO: ChatServlet: Begin for session: DC3A87204AA3AE2A441848596CF77373
30.10.2006 19:52:27 org.apache.catalina.core.ApplicationContext log
INFO: ChatServlet: Error for session: DC3A87204AA3AE2A441848596CF77373
===
It seems that the buffer flush at ChatServlet work, but browser not
showing the result. The connection connection timeout
close the socket and then browser get the results.
Can you send me a working comet style example?
Regards
Peter
Am 30.10.2006 um 18:58 schrieb Filip Hanik - Dev Lists:
> ok, I fixed the NPE, thanks for bringing to my attention. I haven't
> used the chat app yet, so I can't speak for how it works.
>
> Filip
>
> Peter Rossbach wrote:
>> Hi Filip,
>>
>> I have use newest tomcat 6 svn head, with jdk 1.5.0_06, MAC OS X
>> 10.4.8, PPC,
>> fresh build.
>>
>> Used Safari and FireFox 1.5
>>
>> Open a Window 1
>>
>> http://localhost:8080/examples/jsp/chat/login.jsp
>> -> get post.jsp dialog
>>
>> Open new Window 2 with
>> http://localhost:8080/examples/jsp/chat/chat
>>
>> -> send a message at window 1
>>
>> result: see nothing at window 2
>> after 20 Sec (connectiontimeout from connector)
>> the messages flush at window 2
>>
>> without my patch I git before a NPE at catalina.out.
>>
>> Regards
>> Peter
>>
>>
>> Am 30.10.2006 um 16:52 schrieb Filip Hanik - Dev Lists:
>>
>>> how do you reproduce this? I've added in your fix, but cant
>>> reproduce the problem
>>>
>>> Filip
>>>
>>> Peter Rossbach wrote:
>>>> Hi Filip.
>>>>
>>>> you see at my situation the key can be null:
>>>>
>>>> 30.10.2006 16:03:20 org.apache.tomcat.util.net.NioEndpoint
>>>> $Worker run
>>>> INFO:
>>>> socket=org.apache.tomcat.util.net.NioChannel@58473e:java.nio.channe
>>>> ls.SocketChannel[connected local=/127.0.0.1:8080 remote=/
>>>> 127.0.0.1:50517] key=sun.nio.ch.SelectionKeyImpl@5138a4
>>>> 30.10.2006 16:03:40 org.apache.tomcat.util.net.NioEndpoint
>>>> $Worker run
>>>> INFO:
>>>> socket=org.apache.tomcat.util.net.NioChannel@a6343d:java.nio.channe
>>>> ls.SocketChannel[closed] key=null
>>>>
>>>>
>>>>
>>>> #################
>>>>
>>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>> (NioEndpoint.java:1442)
>>>> at java.lang.Thread.run(Thread.java:613)
>>>>
>>>>
>>>> Here my patch:
>>>>
>>>> === L 1436 f
>>>>
>>>> NioChannel socket = (NioChannel)channel;
>>>>
>>>> SelectionKey key = socket.getIOChannel
>>>> ().keyFor(socket.getPoller().getSelector());
>>>> int handshake = -1;
>>>> log.info("socket=" + socket + " key=" +
>>>> key );
>>>> if(key != null) {
>>>> try {
>>>> handshake = socket.handshake
>>>> (key.isReadable(), key.isWritable());
>>>> }catch ( IOException x ) {
>>>> handshake = -1;
>>>> if ( log.isDebugEnabled() )
>>>> log.debug("Error during SSL handshake",x);
>>>> }catch ( CancelledKeyException ckx ) {
>>>> handshake = -1;
>>>> }
>>>> } else {
>>>> handshake = -1;
>>>> }
>>>>
>>>> if ( handshake == 0 ) {
>>>> // Process the request from this socket
>>>> if ((status != null) &&
>>>> (handler.event(socket, status) == Handler.SocketState.CLOSED)) {
>>>> // Close socket and pool
>>>> try {
>>>> KeyAttachment att =
>>>> (KeyAttachment)socket.getAttachment(true);
>>>> try {socket.close();}catch
>>>> (Exception ignore){}
>>>> if ( socket.isOpen() )
>>>> socket.close(true);
>>>> nioChannels.offer(socket);
>>>> if ( att!=null )
>>>> keyCache.offer(att);
>>>> }catch ( Exception x ) {
>>>> log.error("",x);
>>>> }
>>>> } else if ((status == null) &&
>>>> (handler.process(socket) == Handler.SocketState.CLOSED)) {
>>>> // Close socket and pool
>>>> try {
>>>> KeyAttachment att =
>>>> (KeyAttachment)socket.getAttachment(true);
>>>> try {socket.close();}catch
>>>> (Exception ignore){}
>>>> if ( socket.isOpen() )
>>>> socket.close(true);
>>>> nioChannels.offer(socket);
>>>> if ( att!=null )
>>>> keyCache.offer(att);
>>>> }catch ( Exception x ) {
>>>> log.error("",x);
>>>> }
>>>> }
>>>> } else if (handshake == -1 ) {
>>>> if ( key != null && key.isValid() )
>>>> key.cancel();
>>>> try {socket.close(true);}catch
>>>> (IOException ignore){}
>>>> nioChannels.offer(socket);
>>>> } else {
>>>> final SelectionKey fk = key;
>>>> final int intops = handshake;
>>>> final KeyAttachment ka =
>>>> (KeyAttachment)fk.attachment();
>>>> ka.getPoller().add(socket,intops);
>>>> }
>>>> }
>>>> } finally {
>>>> //dereference socket to let GC do its job
>>>> socket = null;
>>>> // Finish up this request
>>>> recycleWorkerThread(this);
>>>> }
>>>> }
>>>> }
>>>>
>>>> ====
>>>>
>>>> But why the chat messages don't responce only as socket close?
>>>>
>>>> <Connector port="8080"
>>>> maxThreads="150" connectionTimeout="20000"
>>>> redirectPort="8443"
>>>>
>>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>> />
>>>>
>>>> I only see comet begin event?
>>>> ==
>>>> 30.10.2006 16:19:28 org.apache.catalina.core.ApplicationContext log
>>>> INFO: ContextListener: attributeAdded
>>>> ('org.apache.jasper.runtime.JspApplicationC
>>>> ontextImpl',
>>>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>>>> 30.10.2006 16:19:32 org.apache.catalina.core.ApplicationContext log
>>>> INFO: SessionListener: attributeReplaced
>>>> ('C3E6394AC176D22B752C75D55343AA02', 'ni
>>>> ckname', 'pero')
>>>> 30.10.2006 16:19:35 org.apache.catalina.core.ApplicationContext log
>>>> INFO: ChatServlet: Begin for session:
>>>> C3E6394AC176D22B752C75D55343AA02
>>>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>>>> INFO: SessionListener: contextDestroyed()
>>>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>>>> INFO: ContextListener: contextDestroyed()
>>>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>>>> INFO: ContextListener: contextInitialized()
>>>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>>>> INFO: SessionListener: contextInitialized()
>>>> 30.10.2006 16:25:33 org.apache.catalina.core.ApplicationContext log
>>>> INFO: ContextListener: attributeAdded
>>>> ('org.apache.jasper.runtime.JspApplicationC
>>>> ontextImpl',
>>>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>>>> 30.10.2006 16:25:36 org.apache.catalina.core.ApplicationContext log
>>>> INFO: SessionListener: attributeReplaced
>>>> ('C3E6394AC176D22B752C75D55343AA02', 'ni
>>>> ckname', 'pero')
>>>> 30.10.2006 16:25:40 org.apache.catalina.core.ApplicationContext log
>>>> INFO: ChatServlet: Begin for session:
>>>> C3E6394AC176D22B752C75D55343AA02
>>>>
>>>> ===
>>>>
>>>> Regards
>>>> Peter
>>>>
>>>>
>>>>
>>>> Am 30.10.2006 um 15:53 schrieb Peter Rossbach:
>>>>
>>>>> Hi Filip,
>>>>>
>>>>> I found that MAC OS X only support setTrafficClass with
>>>>> following JDK option
>>>>>
>>>>> -Djava.net.preferIPv4Stack=true
>>>>>
>>>>> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>>>>>
>>>>> It seems a older IPV6 bug. At which place we can document those
>>>>> things? -> F&Q
>>>>>
>>>>>
>>>>> The chat example flush the messages only I got NPE:
>>>>>
>>>>> INFO: Server startup in 2642 ms
>>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>> (NioEndpoint.java:1441)
>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>
>>>>> After this NPE the messages flush to the browser an connection
>>>>> are closed.
>>>>>
>>>>> Regards
>>>>> Peter
>>>>>
>>>>>
>>>>> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>>>>>
>>>>>> try to set the property socket.soTrafficClass to some other
>>>>>> value,
>>>>>> if it's not working, what JDK are you running, here is the
>>>>>> flag described by SUN
>>>>>>
>>>>>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/
>>>>>> Socket.html#setTrafficClass(int)
>>>>>>
>>>>>>
>>>>>>
>>>>>> Peter Rossbach wrote:
>>>>>>> Hi Filip,
>>>>>>>
>>>>>>> I am starting testing your new NioProtocol handler, but I got
>>>>>>> following exception:
>>>>>>>
>>>>>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>>>>>> setSocketOptions
>>>>>>> SCHWERWIEGEND:
>>>>>>> java.net.SocketException: Invalid argument
>>>>>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>>>>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>>>>>> at sun.nio.ch.SocketChannelImpl$1.setInt
>>>>>>> (SocketChannelImpl.java:372)
>>>>>>> at sun.nio.ch.SocketOptsImpl.setInt
>>>>>>> (SocketOptsImpl.java:46)
>>>>>>> at sun.nio.ch.SocketOptsImpl$IP.typeOfService
>>>>>>> (SocketOptsImpl.java:249)
>>>>>>> at sun.nio.ch.OptionAdaptor.setTrafficClass
>>>>>>> (OptionAdaptor.java:158)
>>>>>>> at sun.nio.ch.SocketAdaptor.setTrafficClass
>>>>>>> (SocketAdaptor.java:320)
>>>>>>> at
>>>>>>> org.apache.tomcat.util.net.SocketProperties.setProperties
>>>>>>> (SocketProperties.java:107)
>>>>>>> at
>>>>>>> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions
>>>>>>> (NioEndpoint.java:742)
>>>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>>>> (NioEndpoint.java:1423)
>>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>>>
>>>>>>>
>>>>>>> ==
>>>>>>>
>>>>>>> My connector config is:
>>>>>>>
>>>>>>> <Connector port="8080"
>>>>>>> maxThreads="150" connectionTimeout="20000"
>>>>>>> redirectPort="8443"
>>>>>>>
>>>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>>>>>
>>>>>>> After some google search I found that soTrafficClass are not
>>>>>>> supported at mac os x :-(
>>>>>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>>>>>
>>>>>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>>>>>
>>>>>>> // socket.setTrafficClass(soTrafficClass);
>>>>>>>
>>>>>>> Before I did this: I check starting connector with some
>>>>>>> different values without success
>>>>>>>
>>>>>>> ex.
>>>>>>> <Connector port="8080"
>>>>>>> maxThreads="150" connectionTimeout="20000"
>>>>>>> redirectPort="8443"
>>>>>>>
>>>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>>>>> socket.soTrafficClass="2" />
>>>>>>>
>>>>>>> After that patch the Connector work, but with the comet style
>>>>>>> chat example I have more trouble:
>>>>>>>
>>>>>>> INFO: Server startup in 3025 ms
>>>>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>>>> (NioEndpoint.java:1441)
>>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>>>> (NioEndpoint.java:1441)
>>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>>>
>>>>>>> --Chat example really working? I see the posted messages only
>>>>>>> after socket is closed (with Firefox 1.5)...
>>>>>>>
>>>>>>> Next I test the chat example with APR handler, again.
>>>>>>>
>>>>>>> Regards
>>>>>>> Peter Roßbach
>>>>>>> pr@objektpark.de
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ----------------------------------------------------------------
>>>>>>> --------
>>>>>>>
>>>>>>> No virus found in this incoming message.
>>>>>>> Checked by AVG Free Edition.
>>>>>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release
>>>>>>> Date: 10/27/2006
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> -----------------------------------------------------------------
>>>>>> ----
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>>>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> -------------------------------------------------------------------
>>>> -----
>>>>
>>>> No virus found in this incoming message.
>>>> Checked by AVG Free Edition.
>>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>>> 10/27/2006
>>>>
>>>>
>>>
>>>
>>> --------------------------------------------------------------------
>>> -
>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> ---
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>> 10/27/2006
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>
Re: It seems that Http11NioProtocol handler not working at mac os
x 10.4.8 ppc
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
ok, I fixed the NPE, thanks for bringing to my attention. I haven't used
the chat app yet, so I can't speak for how it works.
Filip
Peter Rossbach wrote:
> Hi Filip,
>
> I have use newest tomcat 6 svn head, with jdk 1.5.0_06, MAC OS X
> 10.4.8, PPC,
> fresh build.
>
> Used Safari and FireFox 1.5
>
> Open a Window 1
>
> http://localhost:8080/examples/jsp/chat/login.jsp
> -> get post.jsp dialog
>
> Open new Window 2 with
> http://localhost:8080/examples/jsp/chat/chat
>
> -> send a message at window 1
>
> result: see nothing at window 2
> after 20 Sec (connectiontimeout from connector)
> the messages flush at window 2
>
> without my patch I git before a NPE at catalina.out.
>
> Regards
> Peter
>
>
> Am 30.10.2006 um 16:52 schrieb Filip Hanik - Dev Lists:
>
>> how do you reproduce this? I've added in your fix, but cant reproduce
>> the problem
>>
>> Filip
>>
>> Peter Rossbach wrote:
>>> Hi Filip.
>>>
>>> you see at my situation the key can be null:
>>>
>>> 30.10.2006 16:03:20 org.apache.tomcat.util.net.NioEndpoint$Worker run
>>> INFO:
>>> socket=org.apache.tomcat.util.net.NioChannel@58473e:java.nio.channels.SocketChannel[connected
>>> local=/127.0.0.1:8080 remote=/127.0.0.1:50517]
>>> key=sun.nio.ch.SelectionKeyImpl@5138a4
>>> 30.10.2006 16:03:40 org.apache.tomcat.util.net.NioEndpoint$Worker run
>>> INFO:
>>> socket=org.apache.tomcat.util.net.NioChannel@a6343d:java.nio.channels.SocketChannel[closed]
>>> key=null
>>>
>>>
>>> #################
>>>
>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>> at
>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1442)
>>>
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>>
>>> Here my patch:
>>>
>>> === L 1436 f
>>>
>>> NioChannel socket = (NioChannel)channel;
>>>
>>> SelectionKey key =
>>> socket.getIOChannel().keyFor(socket.getPoller().getSelector());
>>> int handshake = -1;
>>> log.info("socket=" + socket + " key=" + key );
>>> if(key != null) {
>>> try {
>>> handshake =
>>> socket.handshake(key.isReadable(), key.isWritable());
>>> }catch ( IOException x ) {
>>> handshake = -1;
>>> if ( log.isDebugEnabled() )
>>> log.debug("Error during SSL handshake",x);
>>> }catch ( CancelledKeyException ckx ) {
>>> handshake = -1;
>>> }
>>> } else {
>>> handshake = -1;
>>> }
>>>
>>> if ( handshake == 0 ) {
>>> // Process the request from this socket
>>> if ((status != null) &&
>>> (handler.event(socket, status) == Handler.SocketState.CLOSED)) {
>>> // Close socket and pool
>>> try {
>>> KeyAttachment att =
>>> (KeyAttachment)socket.getAttachment(true);
>>> try {socket.close();}catch
>>> (Exception ignore){}
>>> if ( socket.isOpen() )
>>> socket.close(true);
>>> nioChannels.offer(socket);
>>> if ( att!=null )
>>> keyCache.offer(att);
>>> }catch ( Exception x ) {
>>> log.error("",x);
>>> }
>>> } else if ((status == null) &&
>>> (handler.process(socket) == Handler.SocketState.CLOSED)) {
>>> // Close socket and pool
>>> try {
>>> KeyAttachment att =
>>> (KeyAttachment)socket.getAttachment(true);
>>> try {socket.close();}catch
>>> (Exception ignore){}
>>> if ( socket.isOpen() )
>>> socket.close(true);
>>> nioChannels.offer(socket);
>>> if ( att!=null )
>>> keyCache.offer(att);
>>> }catch ( Exception x ) {
>>> log.error("",x);
>>> }
>>> }
>>> } else if (handshake == -1 ) {
>>> if ( key != null && key.isValid() )
>>> key.cancel();
>>> try {socket.close(true);}catch
>>> (IOException ignore){}
>>> nioChannels.offer(socket);
>>> } else {
>>> final SelectionKey fk = key;
>>> final int intops = handshake;
>>> final KeyAttachment ka =
>>> (KeyAttachment)fk.attachment();
>>> ka.getPoller().add(socket,intops);
>>> }
>>> }
>>> } finally {
>>> //dereference socket to let GC do its job
>>> socket = null;
>>> // Finish up this request
>>> recycleWorkerThread(this);
>>> }
>>> }
>>> }
>>>
>>> ====
>>>
>>> But why the chat messages don't responce only as socket close?
>>>
>>> <Connector port="8080"
>>> maxThreads="150" connectionTimeout="20000"
>>> redirectPort="8443"
>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>> />
>>>
>>> I only see comet begin event?
>>> ==
>>> 30.10.2006 16:19:28 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener:
>>> attributeAdded('org.apache.jasper.runtime.JspApplicationC
>>> ontextImpl',
>>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>>> 30.10.2006 16:19:32 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener:
>>> attributeReplaced('C3E6394AC176D22B752C75D55343AA02', 'ni
>>> ckname', 'pero')
>>> 30.10.2006 16:19:35 org.apache.catalina.core.ApplicationContext log
>>> INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
>>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener: contextDestroyed()
>>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener: contextDestroyed()
>>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener: contextInitialized()
>>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener: contextInitialized()
>>> 30.10.2006 16:25:33 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener:
>>> attributeAdded('org.apache.jasper.runtime.JspApplicationC
>>> ontextImpl',
>>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>>> 30.10.2006 16:25:36 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener:
>>> attributeReplaced('C3E6394AC176D22B752C75D55343AA02', 'ni
>>> ckname', 'pero')
>>> 30.10.2006 16:25:40 org.apache.catalina.core.ApplicationContext log
>>> INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
>>>
>>> ===
>>>
>>> Regards
>>> Peter
>>>
>>>
>>>
>>> Am 30.10.2006 um 15:53 schrieb Peter Rossbach:
>>>
>>>> Hi Filip,
>>>>
>>>> I found that MAC OS X only support setTrafficClass with following
>>>> JDK option
>>>>
>>>> -Djava.net.preferIPv4Stack=true
>>>>
>>>> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>>>>
>>>> It seems a older IPV6 bug. At which place we can document those
>>>> things? -> F&Q
>>>>
>>>>
>>>> The chat example flush the messages only I got NPE:
>>>>
>>>> INFO: Server startup in 2642 ms
>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>> at
>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>>
>>>> at java.lang.Thread.run(Thread.java:613)
>>>>
>>>> After this NPE the messages flush to the browser an connection are
>>>> closed.
>>>>
>>>> Regards
>>>> Peter
>>>>
>>>>
>>>> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>>>>
>>>>> try to set the property socket.soTrafficClass to some other value,
>>>>> if it's not working, what JDK are you running, here is the flag
>>>>> described by SUN
>>>>>
>>>>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Peter Rossbach wrote:
>>>>>> Hi Filip,
>>>>>>
>>>>>> I am starting testing your new NioProtocol handler, but I got
>>>>>> following exception:
>>>>>>
>>>>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>>>>> setSocketOptions
>>>>>> SCHWERWIEGEND:
>>>>>> java.net.SocketException: Invalid argument
>>>>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>>>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>>>>> at
>>>>>> sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:372)
>>>>>> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
>>>>>> at
>>>>>> sun.nio.ch.SocketOptsImpl$IP.typeOfService(SocketOptsImpl.java:249)
>>>>>> at
>>>>>> sun.nio.ch.OptionAdaptor.setTrafficClass(OptionAdaptor.java:158)
>>>>>> at
>>>>>> sun.nio.ch.SocketAdaptor.setTrafficClass(SocketAdaptor.java:320)
>>>>>> at
>>>>>> org.apache.tomcat.util.net.SocketProperties.setProperties(SocketProperties.java:107)
>>>>>>
>>>>>> at
>>>>>> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:742)
>>>>>>
>>>>>> at
>>>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1423)
>>>>>>
>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>>
>>>>>>
>>>>>> ==
>>>>>>
>>>>>> My connector config is:
>>>>>>
>>>>>> <Connector port="8080"
>>>>>> maxThreads="150" connectionTimeout="20000"
>>>>>> redirectPort="8443"
>>>>>>
>>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>>>>
>>>>>> After some google search I found that soTrafficClass are not
>>>>>> supported at mac os x :-(
>>>>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>>>>
>>>>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>>>>
>>>>>> // socket.setTrafficClass(soTrafficClass);
>>>>>>
>>>>>> Before I did this: I check starting connector with some different
>>>>>> values without success
>>>>>>
>>>>>> ex.
>>>>>> <Connector port="8080"
>>>>>> maxThreads="150" connectionTimeout="20000"
>>>>>> redirectPort="8443"
>>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>>>> socket.soTrafficClass="2" />
>>>>>>
>>>>>> After that patch the Connector work, but with the comet style
>>>>>> chat example I have more trouble:
>>>>>>
>>>>>> INFO: Server startup in 3025 ms
>>>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>>>> at
>>>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>>>>
>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>>>>> at
>>>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>>>>
>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>>
>>>>>> --Chat example really working? I see the posted messages only
>>>>>> after socket is closed (with Firefox 1.5)...
>>>>>>
>>>>>> Next I test the chat example with APR handler, again.
>>>>>>
>>>>>> Regards
>>>>>> Peter Roßbach
>>>>>> pr@objektpark.de
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> No virus found in this incoming message.
>>>>>> Checked by AVG Free Edition.
>>>>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>>>>> 10/27/2006
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>>>>
>>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>> 10/27/2006
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>>
>
>
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date: 10/27/2006
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: It seems that Http11NioProtocol handler not working at mac os x 10.4.8 ppc
Posted by Peter Rossbach <pr...@objektpark.de>.
Hi Filip,
I have use newest tomcat 6 svn head, with jdk 1.5.0_06, MAC OS X
10.4.8, PPC,
fresh build.
Used Safari and FireFox 1.5
Open a Window 1
http://localhost:8080/examples/jsp/chat/login.jsp
-> get post.jsp dialog
Open new Window 2 with
http://localhost:8080/examples/jsp/chat/chat
-> send a message at window 1
result: see nothing at window 2
after 20 Sec (connectiontimeout from connector)
the messages flush at window 2
without my patch I git before a NPE at catalina.out.
Regards
Peter
Am 30.10.2006 um 16:52 schrieb Filip Hanik - Dev Lists:
> how do you reproduce this? I've added in your fix, but cant
> reproduce the problem
>
> Filip
>
> Peter Rossbach wrote:
>> Hi Filip.
>>
>> you see at my situation the key can be null:
>>
>> 30.10.2006 16:03:20 org.apache.tomcat.util.net.NioEndpoint$Worker run
>> INFO:
>> socket=org.apache.tomcat.util.net.NioChannel@58473e:java.nio.channels
>> .SocketChannel[connected local=/127.0.0.1:8080 remote=/
>> 127.0.0.1:50517] key=sun.nio.ch.SelectionKeyImpl@5138a4
>> 30.10.2006 16:03:40 org.apache.tomcat.util.net.NioEndpoint$Worker run
>> INFO:
>> socket=org.apache.tomcat.util.net.NioChannel@a6343d:java.nio.channels
>> .SocketChannel[closed] key=null
>>
>>
>> #################
>>
>> Exception in thread "http-8080-2" java.lang.NullPointerException
>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>> (NioEndpoint.java:1442)
>> at java.lang.Thread.run(Thread.java:613)
>>
>>
>> Here my patch:
>>
>> === L 1436 f
>>
>> NioChannel socket = (NioChannel)channel;
>>
>> SelectionKey key = socket.getIOChannel
>> ().keyFor(socket.getPoller().getSelector());
>> int handshake = -1;
>> log.info("socket=" + socket + " key=" +
>> key );
>> if(key != null) {
>> try {
>> handshake = socket.handshake
>> (key.isReadable(), key.isWritable());
>> }catch ( IOException x ) {
>> handshake = -1;
>> if ( log.isDebugEnabled() )
>> log.debug("Error during SSL handshake",x);
>> }catch ( CancelledKeyException ckx ) {
>> handshake = -1;
>> }
>> } else {
>> handshake = -1;
>> }
>>
>> if ( handshake == 0 ) {
>> // Process the request from this socket
>> if ((status != null) && (handler.event
>> (socket, status) == Handler.SocketState.CLOSED)) {
>> // Close socket and pool
>> try {
>> KeyAttachment att =
>> (KeyAttachment)socket.getAttachment(true);
>> try {socket.close();}catch
>> (Exception ignore){}
>> if ( socket.isOpen() )
>> socket.close(true);
>> nioChannels.offer(socket);
>> if ( att!=null ) keyCache.offer
>> (att);
>> }catch ( Exception x ) {
>> log.error("",x);
>> }
>> } else if ((status == null) &&
>> (handler.process(socket) == Handler.SocketState.CLOSED)) {
>> // Close socket and pool
>> try {
>> KeyAttachment att =
>> (KeyAttachment)socket.getAttachment(true);
>> try {socket.close();}catch
>> (Exception ignore){}
>> if ( socket.isOpen() )
>> socket.close(true);
>> nioChannels.offer(socket);
>> if ( att!=null ) keyCache.offer
>> (att);
>> }catch ( Exception x ) {
>> log.error("",x);
>> }
>> }
>> } else if (handshake == -1 ) {
>> if ( key != null && key.isValid() )
>> key.cancel();
>> try {socket.close(true);}catch
>> (IOException ignore){}
>> nioChannels.offer(socket);
>> } else {
>> final SelectionKey fk = key;
>> final int intops = handshake;
>> final KeyAttachment ka =
>> (KeyAttachment)fk.attachment();
>> ka.getPoller().add(socket,intops);
>> }
>> }
>> } finally {
>> //dereference socket to let GC do its job
>> socket = null;
>> // Finish up this request
>> recycleWorkerThread(this);
>> }
>> }
>> }
>>
>> ====
>>
>> But why the chat messages don't responce only as socket close?
>>
>> <Connector port="8080"
>> maxThreads="150" connectionTimeout="20000"
>> redirectPort="8443"
>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>> />
>>
>> I only see comet begin event?
>> ==
>> 30.10.2006 16:19:28 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: attributeAdded
>> ('org.apache.jasper.runtime.JspApplicationC
>> ontextImpl',
>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>> 30.10.2006 16:19:32 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: attributeReplaced
>> ('C3E6394AC176D22B752C75D55343AA02', 'ni
>> ckname', 'pero')
>> 30.10.2006 16:19:35 org.apache.catalina.core.ApplicationContext log
>> INFO: ChatServlet: Begin for session:
>> C3E6394AC176D22B752C75D55343AA02
>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: contextDestroyed()
>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: contextDestroyed()
>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: contextInitialized()
>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: contextInitialized()
>> 30.10.2006 16:25:33 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: attributeAdded
>> ('org.apache.jasper.runtime.JspApplicationC
>> ontextImpl',
>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>> 30.10.2006 16:25:36 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: attributeReplaced
>> ('C3E6394AC176D22B752C75D55343AA02', 'ni
>> ckname', 'pero')
>> 30.10.2006 16:25:40 org.apache.catalina.core.ApplicationContext log
>> INFO: ChatServlet: Begin for session:
>> C3E6394AC176D22B752C75D55343AA02
>>
>> ===
>>
>> Regards
>> Peter
>>
>>
>>
>> Am 30.10.2006 um 15:53 schrieb Peter Rossbach:
>>
>>> Hi Filip,
>>>
>>> I found that MAC OS X only support setTrafficClass with following
>>> JDK option
>>>
>>> -Djava.net.preferIPv4Stack=true
>>>
>>> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>>>
>>> It seems a older IPV6 bug. At which place we can document those
>>> things? -> F&Q
>>>
>>>
>>> The chat example flush the messages only I got NPE:
>>>
>>> INFO: Server startup in 2642 ms
>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>> (NioEndpoint.java:1441)
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>> After this NPE the messages flush to the browser an connection
>>> are closed.
>>>
>>> Regards
>>> Peter
>>>
>>>
>>> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>>>
>>>> try to set the property socket.soTrafficClass to some other value,
>>>> if it's not working, what JDK are you running, here is the flag
>>>> described by SUN
>>>>
>>>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/
>>>> Socket.html#setTrafficClass(int)
>>>>
>>>>
>>>>
>>>> Peter Rossbach wrote:
>>>>> Hi Filip,
>>>>>
>>>>> I am starting testing your new NioProtocol handler, but I got
>>>>> following exception:
>>>>>
>>>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>>>> setSocketOptions
>>>>> SCHWERWIEGEND:
>>>>> java.net.SocketException: Invalid argument
>>>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>>>> at sun.nio.ch.SocketChannelImpl$1.setInt
>>>>> (SocketChannelImpl.java:372)
>>>>> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:
>>>>> 46)
>>>>> at sun.nio.ch.SocketOptsImpl$IP.typeOfService
>>>>> (SocketOptsImpl.java:249)
>>>>> at sun.nio.ch.OptionAdaptor.setTrafficClass
>>>>> (OptionAdaptor.java:158)
>>>>> at sun.nio.ch.SocketAdaptor.setTrafficClass
>>>>> (SocketAdaptor.java:320)
>>>>> at
>>>>> org.apache.tomcat.util.net.SocketProperties.setProperties
>>>>> (SocketProperties.java:107)
>>>>> at
>>>>> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions
>>>>> (NioEndpoint.java:742)
>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>> (NioEndpoint.java:1423)
>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>
>>>>>
>>>>> ==
>>>>>
>>>>> My connector config is:
>>>>>
>>>>> <Connector port="8080"
>>>>> maxThreads="150" connectionTimeout="20000"
>>>>> redirectPort="8443"
>>>>>
>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>>>
>>>>> After some google search I found that soTrafficClass are not
>>>>> supported at mac os x :-(
>>>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>>>
>>>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>>>
>>>>> // socket.setTrafficClass(soTrafficClass);
>>>>>
>>>>> Before I did this: I check starting connector with some
>>>>> different values without success
>>>>>
>>>>> ex.
>>>>> <Connector port="8080"
>>>>> maxThreads="150" connectionTimeout="20000"
>>>>> redirectPort="8443"
>>>>>
>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>>> socket.soTrafficClass="2" />
>>>>>
>>>>> After that patch the Connector work, but with the comet style
>>>>> chat example I have more trouble:
>>>>>
>>>>> INFO: Server startup in 3025 ms
>>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>> (NioEndpoint.java:1441)
>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>> (NioEndpoint.java:1441)
>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>
>>>>> --Chat example really working? I see the posted messages only
>>>>> after socket is closed (with Firefox 1.5)...
>>>>>
>>>>> Next I test the chat example with APR handler, again.
>>>>>
>>>>> Regards
>>>>> Peter Roßbach
>>>>> pr@objektpark.de
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------
>>>>> ------
>>>>>
>>>>> No virus found in this incoming message.
>>>>> Checked by AVG Free Edition.
>>>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release
>>>>> Date: 10/27/2006
>>>>>
>>>>>
>>>>
>>>>
>>>> -------------------------------------------------------------------
>>>> --
>>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>>>
>>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> ---
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>> 10/27/2006
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>
Re: It seems that Http11NioProtocol handler not working at mac os x 10.4.8 ppc
Posted by Peter Rossbach <pr...@objektpark.de>.
Oops, as you find a fix, I will test it :-)
regards
Peter
Am 30.10.2006 um 17:05 schrieb Filip Hanik - Dev Lists:
> yeah, that fix is not entirely correct and can lead to problems
> down the road,
> the problem is bigger than that, I have to catch the socket being
> closed earlier so that I can unattach the attachment from the key
>
> Filip
>
> Filip Hanik - Dev Lists wrote:
>> how do you reproduce this? I've added in your fix, but cant
>> reproduce the problem
>>
>> Filip
>>
>> Peter Rossbach wrote:
>>> Hi Filip.
>>>
>>> you see at my situation the key can be null:
>>>
>>> 30.10.2006 16:03:20 org.apache.tomcat.util.net.NioEndpoint$Worker
>>> run
>>> INFO:
>>> socket=org.apache.tomcat.util.net.NioChannel@58473e:java.nio.channel
>>> s.SocketChannel[connected local=/127.0.0.1:8080 remote=/
>>> 127.0.0.1:50517] key=sun.nio.ch.SelectionKeyImpl@5138a4
>>> 30.10.2006 16:03:40 org.apache.tomcat.util.net.NioEndpoint$Worker
>>> run
>>> INFO:
>>> socket=org.apache.tomcat.util.net.NioChannel@a6343d:java.nio.channel
>>> s.SocketChannel[closed] key=null
>>>
>>>
>>>
>>> #################
>>>
>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>> (NioEndpoint.java:1442)
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>>
>>> Here my patch:
>>>
>>> === L 1436 f
>>>
>>> NioChannel socket = (NioChannel)channel;
>>>
>>> SelectionKey key = socket.getIOChannel
>>> ().keyFor(socket.getPoller().getSelector());
>>> int handshake = -1;
>>> log.info("socket=" + socket + " key=" +
>>> key );
>>> if(key != null) {
>>> try {
>>> handshake = socket.handshake
>>> (key.isReadable(), key.isWritable());
>>> }catch ( IOException x ) {
>>> handshake = -1;
>>> if ( log.isDebugEnabled() )
>>> log.debug("Error during SSL handshake",x);
>>> }catch ( CancelledKeyException ckx ) {
>>> handshake = -1;
>>> }
>>> } else {
>>> handshake = -1;
>>> }
>>>
>>> if ( handshake == 0 ) {
>>> // Process the request from this socket
>>> if ((status != null) && (handler.event
>>> (socket, status) == Handler.SocketState.CLOSED)) {
>>> // Close socket and pool
>>> try {
>>> KeyAttachment att =
>>> (KeyAttachment)socket.getAttachment(true);
>>> try {socket.close();}catch
>>> (Exception ignore){}
>>> if ( socket.isOpen() )
>>> socket.close(true);
>>> nioChannels.offer(socket);
>>> if ( att!=null )
>>> keyCache.offer(att);
>>> }catch ( Exception x ) {
>>> log.error("",x);
>>> }
>>> } else if ((status == null) &&
>>> (handler.process(socket) == Handler.SocketState.CLOSED)) {
>>> // Close socket and pool
>>> try {
>>> KeyAttachment att =
>>> (KeyAttachment)socket.getAttachment(true);
>>> try {socket.close();}catch
>>> (Exception ignore){}
>>> if ( socket.isOpen() )
>>> socket.close(true);
>>> nioChannels.offer(socket);
>>> if ( att!=null )
>>> keyCache.offer(att);
>>> }catch ( Exception x ) {
>>> log.error("",x);
>>> }
>>> }
>>> } else if (handshake == -1 ) {
>>> if ( key != null && key.isValid() )
>>> key.cancel();
>>> try {socket.close(true);}catch
>>> (IOException ignore){}
>>> nioChannels.offer(socket);
>>> } else {
>>> final SelectionKey fk = key;
>>> final int intops = handshake;
>>> final KeyAttachment ka =
>>> (KeyAttachment)fk.attachment();
>>> ka.getPoller().add(socket,intops);
>>> }
>>> }
>>> } finally {
>>> //dereference socket to let GC do its job
>>> socket = null;
>>> // Finish up this request
>>> recycleWorkerThread(this);
>>> }
>>> }
>>> }
>>>
>>> ====
>>>
>>> But why the chat messages don't responce only as socket close?
>>>
>>> <Connector port="8080"
>>> maxThreads="150" connectionTimeout="20000"
>>> redirectPort="8443"
>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>> />
>>>
>>> I only see comet begin event?
>>> ==
>>> 30.10.2006 16:19:28 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener: attributeAdded
>>> ('org.apache.jasper.runtime.JspApplicationC
>>> ontextImpl',
>>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>>> 30.10.2006 16:19:32 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener: attributeReplaced
>>> ('C3E6394AC176D22B752C75D55343AA02', 'ni
>>> ckname', 'pero')
>>> 30.10.2006 16:19:35 org.apache.catalina.core.ApplicationContext log
>>> INFO: ChatServlet: Begin for session:
>>> C3E6394AC176D22B752C75D55343AA02
>>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener: contextDestroyed()
>>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener: contextDestroyed()
>>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener: contextInitialized()
>>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener: contextInitialized()
>>> 30.10.2006 16:25:33 org.apache.catalina.core.ApplicationContext log
>>> INFO: ContextListener: attributeAdded
>>> ('org.apache.jasper.runtime.JspApplicationC
>>> ontextImpl',
>>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>>> 30.10.2006 16:25:36 org.apache.catalina.core.ApplicationContext log
>>> INFO: SessionListener: attributeReplaced
>>> ('C3E6394AC176D22B752C75D55343AA02', 'ni
>>> ckname', 'pero')
>>> 30.10.2006 16:25:40 org.apache.catalina.core.ApplicationContext log
>>> INFO: ChatServlet: Begin for session:
>>> C3E6394AC176D22B752C75D55343AA02
>>>
>>> ===
>>>
>>> Regards
>>> Peter
>>>
>>>
>>>
>>> Am 30.10.2006 um 15:53 schrieb Peter Rossbach:
>>>
>>>> Hi Filip,
>>>>
>>>> I found that MAC OS X only support setTrafficClass with
>>>> following JDK option
>>>>
>>>> -Djava.net.preferIPv4Stack=true
>>>>
>>>> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>>>>
>>>> It seems a older IPV6 bug. At which place we can document those
>>>> things? -> F&Q
>>>>
>>>>
>>>> The chat example flush the messages only I got NPE:
>>>>
>>>> INFO: Server startup in 2642 ms
>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>> (NioEndpoint.java:1441)
>>>> at java.lang.Thread.run(Thread.java:613)
>>>>
>>>> After this NPE the messages flush to the browser an connection
>>>> are closed.
>>>>
>>>> Regards
>>>> Peter
>>>>
>>>>
>>>> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>>>>
>>>>> try to set the property socket.soTrafficClass to some other value,
>>>>> if it's not working, what JDK are you running, here is the flag
>>>>> described by SUN
>>>>>
>>>>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/
>>>>> Socket.html#setTrafficClass(int)
>>>>>
>>>>>
>>>>>
>>>>> Peter Rossbach wrote:
>>>>>> Hi Filip,
>>>>>>
>>>>>> I am starting testing your new NioProtocol handler, but I got
>>>>>> following exception:
>>>>>>
>>>>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>>>>> setSocketOptions
>>>>>> SCHWERWIEGEND:
>>>>>> java.net.SocketException: Invalid argument
>>>>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>>>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>>>>> at sun.nio.ch.SocketChannelImpl$1.setInt
>>>>>> (SocketChannelImpl.java:372)
>>>>>> at sun.nio.ch.SocketOptsImpl.setInt
>>>>>> (SocketOptsImpl.java:46)
>>>>>> at sun.nio.ch.SocketOptsImpl$IP.typeOfService
>>>>>> (SocketOptsImpl.java:249)
>>>>>> at sun.nio.ch.OptionAdaptor.setTrafficClass
>>>>>> (OptionAdaptor.java:158)
>>>>>> at sun.nio.ch.SocketAdaptor.setTrafficClass
>>>>>> (SocketAdaptor.java:320)
>>>>>> at
>>>>>> org.apache.tomcat.util.net.SocketProperties.setProperties
>>>>>> (SocketProperties.java:107)
>>>>>> at
>>>>>> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions
>>>>>> (NioEndpoint.java:742)
>>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>>> (NioEndpoint.java:1423)
>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>>
>>>>>>
>>>>>> ==
>>>>>>
>>>>>> My connector config is:
>>>>>>
>>>>>> <Connector port="8080"
>>>>>> maxThreads="150" connectionTimeout="20000"
>>>>>> redirectPort="8443"
>>>>>>
>>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>>>>
>>>>>> After some google search I found that soTrafficClass are not
>>>>>> supported at mac os x :-(
>>>>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>>>>
>>>>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>>>>
>>>>>> // socket.setTrafficClass(soTrafficClass);
>>>>>>
>>>>>> Before I did this: I check starting connector with some
>>>>>> different values without success
>>>>>>
>>>>>> ex.
>>>>>> <Connector port="8080"
>>>>>> maxThreads="150" connectionTimeout="20000"
>>>>>> redirectPort="8443"
>>>>>>
>>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>>>> socket.soTrafficClass="2" />
>>>>>>
>>>>>> After that patch the Connector work, but with the comet style
>>>>>> chat example I have more trouble:
>>>>>>
>>>>>> INFO: Server startup in 3025 ms
>>>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>>> (NioEndpoint.java:1441)
>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>>>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>>>>> (NioEndpoint.java:1441)
>>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>>
>>>>>> --Chat example really working? I see the posted messages only
>>>>>> after socket is closed (with Firefox 1.5)...
>>>>>>
>>>>>> Next I test the chat example with APR handler, again.
>>>>>>
>>>>>> Regards
>>>>>> Peter Roßbach
>>>>>> pr@objektpark.de
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----------------------------------------------------------------
>>>>>> -------
>>>>>>
>>>>>> No virus found in this incoming message.
>>>>>> Checked by AVG Free Edition.
>>>>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release
>>>>>> Date: 10/27/2006
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------
>>>>> ---
>>>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --------------------------------------------------------------------
>>> ----
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>> 10/27/2006
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>
Re: It seems that Http11NioProtocol handler not working at mac os
x 10.4.8 ppc
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
yeah, that fix is not entirely correct and can lead to problems down the
road,
the problem is bigger than that, I have to catch the socket being closed
earlier so that I can unattach the attachment from the key
Filip
Filip Hanik - Dev Lists wrote:
> how do you reproduce this? I've added in your fix, but cant reproduce
> the problem
>
> Filip
>
> Peter Rossbach wrote:
>> Hi Filip.
>>
>> you see at my situation the key can be null:
>>
>> 30.10.2006 16:03:20 org.apache.tomcat.util.net.NioEndpoint$Worker run
>> INFO:
>> socket=org.apache.tomcat.util.net.NioChannel@58473e:java.nio.channels.SocketChannel[connected
>> local=/127.0.0.1:8080 remote=/127.0.0.1:50517]
>> key=sun.nio.ch.SelectionKeyImpl@5138a4
>> 30.10.2006 16:03:40 org.apache.tomcat.util.net.NioEndpoint$Worker run
>> INFO:
>> socket=org.apache.tomcat.util.net.NioChannel@a6343d:java.nio.channels.SocketChannel[closed]
>> key=null
>>
>>
>> #################
>>
>> Exception in thread "http-8080-2" java.lang.NullPointerException
>> at
>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1442)
>> at java.lang.Thread.run(Thread.java:613)
>>
>>
>> Here my patch:
>>
>> === L 1436 f
>>
>> NioChannel socket = (NioChannel)channel;
>>
>> SelectionKey key =
>> socket.getIOChannel().keyFor(socket.getPoller().getSelector());
>> int handshake = -1;
>> log.info("socket=" + socket + " key=" + key );
>> if(key != null) {
>> try {
>> handshake =
>> socket.handshake(key.isReadable(), key.isWritable());
>> }catch ( IOException x ) {
>> handshake = -1;
>> if ( log.isDebugEnabled() )
>> log.debug("Error during SSL handshake",x);
>> }catch ( CancelledKeyException ckx ) {
>> handshake = -1;
>> }
>> } else {
>> handshake = -1;
>> }
>>
>> if ( handshake == 0 ) {
>> // Process the request from this socket
>> if ((status != null) &&
>> (handler.event(socket, status) == Handler.SocketState.CLOSED)) {
>> // Close socket and pool
>> try {
>> KeyAttachment att =
>> (KeyAttachment)socket.getAttachment(true);
>> try {socket.close();}catch
>> (Exception ignore){}
>> if ( socket.isOpen() )
>> socket.close(true);
>> nioChannels.offer(socket);
>> if ( att!=null )
>> keyCache.offer(att);
>> }catch ( Exception x ) {
>> log.error("",x);
>> }
>> } else if ((status == null) &&
>> (handler.process(socket) == Handler.SocketState.CLOSED)) {
>> // Close socket and pool
>> try {
>> KeyAttachment att =
>> (KeyAttachment)socket.getAttachment(true);
>> try {socket.close();}catch
>> (Exception ignore){}
>> if ( socket.isOpen() )
>> socket.close(true);
>> nioChannels.offer(socket);
>> if ( att!=null )
>> keyCache.offer(att);
>> }catch ( Exception x ) {
>> log.error("",x);
>> }
>> }
>> } else if (handshake == -1 ) {
>> if ( key != null && key.isValid() )
>> key.cancel();
>> try {socket.close(true);}catch
>> (IOException ignore){}
>> nioChannels.offer(socket);
>> } else {
>> final SelectionKey fk = key;
>> final int intops = handshake;
>> final KeyAttachment ka =
>> (KeyAttachment)fk.attachment();
>> ka.getPoller().add(socket,intops);
>> }
>> }
>> } finally {
>> //dereference socket to let GC do its job
>> socket = null;
>> // Finish up this request
>> recycleWorkerThread(this);
>> }
>> }
>> }
>>
>> ====
>>
>> But why the chat messages don't responce only as socket close?
>>
>> <Connector port="8080"
>> maxThreads="150" connectionTimeout="20000"
>> redirectPort="8443"
>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>> />
>>
>> I only see comet begin event?
>> ==
>> 30.10.2006 16:19:28 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener:
>> attributeAdded('org.apache.jasper.runtime.JspApplicationC
>> ontextImpl',
>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>> 30.10.2006 16:19:32 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener:
>> attributeReplaced('C3E6394AC176D22B752C75D55343AA02', 'ni
>> ckname', 'pero')
>> 30.10.2006 16:19:35 org.apache.catalina.core.ApplicationContext log
>> INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: contextDestroyed()
>> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: contextDestroyed()
>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener: contextInitialized()
>> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener: contextInitialized()
>> 30.10.2006 16:25:33 org.apache.catalina.core.ApplicationContext log
>> INFO: ContextListener:
>> attributeAdded('org.apache.jasper.runtime.JspApplicationC
>> ontextImpl',
>> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
>> 30.10.2006 16:25:36 org.apache.catalina.core.ApplicationContext log
>> INFO: SessionListener:
>> attributeReplaced('C3E6394AC176D22B752C75D55343AA02', 'ni
>> ckname', 'pero')
>> 30.10.2006 16:25:40 org.apache.catalina.core.ApplicationContext log
>> INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
>>
>> ===
>>
>> Regards
>> Peter
>>
>>
>>
>> Am 30.10.2006 um 15:53 schrieb Peter Rossbach:
>>
>>> Hi Filip,
>>>
>>> I found that MAC OS X only support setTrafficClass with following
>>> JDK option
>>>
>>> -Djava.net.preferIPv4Stack=true
>>>
>>> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>>>
>>> It seems a older IPV6 bug. At which place we can document those
>>> things? -> F&Q
>>>
>>>
>>> The chat example flush the messages only I got NPE:
>>>
>>> INFO: Server startup in 2642 ms
>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>> at
>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>> After this NPE the messages flush to the browser an connection are
>>> closed.
>>>
>>> Regards
>>> Peter
>>>
>>>
>>> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>>>
>>>> try to set the property socket.soTrafficClass to some other value,
>>>> if it's not working, what JDK are you running, here is the flag
>>>> described by SUN
>>>>
>>>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)
>>>>
>>>>
>>>>
>>>>
>>>> Peter Rossbach wrote:
>>>>> Hi Filip,
>>>>>
>>>>> I am starting testing your new NioProtocol handler, but I got
>>>>> following exception:
>>>>>
>>>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>>>> setSocketOptions
>>>>> SCHWERWIEGEND:
>>>>> java.net.SocketException: Invalid argument
>>>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>>>> at
>>>>> sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:372)
>>>>> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
>>>>> at
>>>>> sun.nio.ch.SocketOptsImpl$IP.typeOfService(SocketOptsImpl.java:249)
>>>>> at
>>>>> sun.nio.ch.OptionAdaptor.setTrafficClass(OptionAdaptor.java:158)
>>>>> at
>>>>> sun.nio.ch.SocketAdaptor.setTrafficClass(SocketAdaptor.java:320)
>>>>> at
>>>>> org.apache.tomcat.util.net.SocketProperties.setProperties(SocketProperties.java:107)
>>>>>
>>>>> at
>>>>> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:742)
>>>>>
>>>>> at
>>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1423)
>>>>>
>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>
>>>>>
>>>>> ==
>>>>>
>>>>> My connector config is:
>>>>>
>>>>> <Connector port="8080"
>>>>> maxThreads="150" connectionTimeout="20000"
>>>>> redirectPort="8443"
>>>>>
>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>>>
>>>>> After some google search I found that soTrafficClass are not
>>>>> supported at mac os x :-(
>>>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>>>
>>>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>>>
>>>>> // socket.setTrafficClass(soTrafficClass);
>>>>>
>>>>> Before I did this: I check starting connector with some different
>>>>> values without success
>>>>>
>>>>> ex.
>>>>> <Connector port="8080"
>>>>> maxThreads="150" connectionTimeout="20000"
>>>>> redirectPort="8443"
>>>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>>> socket.soTrafficClass="2" />
>>>>>
>>>>> After that patch the Connector work, but with the comet style chat
>>>>> example I have more trouble:
>>>>>
>>>>> INFO: Server startup in 3025 ms
>>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>>> at
>>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>>>
>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>>>> at
>>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>>>
>>>>> at java.lang.Thread.run(Thread.java:613)
>>>>>
>>>>> --Chat example really working? I see the posted messages only
>>>>> after socket is closed (with Firefox 1.5)...
>>>>>
>>>>> Next I test the chat example with APR handler, again.
>>>>>
>>>>> Regards
>>>>> Peter Roßbach
>>>>> pr@objektpark.de
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> No virus found in this incoming message.
>>>>> Checked by AVG Free Edition.
>>>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>>>> 10/27/2006
>>>>>
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>>>
>>>>
>>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>> 10/27/2006
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: It seems that Http11NioProtocol handler not working at mac os
x 10.4.8 ppc
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
how do you reproduce this? I've added in your fix, but cant reproduce
the problem
Filip
Peter Rossbach wrote:
> Hi Filip.
>
> you see at my situation the key can be null:
>
> 30.10.2006 16:03:20 org.apache.tomcat.util.net.NioEndpoint$Worker run
> INFO:
> socket=org.apache.tomcat.util.net.NioChannel@58473e:java.nio.channels.SocketChannel[connected
> local=/127.0.0.1:8080 remote=/127.0.0.1:50517]
> key=sun.nio.ch.SelectionKeyImpl@5138a4
> 30.10.2006 16:03:40 org.apache.tomcat.util.net.NioEndpoint$Worker run
> INFO:
> socket=org.apache.tomcat.util.net.NioChannel@a6343d:java.nio.channels.SocketChannel[closed]
> key=null
>
>
> #################
>
> Exception in thread "http-8080-2" java.lang.NullPointerException
> at
> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1442)
> at java.lang.Thread.run(Thread.java:613)
>
>
> Here my patch:
>
> === L 1436 f
>
> NioChannel socket = (NioChannel)channel;
>
> SelectionKey key =
> socket.getIOChannel().keyFor(socket.getPoller().getSelector());
> int handshake = -1;
> log.info("socket=" + socket + " key=" + key );
> if(key != null) {
> try {
> handshake =
> socket.handshake(key.isReadable(), key.isWritable());
> }catch ( IOException x ) {
> handshake = -1;
> if ( log.isDebugEnabled() )
> log.debug("Error during SSL handshake",x);
> }catch ( CancelledKeyException ckx ) {
> handshake = -1;
> }
> } else {
> handshake = -1;
> }
>
> if ( handshake == 0 ) {
> // Process the request from this socket
> if ((status != null) &&
> (handler.event(socket, status) == Handler.SocketState.CLOSED)) {
> // Close socket and pool
> try {
> KeyAttachment att =
> (KeyAttachment)socket.getAttachment(true);
> try {socket.close();}catch
> (Exception ignore){}
> if ( socket.isOpen() )
> socket.close(true);
> nioChannels.offer(socket);
> if ( att!=null ) keyCache.offer(att);
> }catch ( Exception x ) {
> log.error("",x);
> }
> } else if ((status == null) &&
> (handler.process(socket) == Handler.SocketState.CLOSED)) {
> // Close socket and pool
> try {
> KeyAttachment att =
> (KeyAttachment)socket.getAttachment(true);
> try {socket.close();}catch
> (Exception ignore){}
> if ( socket.isOpen() )
> socket.close(true);
> nioChannels.offer(socket);
> if ( att!=null ) keyCache.offer(att);
> }catch ( Exception x ) {
> log.error("",x);
> }
> }
> } else if (handshake == -1 ) {
> if ( key != null && key.isValid() )
> key.cancel();
> try {socket.close(true);}catch
> (IOException ignore){}
> nioChannels.offer(socket);
> } else {
> final SelectionKey fk = key;
> final int intops = handshake;
> final KeyAttachment ka =
> (KeyAttachment)fk.attachment();
> ka.getPoller().add(socket,intops);
> }
> }
> } finally {
> //dereference socket to let GC do its job
> socket = null;
> // Finish up this request
> recycleWorkerThread(this);
> }
> }
> }
>
> ====
>
> But why the chat messages don't responce only as socket close?
>
> <Connector port="8080"
> maxThreads="150" connectionTimeout="20000"
> redirectPort="8443"
> protocol="org.apache.coyote.http11.Http11NioProtocol"
> />
>
> I only see comet begin event?
> ==
> 30.10.2006 16:19:28 org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener:
> attributeAdded('org.apache.jasper.runtime.JspApplicationC
> ontextImpl',
> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
> 30.10.2006 16:19:32 org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener:
> attributeReplaced('C3E6394AC176D22B752C75D55343AA02', 'ni
> ckname', 'pero')
> 30.10.2006 16:19:35 org.apache.catalina.core.ApplicationContext log
> INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextDestroyed()
> 30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextDestroyed()
> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextInitialized()
> 30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextInitialized()
> 30.10.2006 16:25:33 org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener:
> attributeAdded('org.apache.jasper.runtime.JspApplicationC
> ontextImpl',
> 'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
> 30.10.2006 16:25:36 org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener:
> attributeReplaced('C3E6394AC176D22B752C75D55343AA02', 'ni
> ckname', 'pero')
> 30.10.2006 16:25:40 org.apache.catalina.core.ApplicationContext log
> INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
>
> ===
>
> Regards
> Peter
>
>
>
> Am 30.10.2006 um 15:53 schrieb Peter Rossbach:
>
>> Hi Filip,
>>
>> I found that MAC OS X only support setTrafficClass with following JDK
>> option
>>
>> -Djava.net.preferIPv4Stack=true
>>
>> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>>
>> It seems a older IPV6 bug. At which place we can document those
>> things? -> F&Q
>>
>>
>> The chat example flush the messages only I got NPE:
>>
>> INFO: Server startup in 2642 ms
>> Exception in thread "http-8080-1" java.lang.NullPointerException
>> at
>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>> at java.lang.Thread.run(Thread.java:613)
>>
>> After this NPE the messages flush to the browser an connection are
>> closed.
>>
>> Regards
>> Peter
>>
>>
>> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>>
>>> try to set the property socket.soTrafficClass to some other value,
>>> if it's not working, what JDK are you running, here is the flag
>>> described by SUN
>>>
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)
>>>
>>>
>>>
>>>
>>> Peter Rossbach wrote:
>>>> Hi Filip,
>>>>
>>>> I am starting testing your new NioProtocol handler, but I got
>>>> following exception:
>>>>
>>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>>> setSocketOptions
>>>> SCHWERWIEGEND:
>>>> java.net.SocketException: Invalid argument
>>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>>> at
>>>> sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:372)
>>>> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
>>>> at
>>>> sun.nio.ch.SocketOptsImpl$IP.typeOfService(SocketOptsImpl.java:249)
>>>> at
>>>> sun.nio.ch.OptionAdaptor.setTrafficClass(OptionAdaptor.java:158)
>>>> at
>>>> sun.nio.ch.SocketAdaptor.setTrafficClass(SocketAdaptor.java:320)
>>>> at
>>>> org.apache.tomcat.util.net.SocketProperties.setProperties(SocketProperties.java:107)
>>>>
>>>> at
>>>> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:742)
>>>>
>>>> at
>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1423)
>>>>
>>>> at java.lang.Thread.run(Thread.java:613)
>>>>
>>>>
>>>> ==
>>>>
>>>> My connector config is:
>>>>
>>>> <Connector port="8080"
>>>> maxThreads="150" connectionTimeout="20000"
>>>> redirectPort="8443"
>>>>
>>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>>
>>>> After some google search I found that soTrafficClass are not
>>>> supported at mac os x :-(
>>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>>
>>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>>
>>>> // socket.setTrafficClass(soTrafficClass);
>>>>
>>>> Before I did this: I check starting connector with some different
>>>> values without success
>>>>
>>>> ex.
>>>> <Connector port="8080"
>>>> maxThreads="150" connectionTimeout="20000"
>>>> redirectPort="8443"
>>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>> socket.soTrafficClass="2" />
>>>>
>>>> After that patch the Connector work, but with the comet style chat
>>>> example I have more trouble:
>>>>
>>>> INFO: Server startup in 3025 ms
>>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>>> at
>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>>
>>>> at java.lang.Thread.run(Thread.java:613)
>>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>>> at
>>>> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
>>>>
>>>> at java.lang.Thread.run(Thread.java:613)
>>>>
>>>> --Chat example really working? I see the posted messages only after
>>>> socket is closed (with Firefox 1.5)...
>>>>
>>>> Next I test the chat example with APR handler, again.
>>>>
>>>> Regards
>>>> Peter Roßbach
>>>> pr@objektpark.de
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>> No virus found in this incoming message.
>>>> Checked by AVG Free Edition.
>>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>>> 10/27/2006
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>>
>>>
>>
>
>
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date: 10/27/2006
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: It seems that Http11NioProtocol handler not working at mac os x 10.4.8 ppc
Posted by Peter Rossbach <pr...@objektpark.de>.
Hi Filip.
you see at my situation the key can be null:
30.10.2006 16:03:20 org.apache.tomcat.util.net.NioEndpoint$Worker run
INFO:
socket=org.apache.tomcat.util.net.NioChannel@58473e:java.nio.channels.So
cketChannel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:50517]
key=sun.nio.ch.SelectionKeyImpl@5138a4
30.10.2006 16:03:40 org.apache.tomcat.util.net.NioEndpoint$Worker run
INFO:
socket=org.apache.tomcat.util.net.NioChannel@a6343d:java.nio.channels.So
cketChannel[closed] key=null
#################
Exception in thread "http-8080-2" java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$Worker.run
(NioEndpoint.java:1442)
at java.lang.Thread.run(Thread.java:613)
Here my patch:
=== L 1436 f
NioChannel socket = (NioChannel)channel;
SelectionKey key = socket.getIOChannel
().keyFor(socket.getPoller().getSelector());
int handshake = -1;
log.info("socket=" + socket + " key=" + key );
if(key != null) {
try {
handshake = socket.handshake
(key.isReadable(), key.isWritable());
}catch ( IOException x ) {
handshake = -1;
if ( log.isDebugEnabled() ) log.debug
("Error during SSL handshake",x);
}catch ( CancelledKeyException ckx ) {
handshake = -1;
}
} else {
handshake = -1;
}
if ( handshake == 0 ) {
// Process the request from this socket
if ((status != null) && (handler.event
(socket, status) == Handler.SocketState.CLOSED)) {
// Close socket and pool
try {
KeyAttachment att =
(KeyAttachment)socket.getAttachment(true);
try {socket.close();}catch
(Exception ignore){}
if ( socket.isOpen() )
socket.close(true);
nioChannels.offer(socket);
if ( att!=null ) keyCache.offer
(att);
}catch ( Exception x ) {
log.error("",x);
}
} else if ((status == null) &&
(handler.process(socket) == Handler.SocketState.CLOSED)) {
// Close socket and pool
try {
KeyAttachment att =
(KeyAttachment)socket.getAttachment(true);
try {socket.close();}catch
(Exception ignore){}
if ( socket.isOpen() )
socket.close(true);
nioChannels.offer(socket);
if ( att!=null ) keyCache.offer
(att);
}catch ( Exception x ) {
log.error("",x);
}
}
} else if (handshake == -1 ) {
if ( key != null && key.isValid() )
key.cancel();
try {socket.close(true);}catch
(IOException ignore){}
nioChannels.offer(socket);
} else {
final SelectionKey fk = key;
final int intops = handshake;
final KeyAttachment ka = (KeyAttachment)
fk.attachment();
ka.getPoller().add(socket,intops);
}
}
} finally {
//dereference socket to let GC do its job
socket = null;
// Finish up this request
recycleWorkerThread(this);
}
}
}
====
But why the chat messages don't responce only as socket close?
<Connector port="8080"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
/>
I only see comet begin event?
==
30.10.2006 16:19:28 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded
('org.apache.jasper.runtime.JspApplicationC
ontextImpl',
'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
30.10.2006 16:19:32 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: attributeReplaced
('C3E6394AC176D22B752C75D55343AA02', 'ni
ckname', 'pero')
30.10.2006 16:19:35 org.apache.catalina.core.ApplicationContext log
INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
30.10.2006 16:25:17 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
30.10.2006 16:25:22 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
30.10.2006 16:25:33 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded
('org.apache.jasper.runtime.JspApplicationC
ontextImpl',
'org.apache.jasper.runtime.JspApplicationContextImpl@428ffa')
30.10.2006 16:25:36 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: attributeReplaced
('C3E6394AC176D22B752C75D55343AA02', 'ni
ckname', 'pero')
30.10.2006 16:25:40 org.apache.catalina.core.ApplicationContext log
INFO: ChatServlet: Begin for session: C3E6394AC176D22B752C75D55343AA02
===
Regards
Peter
Am 30.10.2006 um 15:53 schrieb Peter Rossbach:
> Hi Filip,
>
> I found that MAC OS X only support setTrafficClass with following
> JDK option
>
> -Djava.net.preferIPv4Stack=true
>
> http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
>
> It seems a older IPV6 bug. At which place we can document those
> things? -> F&Q
>
>
> The chat example flush the messages only I got NPE:
>
> INFO: Server startup in 2642 ms
> Exception in thread "http-8080-1" java.lang.NullPointerException
> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
> (NioEndpoint.java:1441)
> at java.lang.Thread.run(Thread.java:613)
>
> After this NPE the messages flush to the browser an connection are
> closed.
>
> Regards
> Peter
>
>
> Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
>
>> try to set the property socket.soTrafficClass to some other value,
>> if it's not working, what JDK are you running, here is the flag
>> described by SUN
>>
>> http://java.sun.com/j2se/1.5.0/docs/api/java/net/
>> Socket.html#setTrafficClass(int)
>>
>>
>>
>> Peter Rossbach wrote:
>>> Hi Filip,
>>>
>>> I am starting testing your new NioProtocol handler, but I got
>>> following exception:
>>>
>>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>>> setSocketOptions
>>> SCHWERWIEGEND:
>>> java.net.SocketException: Invalid argument
>>> at sun.nio.ch.Net.setIntOption0(Native Method)
>>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>>> at sun.nio.ch.SocketChannelImpl$1.setInt
>>> (SocketChannelImpl.java:372)
>>> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
>>> at sun.nio.ch.SocketOptsImpl$IP.typeOfService
>>> (SocketOptsImpl.java:249)
>>> at sun.nio.ch.OptionAdaptor.setTrafficClass
>>> (OptionAdaptor.java:158)
>>> at sun.nio.ch.SocketAdaptor.setTrafficClass
>>> (SocketAdaptor.java:320)
>>> at
>>> org.apache.tomcat.util.net.SocketProperties.setProperties
>>> (SocketProperties.java:107)
>>> at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions
>>> (NioEndpoint.java:742)
>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>> (NioEndpoint.java:1423)
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>>
>>> ==
>>>
>>> My connector config is:
>>>
>>> <Connector port="8080"
>>> maxThreads="150" connectionTimeout="20000"
>>> redirectPort="8443"
>>>
>>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>>
>>> After some google search I found that soTrafficClass are not
>>> supported at mac os x :-(
>>> s. http://jira.safehaus.org/browse/PENROSE-71
>>>
>>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>>
>>> // socket.setTrafficClass(soTrafficClass);
>>>
>>> Before I did this: I check starting connector with some different
>>> values without success
>>>
>>> ex.
>>> <Connector port="8080"
>>> maxThreads="150" connectionTimeout="20000"
>>> redirectPort="8443"
>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>> socket.soTrafficClass="2" />
>>>
>>> After that patch the Connector work, but with the comet style
>>> chat example I have more trouble:
>>>
>>> INFO: Server startup in 3025 ms
>>> Exception in thread "http-8080-1" java.lang.NullPointerException
>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>> (NioEndpoint.java:1441)
>>> at java.lang.Thread.run(Thread.java:613)
>>> Exception in thread "http-8080-2" java.lang.NullPointerException
>>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>>> (NioEndpoint.java:1441)
>>> at java.lang.Thread.run(Thread.java:613)
>>>
>>> --
>>> Chat example really working? I see the posted messages only after
>>> socket is closed (with Firefox 1.5)...
>>>
>>> Next I test the chat example with APR handler, again.
>>>
>>> Regards
>>> Peter Roßbach
>>> pr@objektpark.de
>>>
>>>
>>>
>>>
>>> --------------------------------------------------------------------
>>> ----
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>>> 10/27/2006
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>>
>
Re: It seems that Http11NioProtocol handler not working at mac os x 10.4.8 ppc
Posted by Peter Rossbach <pr...@objektpark.de>.
Hi Filip,
I found that MAC OS X only support setTrafficClass with following JDK
option
-Djava.net.preferIPv4Stack=true
http://lists.apple.com/archives/java-dev/2006/Jun/msg00414.html
It seems a older IPV6 bug. At which place we can document those
things? -> F&Q
The chat example flush the messages only I got NPE:
INFO: Server startup in 2642 ms
Exception in thread "http-8080-1" java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$Worker.run
(NioEndpoint.java:1441)
at java.lang.Thread.run(Thread.java:613)
After this NPE the messages flush to the browser an connection are
closed.
Regards
Peter
Am 30.10.2006 um 15:04 schrieb Filip Hanik - Dev Lists:
> try to set the property socket.soTrafficClass to some other value,
> if it's not working, what JDK are you running, here is the flag
> described by SUN
>
> http://java.sun.com/j2se/1.5.0/docs/api/java/net/
> Socket.html#setTrafficClass(int)
>
>
>
> Peter Rossbach wrote:
>> Hi Filip,
>>
>> I am starting testing your new NioProtocol handler, but I got
>> following exception:
>>
>> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
>> setSocketOptions
>> SCHWERWIEGEND:
>> java.net.SocketException: Invalid argument
>> at sun.nio.ch.Net.setIntOption0(Native Method)
>> at sun.nio.ch.Net.setIntOption(Net.java:152)
>> at sun.nio.ch.SocketChannelImpl$1.setInt
>> (SocketChannelImpl.java:372)
>> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
>> at sun.nio.ch.SocketOptsImpl$IP.typeOfService
>> (SocketOptsImpl.java:249)
>> at sun.nio.ch.OptionAdaptor.setTrafficClass
>> (OptionAdaptor.java:158)
>> at sun.nio.ch.SocketAdaptor.setTrafficClass
>> (SocketAdaptor.java:320)
>> at
>> org.apache.tomcat.util.net.SocketProperties.setProperties
>> (SocketProperties.java:107)
>> at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions
>> (NioEndpoint.java:742)
>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>> (NioEndpoint.java:1423)
>> at java.lang.Thread.run(Thread.java:613)
>>
>>
>> ==
>>
>> My connector config is:
>>
>> <Connector port="8080"
>> maxThreads="150" connectionTimeout="20000"
>> redirectPort="8443"
>>
>> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>>
>> After some google search I found that soTrafficClass are not
>> supported at mac os x :-(
>> s. http://jira.safehaus.org/browse/PENROSE-71
>>
>> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>>
>> // socket.setTrafficClass(soTrafficClass);
>>
>> Before I did this: I check starting connector with some different
>> values without success
>>
>> ex.
>> <Connector port="8080"
>> maxThreads="150" connectionTimeout="20000"
>> redirectPort="8443"
>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>> socket.soTrafficClass="2" />
>>
>> After that patch the Connector work, but with the comet style chat
>> example I have more trouble:
>>
>> INFO: Server startup in 3025 ms
>> Exception in thread "http-8080-1" java.lang.NullPointerException
>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>> (NioEndpoint.java:1441)
>> at java.lang.Thread.run(Thread.java:613)
>> Exception in thread "http-8080-2" java.lang.NullPointerException
>> at org.apache.tomcat.util.net.NioEndpoint$Worker.run
>> (NioEndpoint.java:1441)
>> at java.lang.Thread.run(Thread.java:613)
>>
>> --
>> Chat example really working? I see the posted messages only after
>> socket is closed (with Firefox 1.5)...
>>
>> Next I test the chat example with APR handler, again.
>>
>> Regards
>> Peter Roßbach
>> pr@objektpark.de
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> ---
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date:
>> 10/27/2006
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>
Re: It seems that Http11NioProtocol handler not working at mac os
x 10.4.8 ppc
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
try to set the property socket.soTrafficClass to some other value,
if it's not working, what JDK are you running, here is the flag
described by SUN
http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setTrafficClass(int)
Peter Rossbach wrote:
> Hi Filip,
>
> I am starting testing your new NioProtocol handler, but I got
> following exception:
>
> 30.10.2006 13:37:24 org.apache.tomcat.util.net.NioEndpoint
> setSocketOptions
> SCHWERWIEGEND:
> java.net.SocketException: Invalid argument
> at sun.nio.ch.Net.setIntOption0(Native Method)
> at sun.nio.ch.Net.setIntOption(Net.java:152)
> at
> sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:372)
> at sun.nio.ch.SocketOptsImpl.setInt(SocketOptsImpl.java:46)
> at
> sun.nio.ch.SocketOptsImpl$IP.typeOfService(SocketOptsImpl.java:249)
> at
> sun.nio.ch.OptionAdaptor.setTrafficClass(OptionAdaptor.java:158)
> at
> sun.nio.ch.SocketAdaptor.setTrafficClass(SocketAdaptor.java:320)
> at
> org.apache.tomcat.util.net.SocketProperties.setProperties(SocketProperties.java:107)
>
> at
> org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:742)
>
> at
> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1423)
> at java.lang.Thread.run(Thread.java:613)
>
>
> ==
>
> My connector config is:
>
> <Connector port="8080"
> maxThreads="150" connectionTimeout="20000"
> redirectPort="8443"
> protocol="org.apache.coyote.http11.Http11NioProtocol" />
>
> After some google search I found that soTrafficClass are not supported
> at mac os x :-(
> s. http://jira.safehaus.org/browse/PENROSE-71
>
> I comment out L 106 at class o.a.t.util.net.SocketProperties.
>
> // socket.setTrafficClass(soTrafficClass);
>
> Before I did this: I check starting connector with some different
> values without success
>
> ex.
> <Connector port="8080"
> maxThreads="150" connectionTimeout="20000"
> redirectPort="8443"
> protocol="org.apache.coyote.http11.Http11NioProtocol"
> socket.soTrafficClass="2" />
>
> After that patch the Connector work, but with the comet style chat
> example I have more trouble:
>
> INFO: Server startup in 3025 ms
> Exception in thread "http-8080-1" java.lang.NullPointerException
> at
> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
> at java.lang.Thread.run(Thread.java:613)
> Exception in thread "http-8080-2" java.lang.NullPointerException
> at
> org.apache.tomcat.util.net.NioEndpoint$Worker.run(NioEndpoint.java:1441)
> at java.lang.Thread.run(Thread.java:613)
>
> --
> Chat example really working? I see the posted messages only after
> socket is closed (with Firefox 1.5)...
>
> Next I test the chat example with APR handler, again.
>
> Regards
> Peter Roßbach
> pr@objektpark.de
>
>
>
>
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.408 / Virus Database: 268.13.17/505 - Release Date: 10/27/2006
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org