[
https://issues.apache.org/jira/browse/THRIFT-3241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14641800#comment-14641800
]
ASF GitHub Bot commented on THRIFT-3241:
----------------------------------------
GitHub user Jens-G opened a pull request:
https://github.com/apache/thrift/pull/564
THRIFT-3241 fatal error: runtime: cannot map pages in arena address s…
…pace
Client: Go
Patch: Jens Geyer
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Jens-G/thrift THRIFT-3241
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/thrift/pull/564.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #564
----
commit f51eab2dc67a9cd61303f4a0ed9dc54fe59fb2ad
Author: Jens Geyer <[email protected]>
Date: 2015-07-25T23:25:23Z
THRIFT-3241 fatal error: runtime: cannot map pages in arena address space
Client: Go
Patch: Jens Geyer
----
> fatal error: runtime: cannot map pages in arena address space
> -------------------------------------------------------------
>
> Key: THRIFT-3241
> URL: https://issues.apache.org/jira/browse/THRIFT-3241
> Project: Thrift
> Issue Type: Bug
> Components: Go - Library
> Affects Versions: 0.9.2
> Reporter: Jens Geyer
> Priority: Blocker
>
> Passing huge strings to a Go server may produce a fatal exit with an OOM
> error. Main problem is that [OOM errors are not recoverable by
> design|(https://groups.google.com/forum/#!msg/golang-nuts/jMpUBTkif3s/Luhrm0ZnHQcJ]
> in Go.
> {code}
> fatal error: runtime: cannot map pages in arena address space
> runtime stack:
> runtime.SysMap(0x3e7e0000, 0xb0d0000, 0xcfe01, 0x8172d8)
> c:/go/src/runtime/mem_windows.c:131 +0x7f
> runtime.MHeap_SysAlloc(0x81a0c0, 0xb0d0000, 0xfffffffe)
> c:/go/src/runtime/malloc.c:284 +0xf1
> runtime.MHeap_Alloc(0x81a0c0, 0x5861, 0x0, 0x12360001, 0x12368640)
> c:/go/src/runtime/mheap.c:240 +0x66
> goroutine 390 [running]:
> runtime.switchtoM()
> c:/go/src/runtime/asm_386.s:208 fp=0x1241fb70 sp=0x1241fb6c
> runtime.mallocgc(0xb0c000b, 0x0, 0x3, 0x12356960)
> c:/go/src/runtime/malloc.go:199 +0x7d3 fp=0x1241fbc8 sp=0x1241fb70
> runtime.rawstring(0xb0c000b, 0x0, 0x0, 0x0, 0x0, 0x0)
> c:/go/src/runtime/string.go:195 +0x88 fp=0x1241fbe0 sp=0x1241fbc8
> runtime.slicebytetostring(0x1dbcc000, 0xb0c000b, 0xb0c000b, 0x0, 0x0)
> c:/go/src/runtime/string.go:69 +0x38 fp=0x1241fc28 sp=0x1241fbe0
> thrift.(*TBinaryProtocol).readStringBody(0x12418c40, 0xb0c000b, 0x0, 0x0,
> 0x0, 0x0)
> C:/Test/src/thrift/binary_protocol.go:483 +0x150 fp=0x1241fc70
> sp=0x1241fc28
> thrift.(*TBinaryProtocol).ReadString(0x12418c40, 0x0, 0x0, 0x0, 0x0)
> C:/Test/src/thrift/binary_protocol.go:437 +0xc6 fp=0x1241fc94
> sp=0x1241fc70
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)