[ 
https://issues.apache.org/jira/browse/GEODE-8020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17096841#comment-17096841
 ] 

ASF subversion and git services commented on GEODE-8020:
--------------------------------------------------------

Commit 932697437914d11ada161ee9ffcbe1c362f353b4 in geode's branch 
refs/heads/feature/GEODE-8020b from Bruce Schuchardt
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=9326974 ]

fixing TODO in MsgStreamerList after seeing a thread create a 
VersionedMsgStreamer

the test doesn't have multiple versions, so I think this TODO is relevant
to the SSL decryption exceptions we're seeing (GEODE-8020).

[warn 2020/04/28 14:22:11.075 PDT <vm_0_thr_4_bridge1_host1_12580> tid=0x86] 
BRUCE:
java.lang.Exception: stack trace
  at 
org.apache.geode.internal.net.BufferPool.acquireDirectBuffer(BufferPool.java:115)
  at 
org.apache.geode.internal.net.BufferPool.acquireDirectSenderBuffer(BufferPool.java:64)
  at org.apache.geode.internal.tcp.MsgStreamer.<init>(MsgStreamer.java:132)
  at 
org.apache.geode.internal.tcp.VersionedMsgStreamer.<init>(VersionedMsgStreamer.java:37)
  at org.apache.geode.internal.tcp.MsgStreamer.create(MsgStreamer.java:199)


> buffer corruption in SSL communications
> ---------------------------------------
>
>                 Key: GEODE-8020
>                 URL: https://issues.apache.org/jira/browse/GEODE-8020
>             Project: Geode
>          Issue Type: Bug
>          Components: membership, messaging
>            Reporter: Bruce J Schuchardt
>            Assignee: Bruce J Schuchardt
>            Priority: Major
>             Fix For: 1.12.1, 1.13.0
>
>
> When running an application with SSL enabled I ran into a hang with a lost 
> message.  The sender had a 15 second ack-wait warning pointing to another 
> server in the cluster.  That server had this in its log file at the time the 
> message would have been processed:
> {noformat}
> [info 2020/04/21 11:22:39.437 PDT <P2P message reader for 
> rs-bschuchardt-1053-hydra-client-1(bridgegemfire4_host1_12599:12599)<ec><v1>:41003
>  unshared ordered uid=354 dom #2 port=55262> tid=0xad] P2P message 
> reader@2580db5f io exception for 
> rs-bschuchardt-1053-hydra-client-1(bridgegemfire4_host1_12599:12599)<ec><v1>:41003@354(GEODE
>  1.10.0)
> javax.net.ssl.SSLException: bad record MAC
>       at sun.security.ssl.Alerts.getSSLException(Alerts.java:214)
>       at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1728)
>       at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:986)
>       at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:912)
>       at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:782)
>       at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:626)
>       at 
> org.apache.geode.internal.net.NioSslEngine.unwrap(NioSslEngine.java:275)
>       at 
> org.apache.geode.internal.tcp.Connection.processInputBuffer(Connection.java:2894)
>       at 
> org.apache.geode.internal.tcp.Connection.readMessages(Connection.java:1745)
>       at org.apache.geode.internal.tcp.Connection.run(Connection.java:1577)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.crypto.BadPaddingException: bad record MAC
>       at sun.security.ssl.InputRecord.decrypt(InputRecord.java:219)
>       at 
> sun.security.ssl.EngineInputRecord.decrypt(EngineInputRecord.java:177)
>       at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:979)
>       ... 10 more
> {noformat}
> I bisected to see when this problem was introduced and found it was this 
> commit:
> {noformat}
> commit 418d929e3e03185cd6330c828c9b9ed395a76d4b
> Author: Mario Ivanac <48509724+miva...@users.noreply.github.com>
> Date:   Fri Nov 1 20:28:57 2019 +0100
>     GEODE-6661: Fixed use of Direct and Non-Direct buffers (#4267)
>     - Fixed use of Direct and Non-Direct buffers
> {noformat}
> That commit modified the NioSSLEngine to use a "direct" byte buffer instead 
> of a heap byte buffer.  If I revert that one part of the PR the test works 
> okay.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to