You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Nhan Thuan Nguyen (JIRA)" <ji...@apache.org> on 2016/08/03 19:07:20 UTC
[jira] [Created] (HTTPCORE-430) Unsafe decrement
LengthDelimitedEncoder's remaining value.
Nhan Thuan Nguyen created HTTPCORE-430:
------------------------------------------
Summary: Unsafe decrement LengthDelimitedEncoder's remaining value.
Key: HTTPCORE-430
URL: https://issues.apache.org/jira/browse/HTTPCORE-430
Project: HttpComponents HttpCore
Issue Type: Bug
Components: HttpCore NIO
Affects Versions: 4.4.5
Environment: Linux 2.6.32-642.1.1.el6.x86_64
Reporter: Nhan Thuan Nguyen
Durring a large HTTP POST if the SSLIOSession.writePlain "this.status" become not equal to ACTIVE (0) then it will return "-1" to LengthDelimitedEncoder. The "write" loop test for "this.remaining > 0" will always be true, and the loop will never exit.
Version:
httpcore-nio-4.4.1.jar
Stack trace:
"I/O dispatcher 587" #3550 prio=5 os_prio=0 tid=0x00007f365e664000 nid=0xec0 runnable [0x00007f364aad4000]
java.lang.Thread.State: RUNNABLE
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:256)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.log(Logger.java:765)
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:131)
at org.apache.http.impl.nio.conn.LoggingIOSession$LoggingByteChannel.write(LoggingIOSession.java:222)
at org.apache.http.impl.nio.codecs.AbstractContentEncoder.doWriteChunk(AbstractContentEncoder.java:173)
at org.apache.http.impl.nio.codecs.AbstractContentEncoder.doWriteChunk(AbstractContentEncoder.java:166)
at org.apache.http.impl.nio.codecs.AbstractContentEncoder.writeToChannel(AbstractContentEncoder.java:140)
at org.apache.http.impl.nio.codecs.LengthDelimitedEncoder.write(LengthDelimitedEncoder.java:132)
at org.apache.http.nio.entity.NByteArrayEntity.produceContent(NByteArrayEntity.java:137)
at org.apache.http.nio.protocol.BasicAsyncRequestProducer.produceContent(BasicAsyncRequestProducer.java:125)
at org.apache.http.impl.nio.client.MainClientExec.produceContent(MainClientExec.java:262)
at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.produceContent(DefaultClientExchangeHandlerImpl.java:136)
at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.outputReady(HttpAsyncRequestExecutor.java:229)
at org.apache.http.impl.nio.client.InternalRequestExecutor.outputReady(InternalRequestExecutor.java:96)
at org.apache.http.impl.nio.DefaultNHttpClientConnection.produceOutput(DefaultNHttpClientConnection.java:292)
at org.apache.http.impl.nio.client.InternalIODispatch.onOutputReady(InternalIODispatch.java:86)
at org.apache.http.impl.nio.client.InternalIODispatch.onOutputReady(InternalIODispatch.java:39)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.outputReady(AbstractIODispatch.java:154)
at org.apache.http.impl.nio.reactor.BaseIOReactor.writable(BaseIOReactor.java:190)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:343)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590)
at java.lang.Thread.run(Thread.java:745)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org