Error during inactivity of SSL connections
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Ambito
- networking
Direzione di ricerca
Inizia da org.http4s.blaze.pipeline.stages.SSLStage, in particolare dalla logica dell’handshake in SSLStage.scala:206 e 229, e riproduci il fallimento con il http4s quickstart, un server Blaze con SSL abilitato e un periodo di inattività di 5–7 minuti. Il lavoro è completato quando la connessione SSL inattiva non registra più il fallimento di handshake riportato; non viene menzionato alcun file di test specifico, quindi verifica il risultato con l’esempio eseguibile fornito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I have encountered error when after making a call to some SSL endpoint using Blaze Client, and then having some inactivity period (5-7minutes) client starts to log error javax.net.ssl.SSLException: SSL Handshake WRAP produced 0 bytes: Status = OK HandshakeStatus = NEED_WRAP bytesConsumed = 0 bytesProduced = 0.
To reproduce this, take http4s quickstart example ($ sbt -sbt-version 1.2.8 new http4s/http4s.g8 -b 0.20) and add SSL certifiacte to blaze server. Call https://localhost:8080/joke. Observe logs:
javax.net.ssl.SSLException: SSL Handshake WRAP produced 0 bytes: Status = OK HandshakeStatus = NEED_WRAP
bytesConsumed = 0 bytesProduced = 0
at org.http4s.blaze.pipeline.stages.SSLStage.sslHandshakeLoop$1(SSLStage.scala:206)
at org.http4s.blaze.pipeline.stages.SSLStage.sslHandshake(SSLStage.scala:229)
at org.http4s.blaze.pipeline.stages.SSLStage.$anonfun$sslHandshake$2(SSLStage.scala:209)
at org.http4s.blaze.pipeline.stages.SSLStage.$anonfun$sslHandshake$2$adapted(SSLStage.scala:208)
at scala.concurrent.impl.CallbackRunnable.run$$$capture(Promise.scala:64)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala)
at org.http4s.blaze.util.SerialExecutionContext$$anon$1.act(SerialExecutionContext.scala:19)
at org.http4s.blaze.util.SerialExecutionContext$$anon$1.act(SerialExecutionContext.scala:18)
at org.http4s.blaze.util.Actor$RecycleableRunnable.go$1(Actor.scala:57)
at org.http4s.blaze.util.Actor$RecycleableRunnable.run(Actor.scala:72)
at org.http4s.blaze.util.Execution$$anon$3.execute(Execution.scala:67)
at org.http4s.blaze.util.Actor.$bang(Actor.scala:45)
at org.http4s.blaze.util.SerialExecutionContext.execute(SerialExecutionContext.scala:25)
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:72)
at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1(Promise.scala:288)
at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1$adapted(Promise.scala:288)
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:288)
at scala.concurrent.Promise.complete(Promise.scala:53)
at scala.concurrent.Promise.complete$(Promise.scala:52)
at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:187)
at scala.concurrent.Promise.success(Promise.scala:86)
at scala.concurrent.Promise.success$(Promise.scala:86)
at scala.concurrent.impl.Promise$DefaultPromise.success(Promise.scala:187)
at org.http4s.blaze.channel.nio2.ByteBufferHead$$anon$1.completed(ByteBufferHead.scala:53)
at org.http4s.blaze.channel.nio2.ByteBufferHead$$anon$1.completed(ByteBufferHead.scala:43)
at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127)
at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:219)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)```
You can also check https://github.com/retriku/quickstart-http4s-ssl for runnable code:
- sbt run
- https://localhost:8080/joke
Possibly duplicate of https://github.com/http4s/http4s/issues/2192
Setup
JVM: openjdk version "11.0.2" 2019-01-15
Scala: 2.12.8
Http4s: 0.20.6
Blaze: 0.14.6
- Lingua principale
- Scala
- Stelle
- 371
- Fork
- 63
- Merge medio
- 2g 5h
- PR unite (30g)
- 6
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di http4s/blaze
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
-
support
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Tutte le issue di http4s/blaze
Issue simili
-
Bound wrong-magic P2P diagnostics to parsed header bytesForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ergoplatform/ergo#2736 ·
I maintainer di solito rispondono entro 1 giorno
-
area:shuffle enhancement good first issue performance requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/datafusion-comet#7072 ·
I maintainer di solito rispondono entro 1 giorno
-
bug 🐞 CI/CD ⚒️
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
valkey-io/valkey-glide#7370 ·
I maintainer di solito rispondono entro 1 giorno
-
Improve UI text on confirmation page (at registration)Forse già presa @Arghyann l’ha presa oggi. Apertagood first issue improvement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
lichess-org/lila#22126 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[VL] Remove the unused ShuffleSchema.hForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 2 giorni