Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-3241

fatal error: runtime: cannot map pages in arena address space

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.9.2
    • Fix Version/s: 0.9.3
    • Component/s: Go - Library
    • Labels:
      None

      Description

      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 in Go.

      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
      

        Attachments

          Activity

            People

            • Assignee:
              jensg Jens Geyer
              Reporter:
              jensg Jens Geyer
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: