Re: Http2UpgradeHandler error

2016-10-28 Thread Mark Thomas
On 28/10/2016 17:20, Philippe Anctil wrote:
> Hi,
> 
> I have recently started encountering "APR general error" messages with
> Tomcat 8.5.0 + tc native 1.2.5. I have no clue what triggers the issue. I
> came across this thread and I am tempted to upgrade to 8.5.6 and
> tomcat-native 1.2.8. However it would be best if I could reproduce the
> problem before/after the upgrade to confirm the effectiveness of the
> solution. Could you share some information on how to trigger this error?

That will be tricky. It was triggered by a OS level network error during
non-blocking TLS I/O that wasn't EAGAIN. You'd need to be able to
trigger the right type of error at the right moment to recreate this issue.

This might be one of those times where you have to accept that it isn't
practical to create a test case that always triggers the error.

Mark


> 
> Thank you.
> 
> 2016-06-23 8:46 GMT-04:00 Mark Thomas :
> 
>> On 23/06/2016 13:07, Andrei Ivanov wrote:
>>> On Thu, Jun 23, 2016 at 2:52 PM, Mark Thomas  wrote:
 On 22/06/2016 21:28, Andrei Ivanov wrote:
> Yes, I can test.
> 64-bit please.

 Thanks.

 It turned out not to be quite as simple as just a tc-native update.
 You'll need this dll:
 http://home.apache.org/~markt/dev/tc-native-debug/tcnative-1.dll

 and these class files:
 http://home.apache.org/~markt/dev/tc-native-debug/tomcat-8.
>> 5.3-patch.zip

 The dll should replace the tc-native DLL you are currently using.

 The class files patch the 8.5.3 release. They might work with other
 versions but if they don't work it won't be pretty. The class files
 should be unpacked from the zip placed in this directory:
 $CATALINA_BASE/lib/org/apache/tomcat/util/net


 Hopefully, everything should now just work when you use TLS. If it
 doesn't there will be some debug messages written to stdout by tc-native
 that should give me an idea of what is going wrong.

 Finally, I need to point out the obvious.
 The files above are not an official Apache release and are provided
 solely for debugging this issue only. You use these files at your own
>> risk.

 Thanks for the offer to help,

 Mark

>>>
>>> I ran the test, Tomcat doesn't log anymore errors, Firefox seems happy
>> :-)
>>>
>>> Tried with Chrome 51.0.2704.103 m, it also seems happy, showing h2
>>> and/or spdy as protocol when loading various resources of the app.
>>>
>>> Tried MS Edge, but that seems to use HTTP 1.1 for some reason.
>>
>> Excellent. Thanks for testing this so quickly. The fix will be in the
>> next releases.
>>
>> Mark
>>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>>
> 
> 


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-10-28 Thread Philippe Anctil
Hi,

I have recently started encountering "APR general error" messages with
Tomcat 8.5.0 + tc native 1.2.5. I have no clue what triggers the issue. I
came across this thread and I am tempted to upgrade to 8.5.6 and
tomcat-native 1.2.8. However it would be best if I could reproduce the
problem before/after the upgrade to confirm the effectiveness of the
solution. Could you share some information on how to trigger this error?

Thank you.

2016-06-23 8:46 GMT-04:00 Mark Thomas :

> On 23/06/2016 13:07, Andrei Ivanov wrote:
> > On Thu, Jun 23, 2016 at 2:52 PM, Mark Thomas  wrote:
> >> On 22/06/2016 21:28, Andrei Ivanov wrote:
> >>> Yes, I can test.
> >>> 64-bit please.
> >>
> >> Thanks.
> >>
> >> It turned out not to be quite as simple as just a tc-native update.
> >> You'll need this dll:
> >> http://home.apache.org/~markt/dev/tc-native-debug/tcnative-1.dll
> >>
> >> and these class files:
> >> http://home.apache.org/~markt/dev/tc-native-debug/tomcat-8.
> 5.3-patch.zip
> >>
> >> The dll should replace the tc-native DLL you are currently using.
> >>
> >> The class files patch the 8.5.3 release. They might work with other
> >> versions but if they don't work it won't be pretty. The class files
> >> should be unpacked from the zip placed in this directory:
> >> $CATALINA_BASE/lib/org/apache/tomcat/util/net
> >>
> >>
> >> Hopefully, everything should now just work when you use TLS. If it
> >> doesn't there will be some debug messages written to stdout by tc-native
> >> that should give me an idea of what is going wrong.
> >>
> >> Finally, I need to point out the obvious.
> >> The files above are not an official Apache release and are provided
> >> solely for debugging this issue only. You use these files at your own
> risk.
> >>
> >> Thanks for the offer to help,
> >>
> >> Mark
> >>
> >
> > I ran the test, Tomcat doesn't log anymore errors, Firefox seems happy
> :-)
> >
> > Tried with Chrome 51.0.2704.103 m, it also seems happy, showing h2
> > and/or spdy as protocol when loading various resources of the app.
> >
> > Tried MS Edge, but that seems to use HTTP 1.1 for some reason.
>
> Excellent. Thanks for testing this so quickly. The fix will be in the
> next releases.
>
> Mark
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>


