You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Mario Emmenlauer (Jira)" <ji...@apache.org> on 2020/02/23 10:55:00 UTC
[jira] [Updated] (THRIFT-5108) Memory allocation error in
TBufferTransports
[ https://issues.apache.org/jira/browse/THRIFT-5108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mario Emmenlauer updated THRIFT-5108:
-------------------------------------
Description:
When using the memory buffered transport I randomly get {{TTransportException}} in {{TBufferTransports.cpp}} method
{{void TMemoryBuffer::ensureCanWrite(uint32_t len) {}}
{{ ...}}
{{ // Grow the buffer as necessary.}}
{{ uint64_t new_size = bufferSize_;}}
{{ while (len > avail) {}}
{{ new_size = new_size > 0 ? new_size * 2 : 1;}}
{{ if (new_size > maxBufferSize_) {}}
{{ throwTTransportException(TTransportException::BAD_ARGS,}}
{{ "Internal buffer size overflow when requesting a buffer of size " + std::to_string(new_size));}}
{{ }}}
{{ avail = available_write() + (static_cast<uint32_t>(new_size) - bufferSize_);}}
}
was:
When using the memory buffered transport I randomly get {{TTransportException}} in {{TBufferTransports.cpp}} method
{{void TMemoryBuffer::ensureCanWrite(uint32_t len) {}}
{{ ...}}
{{ // Grow the buffer as necessary.}}{{ uint64_t new_size = bufferSize_;}}{{ while (len > avail) {}}{{ new_size = new_size > 0 ? new_size * 2 : 1;}}{{ if (new_size > maxBufferSize_) {}}{{ throwTTransportException(TTransportException::BAD_ARGS,}}{{ "Internal buffer size overflow when requesting a buffer of size " + std::to_string(new_size));}}{{ }}}{{ avail = available_write() + (static_cast<uint32_t>(new_size) - bufferSize_);}}{{ }}}
> Memory allocation error in TBufferTransports
> --------------------------------------------
>
> Key: THRIFT-5108
> URL: https://issues.apache.org/jira/browse/THRIFT-5108
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Affects Versions: 0.13.0
> Reporter: Mario Emmenlauer
> Priority: Major
>
> When using the memory buffered transport I randomly get {{TTransportException}} in {{TBufferTransports.cpp}} method
>
> {{void TMemoryBuffer::ensureCanWrite(uint32_t len) {}}
> {{ ...}}
> {{ // Grow the buffer as necessary.}}
> {{ uint64_t new_size = bufferSize_;}}
> {{ while (len > avail) {}}
> {{ new_size = new_size > 0 ? new_size * 2 : 1;}}
> {{ if (new_size > maxBufferSize_) {}}
> {{ throwTTransportException(TTransportException::BAD_ARGS,}}
> {{ "Internal buffer size overflow when requesting a buffer of size " + std::to_string(new_size));}}
> {{ }}}
> {{ avail = available_write() + (static_cast<uint32_t>(new_size) - bufferSize_);}}
> }
--
This message was sent by Atlassian Jira
(v8.3.4#803005)