-- 
Philippe Anctil


Re: Http2UpgradeHandler error

2016-06-23 Thread Mark Thomas
On 23/06/2016 13:07, Andrei Ivanov wrote:
> On Thu, Jun 23, 2016 at 2:52 PM, Mark Thomas  wrote:
>> On 22/06/2016 21:28, Andrei Ivanov wrote:
>>> Yes, I can test.
>>> 64-bit please.
>>
>> Thanks.
>>
>> It turned out not to be quite as simple as just a tc-native update.
>> You'll need this dll:
>> http://home.apache.org/~markt/dev/tc-native-debug/tcnative-1.dll
>>
>> and these class files:
>> http://home.apache.org/~markt/dev/tc-native-debug/tomcat-8.5.3-patch.zip
>>
>> The dll should replace the tc-native DLL you are currently using.
>>
>> The class files patch the 8.5.3 release. They might work with other
>> versions but if they don't work it won't be pretty. The class files
>> should be unpacked from the zip placed in this directory:
>> $CATALINA_BASE/lib/org/apache/tomcat/util/net
>>
>>
>> Hopefully, everything should now just work when you use TLS. If it
>> doesn't there will be some debug messages written to stdout by tc-native
>> that should give me an idea of what is going wrong.
>>
>> Finally, I need to point out the obvious.
>> The files above are not an official Apache release and are provided
>> solely for debugging this issue only. You use these files at your own risk.
>>
>> Thanks for the offer to help,
>>
>> Mark
>>
> 
> I ran the test, Tomcat doesn't log anymore errors, Firefox seems happy :-)
> 
> Tried with Chrome 51.0.2704.103 m, it also seems happy, showing h2
> and/or spdy as protocol when loading various resources of the app.
> 
> Tried MS Edge, but that seems to use HTTP 1.1 for some reason.

Excellent. Thanks for testing this so quickly. The fix will be in the
next releases.

Mark


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-23 Thread Andrei Ivanov
On Thu, Jun 23, 2016 at 2:52 PM, Mark Thomas  wrote:
> On 22/06/2016 21:28, Andrei Ivanov wrote:
>> Yes, I can test.
>> 64-bit please.
>
> Thanks.
>
> It turned out not to be quite as simple as just a tc-native update.
> You'll need this dll:
> http://home.apache.org/~markt/dev/tc-native-debug/tcnative-1.dll
>
> and these class files:
> http://home.apache.org/~markt/dev/tc-native-debug/tomcat-8.5.3-patch.zip
>
> The dll should replace the tc-native DLL you are currently using.
>
> The class files patch the 8.5.3 release. They might work with other
> versions but if they don't work it won't be pretty. The class files
> should be unpacked from the zip placed in this directory:
> $CATALINA_BASE/lib/org/apache/tomcat/util/net
>
>
> Hopefully, everything should now just work when you use TLS. If it
> doesn't there will be some debug messages written to stdout by tc-native
> that should give me an idea of what is going wrong.
>
> Finally, I need to point out the obvious.
> The files above are not an official Apache release and are provided
> solely for debugging this issue only. You use these files at your own risk.
>
> Thanks for the offer to help,
>
> Mark
>

I ran the test, Tomcat doesn't log anymore errors, Firefox seems happy :-)

Tried with Chrome 51.0.2704.103 m, it also seems happy, showing h2
and/or spdy as protocol when loading various resources of the app.

Tried MS Edge, but that seems to use HTTP 1.1 for some reason.

Thank you.

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-23 Thread Mark Thomas
On 22/06/2016 21:28, Andrei Ivanov wrote:
> Yes, I can test.
> 64-bit please.

Thanks.

It turned out not to be quite as simple as just a tc-native update.
You'll need this dll:
http://home.apache.org/~markt/dev/tc-native-debug/tcnative-1.dll

and these class files:
http://home.apache.org/~markt/dev/tc-native-debug/tomcat-8.5.3-patch.zip

The dll should replace the tc-native DLL you are currently using.

The class files patch the 8.5.3 release. They might work with other
versions but if they don't work it won't be pretty. The class files
should be unpacked from the zip placed in this directory:
$CATALINA_BASE/lib/org/apache/tomcat/util/net


Hopefully, everything should now just work when you use TLS. If it
doesn't there will be some debug messages written to stdout by tc-native
that should give me an idea of what is going wrong.

Finally, I need to point out the obvious.
The files above are not an official Apache release and are provided
solely for debugging this issue only. You use these files at your own risk.

Thanks for the offer to help,

Mark


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-22 Thread Andrei Ivanov
On Wed, Jun 22, 2016 at 10:42 PM, Mark Thomas  wrote:
> On 21/06/2016 17:36, Mark Thomas wrote:
>> On 21/06/2016 14:52, Mark Thomas wrote:
>>> On 21/06/2016 14:43, Andrei Ivanov wrote:
>>
>> 
>>
 21-Jun-2016 13:38:41.122 FINE [https-openssl-apr-8443-exec-6]
 org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer
 An APR general error was returned by the SSL read operation on
 APR/native socket [1,852,286,144] with wrapper
 [org.apache.tomcat.util.net.
 AprEndpoint$AprSocketWrapper@1dfa0278:1852286144]. It will be treated
 as EAGAIN and the socket returned to the poller.
 21-Jun-2016 13:38:41.125 SEVERE [https-openssl-apr-8443-exec-6]
 org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
 reading request, ignored
  java.lang.IllegalStateException
>>>
>>> Bingo!
>>>
>>> That proves the theory. Thanks for testing it so quickly. I should be
>>> able to put together a fix for this fairly quickly. I'll update this
>>> thread when I have the fix ready to test. If you're able to build Tomcat
>>> 8.5.x locally by then, great. If not, I can always provide a snapshot
>>> build for you to test with.
>>
>> This is going to take a little longer than I thought. I need to dig
>> deeper into the tc-native / OpenSSL code.
>
> Progress has been made.
>
> I think the root cause was a bug in tc-native (fixed for 1.2.8) that had
> an incomplete work-around applied in Tomcat. I've fixed this in
> tc-native 1.2.x. An update to tc-native 1.2.8 (when released) should be
> sufficient to fix this. If I upload a snapshot build of the 1.2.8-dev
> .dll somewhere would you be able to test it? Do you need 32-bit or 64-bit?

Yes, I can test.
64-bit please.

Thank you :-)

>
> Mark
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-22 Thread Mark Thomas
On 21/06/2016 17:36, Mark Thomas wrote:
> On 21/06/2016 14:52, Mark Thomas wrote:
>> On 21/06/2016 14:43, Andrei Ivanov wrote:
> 
> 
> 
>>> 21-Jun-2016 13:38:41.122 FINE [https-openssl-apr-8443-exec-6]
>>> org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer
>>> An APR general error was returned by the SSL read operation on
>>> APR/native socket [1,852,286,144] with wrapper
>>> [org.apache.tomcat.util.net.
>>> AprEndpoint$AprSocketWrapper@1dfa0278:1852286144]. It will be treated
>>> as EAGAIN and the socket returned to the poller.
>>> 21-Jun-2016 13:38:41.125 SEVERE [https-openssl-apr-8443-exec-6]
>>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
>>> reading request, ignored
>>>  java.lang.IllegalStateException
>>
>> Bingo!
>>
>> That proves the theory. Thanks for testing it so quickly. I should be
>> able to put together a fix for this fairly quickly. I'll update this
>> thread when I have the fix ready to test. If you're able to build Tomcat
>> 8.5.x locally by then, great. If not, I can always provide a snapshot
>> build for you to test with.
> 
> This is going to take a little longer than I thought. I need to dig
> deeper into the tc-native / OpenSSL code.

Progress has been made.

I think the root cause was a bug in tc-native (fixed for 1.2.8) that had
an incomplete work-around applied in Tomcat. I've fixed this in
tc-native 1.2.x. An update to tc-native 1.2.8 (when released) should be
sufficient to fix this. If I upload a snapshot build of the 1.2.8-dev
.dll somewhere would you be able to test it? Do you need 32-bit or 64-bit?

Mark


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-21 Thread Mark Thomas
On 21/06/2016 14:52, Mark Thomas wrote:
> On 21/06/2016 14:43, Andrei Ivanov wrote:



>> 21-Jun-2016 13:38:41.122 FINE [https-openssl-apr-8443-exec-6]
>> org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer
>> An APR general error was returned by the SSL read operation on
>> APR/native socket [1,852,286,144] with wrapper
>> [org.apache.tomcat.util.net.
>> AprEndpoint$AprSocketWrapper@1dfa0278:1852286144]. It will be treated
>> as EAGAIN and the socket returned to the poller.
>> 21-Jun-2016 13:38:41.125 SEVERE [https-openssl-apr-8443-exec-6]
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
>> reading request, ignored
>>  java.lang.IllegalStateException
> 
> Bingo!
> 
> That proves the theory. Thanks for testing it so quickly. I should be
> able to put together a fix for this fairly quickly. I'll update this
> thread when I have the fix ready to test. If you're able to build Tomcat
> 8.5.x locally by then, great. If not, I can always provide a snapshot
> build for you to test with.

This is going to take a little longer than I thought. I need to dig
deeper into the tc-native / OpenSSL code.

Mark


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-21 Thread Andrei Ivanov
On Tue, Jun 21, 2016 at 4:52 PM, Mark Thomas  wrote:
> On 21/06/2016 14:43, Andrei Ivanov wrote:
>> On Tue, Jun 21, 2016 at 4:01 PM, Mark Thomas  wrote:
>>> On 21/06/2016 13:43, Mark Thomas wrote:
>>>
 I'll take a look at the code and see if I can figure out how this is
 happening. Are you able to build 8.5.x from source to test any changes I
 might make?
>> If all it needs is a Java tools, I can build.
>
> Tomcat is a lot easier to build that it used to be. You need Ant, svn
> client and an internet connection. For details see:
> http://tomcat.apache.org/tomcat-8.5-doc/building.html
>
> If you prefer (although there are no explicit instructions) you can
> replace svn with git and use the mirror at:
> https://github.com/apache/tomcat85
>
>> Btw, tcnative is 1.2.7, the one that came in
>> apache-tomcat-8.5.3-windows-x64.zip.
>
> I guessed you were using that version but wanted to be sure.
>
>>> I have a theory which can be proved/disproved with some extra logging.
>
> 
>
>> Restarted Tomcat and Firefox.
>> The following are just from loading the login form and its
>> dependencies (css/js).
>
> 
>
>> 21-Jun-2016 13:38:41.122 FINE [https-openssl-apr-8443-exec-6]
>> org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer
>> An APR general error was returned by the SSL read operation on
>> APR/native socket [1,852,286,144] with wrapper
>> [org.apache.tomcat.util.net.
>> AprEndpoint$AprSocketWrapper@1dfa0278:1852286144]. It will be treated
>> as EAGAIN and the socket returned to the poller.
>> 21-Jun-2016 13:38:41.125 SEVERE [https-openssl-apr-8443-exec-6]
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
>> reading request, ignored
>>  java.lang.IllegalStateException
>
> Bingo!
>
> That proves the theory. Thanks for testing it so quickly. I should be
> able to put together a fix for this fairly quickly. I'll update this
> thread when I have the fix ready to test. If you're able to build Tomcat
> 8.5.x locally by then, great. If not, I can always provide a snapshot
> build for you to test with.
>
> Mark

One more, for the fun :-)
Not sure if it's related:

21-Jun-2016 13:43:52.248 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Processing socket
[1,852,302,560] for event(s) [1]
21-Jun-2016 13:43:52.250 FINE [https-openssl-apr-8443-exec-3]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,302,560], timeout [-1], flags [1]
21-Jun-2016 13:43:52.250 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,302,560]
21-Jun-2016 13:43:52.251 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,302,560] from poller
21-Jun-2016 13:43:52.254 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Processing socket
[1,852,302,560] for event(s) [1]
21-Jun-2016 13:43:52.255 FINE [https-openssl-apr-8443-exec-5]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,302,560], timeout [-1], flags [1]
21-Jun-2016 13:43:52.256 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,302,560]
21-Jun-2016 13:43:52.259 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,302,560] from poller
21-Jun-2016 13:43:52.275 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Processing socket
[1,852,302,560] for event(s) [1]
21-Jun-2016 13:43:52.291 FINE [https-openssl-apr-8443-exec-6]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,302,560], timeout [-1], flags [1]
21-Jun-2016 13:43:52.314 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,302,560]
21-Jun-2016 13:43:52.320 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,302,560] from poller
21-Jun-2016 13:43:52.325 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Processing socket
[1,852,302,560] for event(s) [1]
21-Jun-2016 13:43:52.333 FINE [https-openssl-apr-8443-exec-10]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,302,560], timeout [-1], flags [1]
21-Jun-2016 13:43:52.338 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,302,560]
21-Jun-2016 13:43:52.342 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,302,560] from poller
21-Jun-2016 13:43:52.427 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Processing socket
[1,852,302,560] for event(s) [1]
21-Jun-2016 

Re: Http2UpgradeHandler error

2016-06-21 Thread Mark Thomas
On 21/06/2016 14:43, Andrei Ivanov wrote:
> On Tue, Jun 21, 2016 at 4:01 PM, Mark Thomas  wrote:
>> On 21/06/2016 13:43, Mark Thomas wrote:
>>
>>> I'll take a look at the code and see if I can figure out how this is
>>> happening. Are you able to build 8.5.x from source to test any changes I
>>> might make?
> If all it needs is a Java tools, I can build.

Tomcat is a lot easier to build that it used to be. You need Ant, svn
client and an internet connection. For details see:
http://tomcat.apache.org/tomcat-8.5-doc/building.html

If you prefer (although there are no explicit instructions) you can
replace svn with git and use the mirror at:
https://github.com/apache/tomcat85

> Btw, tcnative is 1.2.7, the one that came in
> apache-tomcat-8.5.3-windows-x64.zip.

I guessed you were using that version but wanted to be sure.

>> I have a theory which can be proved/disproved with some extra logging.



> Restarted Tomcat and Firefox.
> The following are just from loading the login form and its
> dependencies (css/js).



> 21-Jun-2016 13:38:41.122 FINE [https-openssl-apr-8443-exec-6]
> org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer
> An APR general error was returned by the SSL read operation on
> APR/native socket [1,852,286,144] with wrapper
> [org.apache.tomcat.util.net.
> AprEndpoint$AprSocketWrapper@1dfa0278:1852286144]. It will be treated
> as EAGAIN and the socket returned to the poller.
> 21-Jun-2016 13:38:41.125 SEVERE [https-openssl-apr-8443-exec-6]
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
> reading request, ignored
>  java.lang.IllegalStateException

Bingo!

That proves the theory. Thanks for testing it so quickly. I should be
able to put together a fix for this fairly quickly. I'll update this
thread when I have the fix ready to test. If you're able to build Tomcat
8.5.x locally by then, great. If not, I can always provide a snapshot
build for you to test with.

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-21 Thread Andrei Ivanov
On Tue, Jun 21, 2016 at 4:01 PM, Mark Thomas  wrote:
> On 21/06/2016 13:43, Mark Thomas wrote:
>
>> I'll take a look at the code and see if I can figure out how this is
>> happening. Are you able to build 8.5.x from source to test any changes I
>> might make?
If all it needs is a Java tools, I can build.

Btw, tcnative is 1.2.7, the one that came in
apache-tomcat-8.5.3-windows-x64.zip.

>
> I have a theory which can be proved/disproved with some extra logging.
>
> First, please add the following line to logging.properties and then restart.
> org.apache.tomcat.util.net.AprEndpoint.level = FINE
>
> Re-create the problem and then look for the following in the logs. Where
> you see {n} in the message below, it will be replaced by some value.
>
> An APR general error was returned by the SSL read operation on
> APR/native socket [{0}] with wrapper [{1}]. It will be treated as EAGAIN
> and the socket returned to the poller.
>
>
> Do you see messages like this in the logs?

Restarted Tomcat and Firefox.
The following are just from loading the login form and its
dependencies (css/js).

21-Jun-2016 13:38:38.276 FINE [https-openssl-apr-8443-Acceptor-0]
org.apache.tomcat.util.net.AprEndpoint.processSocketWithOptions socket
[1,852,261,520]
21-Jun-2016 13:38:38.302 FINE [https-openssl-apr-8443-exec-1]
org.apache.tomcat.util.net.AprEndpoint.setSocketOptions Negotiated
[h2] protocol using ALPN
21-Jun-2016 13:38:38.303 FINE [https-openssl-apr-8443-exec-1]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,261,520], timeout [60,000], flags [1]
21-Jun-2016 13:38:38.303 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,261,520]
21-Jun-2016 13:38:38.304 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,261,520] from poller
21-Jun-2016 13:38:39.272 FINE [https-openssl-apr-8443-Acceptor-0]
org.apache.tomcat.util.net.AprEndpoint.processSocketWithOptions socket
[1,852,286,144]
21-Jun-2016 13:38:39.287 FINE [https-openssl-apr-8443-exec-2]
org.apache.tomcat.util.net.AprEndpoint.setSocketOptions Negotiated
[h2] protocol using ALPN
21-Jun-2016 13:38:39.287 FINE [https-openssl-apr-8443-exec-2]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,286,144], timeout [60,000], flags [1]
21-Jun-2016 13:38:39.289 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,286,144]
21-Jun-2016 13:38:39.289 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,286,144] from poller
21-Jun-2016 13:38:40.020 FINE [https-openssl-apr-8443-Acceptor-0]
org.apache.tomcat.util.net.AprEndpoint.processSocketWithOptions socket
[1,852,294,352]
21-Jun-2016 13:38:40.041 FINE [https-openssl-apr-8443-exec-3]
org.apache.tomcat.util.net.AprEndpoint.setSocketOptions Negotiated
[h2] protocol using ALPN
21-Jun-2016 13:38:40.042 FINE [https-openssl-apr-8443-exec-3]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,294,352], timeout [60,000], flags [1]
21-Jun-2016 13:38:40.043 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,294,352]
21-Jun-2016 13:38:40.043 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,294,352] from poller
21-Jun-2016 13:38:40.549 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Processing socket
[1,852,261,520] for event(s) [1]
21-Jun-2016 13:38:40.649 FINE [https-openssl-apr-8443-exec-4]
org.apache.tomcat.util.net.AprEndpoint$Poller.add Add to addList
socket [1,852,261,520], timeout [-1], flags [1]
21-Jun-2016 13:38:40.649 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Add to poller socket
[1,852,261,520]
21-Jun-2016 13:38:40.650 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.removeFromPoller
Attempting to remove [1,852,261,520] from poller
21-Jun-2016 13:38:41.119 FINE [https-openssl-apr-8443-Poller]
org.apache.tomcat.util.net.AprEndpoint$Poller.run Processing socket
[1,852,286,144] for event(s) [1]
21-Jun-2016 13:38:41.122 FINE [https-openssl-apr-8443-exec-6]
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer
An APR general error was returned by the SSL read operation on
APR/native socket [1,852,286,144] with wrapper
[org.apache.tomcat.util.net.
AprEndpoint$AprSocketWrapper@1dfa0278:1852286144]. It will be treated
as EAGAIN and the socket returned to the poller.
21-Jun-2016 13:38:41.125 SEVERE [https-openssl-apr-8443-exec-6]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
reading request, ignored
 java.lang.IllegalStateException
at 

Re: Http2UpgradeHandler error

2016-06-21 Thread Mark Thomas
On 21/06/2016 13:43, Mark Thomas wrote:

> I'll take a look at the code and see if I can figure out how this is
> happening. Are you able to build 8.5.x from source to test any changes I
> might make?

I have a theory which can be proved/disproved with some extra logging.

First, please add the following line to logging.properties and then restart.
org.apache.tomcat.util.net.AprEndpoint.level = FINE

Re-create the problem and then look for the following in the logs. Where
you see {n} in the message below, it will be replaced by some value.

An APR general error was returned by the SSL read operation on
APR/native socket [{0}] with wrapper [{1}]. It will be treated as EAGAIN
and the socket returned to the poller.


Do you see messages like this in the logs?

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-21 Thread Mark Thomas
On 21/06/2016 12:31, Andrei Ivanov wrote:
> Hello,
> Trying to upgrade from 8.0.35 to 8.5.3 (on Win 7 and JDK
> 1.8.0_92-b14), I ran into this error, using Firefox 47:
> 
> 21-Jun-2016 11:13:01.689 SEVERE [https-openssl-apr-8443-exec-5]
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
> reading request, ignored
>  java.lang.IllegalStateException
> at 
> org.apache.coyote.http2.Http2UpgradeHandler.fill(Http2UpgradeHandler.java:1087)
> at 
> org.apache.coyote.http2.Http2UpgradeHandler.fill(Http2UpgradeHandler.java:1063)
> at 
> org.apache.coyote.http2.Http2Parser.readConnectionPreface(Http2Parser.java:519)
> at 
> org.apache.coyote.http2.Http2UpgradeHandler.init(Http2UpgradeHandler.java:225)
> at 
> org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:273)
> at 
> org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
> at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53)
> at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
> at 
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2226)
> at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)

That indicates a blocking read read 0 bytes which should never happen -
which is why you see the ISE.

Which version of tc-native are you using?



> Did I configure something wrong?

I don't see anything.

> It's working fine with Tomcat 8.0, but I guess that's just using HTTP 1.1

Correct.

I'll take a look at the code and see if I can figure out how this is
happening. Are you able to build 8.5.x from source to test any changes I
might make?

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2UpgradeHandler error

2016-06-21 Thread Rémy Maucherat
2016-06-21 13:31 GMT+02:00 Andrei Ivanov :

> Hello,
> Trying to upgrade from 8.0.35 to 8.5.3 (on Win 7 and JDK
> 1.8.0_92-b14), I ran into this error, using Firefox 47:
>
> Try not using the APR connector, for starters, your platform isn't the
best for it IMO.

Rémy


Http2UpgradeHandler error

2016-06-21 Thread Andrei Ivanov
Hello,
Trying to upgrade from 8.0.35 to 8.5.3 (on Win 7 and JDK
1.8.0_92-b14), I ran into this error, using Firefox 47:

21-Jun-2016 11:13:01.689 SEVERE [https-openssl-apr-8443-exec-5]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
reading request, ignored
 java.lang.IllegalStateException
at 
org.apache.coyote.http2.Http2UpgradeHandler.fill(Http2UpgradeHandler.java:1087)
at 
org.apache.coyote.http2.Http2UpgradeHandler.fill(Http2UpgradeHandler.java:1063)
at 
org.apache.coyote.http2.Http2Parser.readConnectionPreface(Http2Parser.java:519)
at 
org.apache.coyote.http2.Http2UpgradeHandler.init(Http2UpgradeHandler.java:225)
at 
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:273)
at 
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53)
at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
at 
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2226)
at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)


This happened after the login formed was displayed and submitted, on
the 2nd screen of the app, on successful login.

The page was displayed as if the stylesheets were not loaded, just the
plain html rendered.

Clicking around I've just triggered this error:

21-Jun-2016 11:22:34.118 SEVERE [https-openssl-apr-8443-exec-5]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
reading request, ignored
 java.lang.ArrayIndexOutOfBoundsException: -3
at 
org.apache.coyote.http2.HpackDecoder.handleIndex(HpackDecoder.java:248)
at org.apache.coyote.http2.HpackDecoder.decode(HpackDecoder.java:99)
at 
org.apache.coyote.http2.Http2Parser.readHeaderBlock(Http2Parser.java:404)
at 
org.apache.coyote.http2.Http2Parser.readHeadersFrame(Http2Parser.java:246)
at org.apache.coyote.http2.Http2Parser.readFrame(Http2Parser.java:96)
at org.apache.coyote.http2.Http2Parser.readFrame(Http2Parser.java:68)
at 
org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:291)
at 
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53)
at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
at 
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2226)
at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

This one seems to be when loading
https://test:8443/enss/javax.faces.resource/angel/css/angel.css.jsf
Firebug shows a lot of aborted requests to other resources like these,
ending in css.jsf or js.jsf (loaded through the JSF filter from
Mojarra 2.2.13, with Primefaces 6.0).


Config details with modifications from the default follow:

conf/server.xml













conf/context.xml





Did I configure something wrong?

It's working fine with Tomcat 8.0, but I guess that's just using HTTP 1.1

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org