golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
123.86k stars 17.65k forks source link

runtime: fatal error: invalid runtime symbol table. runtime: panic before malloc heap initialized #43969

Open abhi-m-simformsolutons opened 3 years ago

abhi-m-simformsolutons commented 3 years ago

What version of Go are you using (go version)?

$ go version
go version go1.15.7 darwin/amd64

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/abhi.makadiya/Library/Caches/go-build"
GOENV="/Users/abhi.makadiya/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/abhi.makadiya/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/abhi.makadiya/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.15.7/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.15.7/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/w5/k40g9y5d36ng0ps9qmh6j04w0000gp/T/go-build319164218=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

In XCode, I am working with network related things. For that, I integrate DNSCrypt and WireGuard.This both are in GO Language. Individual integration of these SDK will works fine in XCode project. But, When I integrate these two SDK in the same project(Target) at a same time it throws an error. I also refered this issue: #18190

What did you expect to see?

Build and Run Xcode Project Successfully.

What did you see instead?

function symbol table not sorted by program counter
 0x100e954e0 _cgo_topofstack > 0x100d834d0 runtime.setg
    0x100d23c70 go.buildid
    0x100d23ce0 internal/cpu.Initialize
    0x100d23d30 internal/cpu.processOptions
    0x100d24370 internal/cpu.indexByte
    0x100d243c0 internal/cpu.doinit
    0x100d24a50 type..eq.internal/cpu.CacheLinePad
    0x100d24a60 type..eq.internal/cpu.option
    0x100d24b10 type..eq.[24]internal/cpu.option
    0x100d24ba0 runtime/internal/atomic.Casuintptr
    0x100d24bb0 runtime/internal/atomic.Storeuintptr
    0x100d24bc0 runtime/internal/atomic.Store
    0x100d24bd0 runtime/internal/atomic.Store64
    0x100d24be0 runtime/internal/atomic.Cas64
    0x100d24c10 internal/bytealg.HashStr
    0x100d24c80 internal/bytealg.IndexRabinKarp
    0x100d24e80 internal/bytealg.init.0
    0x100d24ea0 cmpbody
    0x100d24fe0 internal/bytealg.Compare
    0x100d25000 runtime.cmpstring
    0x100d25020 countbytebody
    0x100d250d0 internal/bytealg.CountString
    0x100d250f0 memeqbody
    0x100d25220 runtime.memequal
    0x100d25250 runtime.memequal_varlen
    0x100d252b0 indexbody
    0x100d254c0 internal/bytealg.IndexString
    0x100d254e0 indexbytebody
    0x100d255d0 internal/bytealg.IndexByte
    0x100d255f0 internal/bytealg.IndexByteString
    0x100d25610 runtime.memhash8
    0x100d25670 runtime.memhash16
    0x100d256d0 runtime.memhash128
    0x100d25730 runtime.memhash_varlen
    0x100d25770 runtime.strhashFallback
    0x100d257d0 runtime.f32hash
    0x100d258f0 runtime.f64hash
    0x100d25a10 runtime.c64hash
    0x100d25a80 runtime.c128hash
    0x100d25af0 runtime.interhash
    0x100d25c60 runtime.nilinterhash
    0x100d25dd0 runtime.typehash
    0x100d262d0 runtime.memequal0
    0x100d262e0 runtime.memequal8
    0x100d26310 runtime.memequal16
    0x100d26340 runtime.memequal32
    0x100d26360 runtime.memequal64
    0x100d26380 runtime.memequal128
    0x100d263c0 runtime.f32equal
    0x100d263e0 runtime.f64equal
    0x100d26400 runtime.c64equal
    0x100d26440 runtime.c128equal
    0x100d26480 runtime.strequal
    0x100d26500 runtime.interequal
    0x100d26580 runtime.nilinterequal
    0x100d26600 runtime.efaceeq
    0x100d26710 runtime.ifaceeq
    0x100d26820 runtime.alginit
    0x100d26910 runtime.atomicwb
    0x100d26980 runtime.atomicstorep
    0x100d269d0 runtime.cgoUse
    0x100d26a20 runtime.cgocall
    0x100d26b00 runtime.cgocallbackg
    0x100d26c30 runtime.cgocallbackg1
    0x100d26e90 runtime.unwindm
    0x100d26f50 runtime.cgoCheckPointer
    0x100d27100 runtime.cgoCheckArg
    0x100d27710 runtime.cgoCheckUnknownPointer
    0x100d279e0 runtime.cgoIsGoPointer
    0x100d27ad0 runtime.cgoCheckResult
    0x100d27b60 runtime._cgo_panic_internal
    0x100d27be0 runtime.cgoCheckWriteBarrier
    0x100d27cd0 runtime.cgoCheckMemmove
    0x100d27d70 runtime.cgoCheckSliceCopy
    0x100d27e40 runtime.cgoCheckTypedBlock
    0x100d28190 runtime.cgoCheckBits
    0x100d28280 runtime.cgoCheckUsingType
    0x100d284c0 runtime.makechan
    0x100d28700 runtime.chansend1
    0x100d28740 runtime.chansend
    0x100d28d10 runtime.send
    0x100d28e20 runtime.sendDirect
    0x100d28ea0 runtime.recvDirect
    0x100d28f20 runtime.closechan
    0x100d291b0 runtime.chanrecv1
    0x100d291f0 runtime.chanrecv2
    0x100d29230 runtime.chanrecv
    0x100d29880 runtime.recv
    0x100d29a20 runtime.chanparkcommit
    0x100d29a90 runtime.selectnbsend
    0x100d29af0 runtime.selectnbrecv
    0x100d29b50 runtime.(*waitq).dequeue
    0x100d29c70 runtime.(*cpuProfile).add
    0x100d29da0 runtime.(*cpuProfile).addNonGo
    0x100d29ed0 runtime.(*cpuProfile).addExtra
    0x100d2a140 runtime.GOMAXPROCS
    0x100d2a210 runtime.gogetenv
    0x100d2a350 runtime.(*TypeAssertionError).Error
    0x100d2a6e0 runtime.itoa
    0x100d2a7a0 runtime.errorString.Error
    0x100d2a810 runtime.plainError.Error
    0x100d2a830 runtime.appendIntStr
    0x100d2a9c0 runtime.boundsError.Error
    0x100d2ac20 runtime.printany
    0x100d2b1d0 runtime.printanycustomtype
    0x100d2b9e0 runtime.panicwrap
    0x100d2bd50 runtime.Caller
    0x100d2bec0 runtime.float64frombits
    0x100d2bed0 runtime.memhashFallback
    0x100d2c1a0 runtime.memhash32Fallback
    0x100d2c220 runtime.memhash64Fallback
    0x100d2c2a0 runtime.getitab
    0x100d2c5f0 runtime.(*itabTableType).find
    0x100d2c670 runtime.itabAdd
    0x100d2c7b0 runtime.(*itabTableType).add
    0x100d2c830 runtime.(*itab).init
    0x100d2cc00 runtime.itabsinit

    0x100d2ccf0 runtime.panicdottypeE
    0x100d2cda0 runtime.panicdottypeI
    0x100d2ce70 runtime.convT2E
    0x100d2cef0 runtime.convT16
    0x100d2cf80 runtime.convT32
    0x100d2d010 runtime.convT64
    0x100d2d090 runtime.convTstring
    0x100d2d140 runtime.convTslice
    0x100d2d1f0 runtime.convT2Enoptr
    0x100d2d270 runtime.convT2I
    0x100d2d300 runtime.convI2I
    0x100d2d3a0 runtime.assertI2I
    0x100d2d480 runtime.assertI2I2
    0x100d2d530 runtime.assertE2I
    0x100d2d5f0 runtime.assertE2I2
    0x100d2d690 runtime.iterate_itabs
    0x100d2d720 runtime.(*lfstack).push
    0x100d2d870 runtime.(*lfstack).pop
    0x100d2d8c0 runtime.lfnodeValidate
    0x100d2d970 runtime.lock
    0x100d2d9c0 runtime.lock2
    0x100d2db80 runtime.unlock
    0x100d2dbc0 runtime.unlock2
    0x100d2dcc0 runtime.notewakeup
    0x100d2dd50 runtime.notesleep
    0x100d2deb0 runtime.notetsleep_internal
    0x100d2e150 runtime.notetsleep
    0x100d2e1e0 runtime.notetsleepg
    0x100d2e280 runtime.lockRank.String
    0x100d2e340 runtime.lockWithRank
    0x100d2e370 runtime.unlockWithRank
    0x100d2e3a0 runtime.mallocinit
    0x100d2e730 runtime.(*mheap).sysAlloc
    0x100d2edb0 runtime.sysReserveAligned
    0x100d2eef0 runtime.(*mcache).nextFree
    0x100d2f110 runtime.mallocgc
    0x100d2fa10 runtime.largeAlloc
    0x100d2fbe0 runtime.newobject
    0x100d2fc40 runtime.newarray
    0x100d2fd40 runtime.profilealloc
    0x100d2fdf0 runtime.fastexprand
    0x100d2ff40 runtime.persistentalloc
    0x100d2ffd0 runtime.persistentalloc1
    0x100d302d0 runtime.inPersistentAlloc
    0x100d30320 runtime.(*linearAlloc).alloc
    0x100d30430 runtime.(*hmap).incrnoverflow
    0x100d304c0 runtime.(*hmap).newoverflow
    0x100d30790 runtime.makemap_small
    0x100d30810 runtime.makemap
    0x100d309f0 runtime.makeBucketArray
    0x100d30c10 runtime.mapaccess1
    0x100d30e50 runtime.mapaccess2
    0x100d310a0 runtime.mapaccessK
    0x100d31290 runtime.mapassign
    0x100d317b0 runtime.mapdelete
    0x100d31bb0 runtime.mapiterinit
    0x100d31e50 runtime.mapiternext
    0x100d32360 runtime.hashGrow
    0x100d325b0 runtime.growWork
    0x100d32660 runtime.evacuate
    0x100d32b60 runtime.advanceEvacuationMark
    0x100d32c50 runtime.mapaccess1_fast32
    0x100d32e00 runtime.mapaccess2_fast32
    0x100d32fc0 runtime.mapassign_fast32
    0x100d33300 runtime.mapdelete_fast32
    0x100d33600 runtime.growWork_fast32
    0x100d336b0 runtime.evacuate_fast32
    0x100d33a30 runtime.mapaccess1_fast64
    0x100d33be0 runtime.mapaccess2_fast64
    0x100d33da0 runtime.mapassign_fast64
    0x100d340e0 runtime.mapassign_fast64ptr
    0x100d34450 runtime.growWork_fast64
    0x100d34500 runtime.evacuate_fast64
    0x100d348e0 runtime.mapaccess1_faststr
    0x100d34d00 runtime.mapaccess2_faststr

    0x100d35150 runtime.mapassign_faststr
    0x100d35540 runtime.mapdelete_faststr
    0x100d358c0 runtime.growWork_faststr
    0x100d35970 runtime.evacuate_faststr
    0x100d35d20 runtime.typedmemmove
    0x100d35df0 runtime.reflectcallmove
    0x100d35e90 runtime.typedslicecopy
    0x100d35f90 runtime.typedmemclr
    0x100d36000 runtime.memclrHasPointers
    0x100d36050 runtime.(*mspan).refillAllocCache
    0x100d36070 runtime.(*mspan).nextFreeIndex
    0x100d361e0 runtime.badPointer
    0x100d363f0 runtime.findObject
    0x100d365a0 runtime.heapBits.nextArena
    0x100d36640 runtime.heapBits.forward
    0x100d36720 runtime.heapBits.forwardOrBoundary
    0x100d367d0 runtime.bulkBarrierPreWrite
    0x100d36c20 runtime.bulkBarrierPreWriteSrcOnly
    0x100d36df0 runtime.bulkBarrierBitmap
    0x100d36f50 runtime.typeBitsBulkBarrier
    0x100d371c0 runtime.heapBits.initSpan
    0x100d37330 runtime.heapBits.initCheckmarkSpan
    0x100d37470 runtime.heapBits.clearCheckmarkSpan
    0x100d37520 runtime.(*mspan).countAlloc
    0x100d37570 runtime.heapBitsSetType
    0x100d37e00 runtime.heapBitsSetTypeGCProg
    0x100d38110 runtime.progToPointerMask
    0x100d38220 runtime.runGCProg
    0x100d388c0 runtime.materializeGCProg
    0x100d38980 runtime.allocmcache
    0x100d38a30 runtime.freemcache
    0x100d38a90 runtime.(*mcache).refill
    0x100d38c10 runtime.(*mcache).releaseAll
    0x100d38cc0 runtime.(*mcache).prepareForSweep
    0x100d38dd0 runtime.(*mcentral).cacheSpan
    0x100d39270 runtime.(*mcentral).uncacheSpan
    0x100d39410 runtime.(*mcentral).grow
    0x100d39590 runtime.sysAlloc
    0x100d39610 runtime.sysFree
    0x100d39650 runtime.sysMap
    0x100d39720 runtime.queuefinalizer
    0x100d399c0 runtime.wakefing
    0x100d39a70 runtime.createfing
    0x100d39af0 runtime.runfinq
    0x100d39f50 runtime.SetFinalizer
    0x100d3a5d0 runtime.(*fixalloc).alloc
    0x100d3a750 runtime.gcinit
    0x100d3a7f0 runtime.readgogc
    0x100d3a8c0 runtime.gcenable
    0x100d3a980 runtime.(*gcControllerState).startCycle
    0x100d3ac50 runtime.(*gcControllerState).revise
    0x100d3ad40 runtime.(*gcControllerState).endCycle
    0x100d3b100 runtime.(*gcControllerState).enlistWorker
    0x100d3b280 runtime.(*gcControllerState).findRunnableGCWorker
    0x100d3b4e0 runtime.pollFractionalWorkerExit
    0x100d3b5a0 runtime.gcSetTriggerRatio
    0x100d3b970 runtime.gcWaitOnMark
    0x100d3ba60 runtime.gcStart
    0x100d3c280 runtime.gcMarkDone

    0x100d3c580 runtime.gcMarkTermination
    0x100d3d080 runtime.gcBgMarkStartWorkers
    0x100d3d150 runtime.gcBgMarkWorker
    0x100d3d740 runtime.gcMark
    0x100d3dc90 runtime.gcSweep
    0x100d3dee0 runtime.gcResetMarkState
    0x100d3e060 runtime.clearpools
    0x100d3e200 runtime.itoaDiv
    0x100d3e310 runtime.fmtNSAsMS
    0x100d3e490 runtime.gcMarkRootPrepare
    0x100d3e680 runtime.gcMarkRootCheck
    0x100d3e8b0 runtime.markroot
    0x100d3ec30 runtime.markrootBlock
    0x100d3ecd0 runtime.markrootFreeGStacks
    0x100d3ee10 runtime.markrootSpans
    0x100d3f150 runtime.gcAssistAlloc
    0x100d3f440 runtime.gcAssistAlloc1
    0x100d3f800 runtime.gcWakeAllAssists
    0x100d3f890 runtime.gcParkAssist
    0x100d3fa00 runtime.gcFlushBgCredit
    0x100d3fbf0 runtime.scanstack
    0x100d40250 runtime.scanframeworker
    0x100d404c0 runtime.gcDrain
    0x100d409b0 runtime.gcDrainN
    0x100d40c30 runtime.scanblock
    0x100d40d80 runtime.scanobject
    0x100d410c0 runtime.scanConservative
    0x100d412b0 runtime.shade
    0x100d41340 runtime.greyobject
    0x100d418d0 runtime.gcDumpObject
    0x100d41d10 runtime.gcmarknewobject
    0x100d41e90 runtime.gcMarkTinyAllocs
    0x100d41f60 runtime.initCheckmarks
    0x100d420b0 runtime.clearCheckmarks
    0x100d42200 runtime.gcPaceScavenger
    0x100d422f0 runtime.wakeScavenger
    0x100d423c0 runtime.scavengeSleep
    0x100d424c0 runtime.bgscavenge
    0x100d427b0 runtime.(*pageAlloc).scavenge
    0x100d428e0 runtime.printScavTrace
    0x100d42a80 runtime.(*pageAlloc).scavengeStartGen
    0x100d42b80 runtime.(*pageAlloc).scavengeReserve
    0x100d42c50 runtime.(*pageAlloc).scavengeUnreserve
    0x100d42d00 runtime.(*pageAlloc).scavengeOne
    0x100d43050 runtime.(*pageAlloc).scavengeRangeLocked
    0x100d43150 runtime.fillAligned
    0x100d432e0 runtime.(*pallocData).hasScavengeCandidate
    0x100d43430 runtime.(*pallocData).findScavengeCandidate
    0x100d43760 runtime.(*stackScanState).putPtr
    0x100d43870 runtime.(*stackScanState).getPtr
    0x100d439a0 runtime.(*stackScanState).addObject
    0x100d43af0 runtime.binarySearchTree
    0x100d43c10 runtime.(*stackScanState).findObject
    0x100d43c70 runtime.(*sweepClass).update
    0x100d43cc0 runtime.(*mheap).nextSpanForSweep
    0x100d43e30 runtime.finishsweep_m
    0x100d43f40 runtime.bgsweep
    0x100d44110 runtime.sweepone
    0x100d44570 runtime.(*mspan).ensureSwept
    0x100d446a0 runtime.(*mspan).sweep
    0x100d451e0 runtime.(*mspan).reportZombies
    0x100d45550 runtime.deductSweepCredit
    0x100d456d0 runtime.clobberfree
    0x100d45700 runtime.(*gcWork).init
    0x100d45770 runtime.(*gcWork).put
    0x100d45890 runtime.(*gcWork).putBatch
    0x100d45a60 runtime.(*gcWork).tryGet
    0x100d45b40 runtime.(*gcWork).dispose
    0x100d45c80 runtime.(*gcWork).balance
    0x100d45d80 runtime.(*workbuf).checknonempty
    0x100d45de0 runtime.(*workbuf).checkempty
    0x100d45e40 runtime.getempty
    0x100d46050 runtime.putempty
    0x100d460b0 runtime.putfull
    0x100d46110 runtime.trygetfull
    0x100d46180 runtime.handoff
    0x100d46230 runtime.prepareFreeWorkbufs
    0x100d462e0 runtime.freeSomeWbufs
    0x100d463e0 runtime.recordspan
    0x100d46560 runtime.inHeapOrStack
    0x100d46600 runtime.spanOfHeap
    0x100d466a0 runtime.(*mheap).init
    0x100d46ad0 runtime.(*mheap).reclaim
    0x100d46d60 runtime.(*mheap).reclaimChunk
    0x100d47070 runtime.(*mheap).alloc
    0x100d47130 runtime.(*mheap).allocManual
    0x100d471a0 runtime.(*mheap).setSpans
    0x100d47270 runtime.(*mheap).allocNeedsZero
    0x100d473a0 runtime.(*mheap).allocMSpanLocked
    0x100d474a0 runtime.(*mheap).allocSpan
    0x100d47c00 runtime.(*mheap).grow
    0x100d47eb0 runtime.(*mheap).freeSpan
    0x100d47f20 runtime.(*mheap).freeManual
    0x100d47fe0 runtime.(*mheap).freeSpanLocked
    0x100d48370 runtime.(*mSpanList).remove
    0x100d48500 runtime.(*mSpanList).insert
    0x100d48610 runtime.(*mSpanList).takeAll
    0x100d48680 runtime.addspecial
    0x100d488d0 runtime.removespecial
    0x100d48ab0 runtime.addfinalizer
    0x100d48d00 runtime.removefinalizer
    0x100d48dd0 runtime.setprofilebucket
    0x100d48e90 runtime.freespecial
    0x100d49010 runtime.newMarkBits
    0x100d49410 runtime.newAllocBits
    0x100d49460 runtime.nextMarkBitArenaEpoch
    0x100d49530 runtime.newArenaMayUnlock
    0x100d49610 runtime.(*pageAlloc).init
    0x100d49790 runtime.(*pageAlloc).grow
    0x100d49960 runtime.(*pageAlloc).update
    0x100d49e20 runtime.(*pageAlloc).allocRange
    0x100d4a0c0 runtime.(*pageAlloc).findMappedAddr
    0x100d4a190 runtime.(*pageAlloc).find
    0x100d4ab90 runtime.(*pageAlloc).alloc
    0x100d4ae00 runtime.(*pageAlloc).free
    0x100d4b040 runtime.mergeSummaries
    0x100d4b170 runtime.(*pageAlloc).sysInit
    0x100d4b360 runtime.(*pageAlloc).sysGrow
    0x100d4b4c0 runtime.(*pageCache).alloc
    0x100d4b5a0 runtime.(*pageCache).allocN
    0x100d4b680 runtime.(*pageCache).flush
    0x100d4b810 runtime.(*pageAlloc).allocToCache
    0x100d4ba50 runtime.(*pageBits).setRange
    0x100d4bb90 runtime.(*pageBits).setAll
    0x100d4bbc0 runtime.(*pageBits).clearRange
    0x100d4bd00 runtime.(*pageBits).clearAll
    0x100d4bd30 runtime.(*pageBits).popcntRange
    0x100d4bed0 runtime.(*pallocBits).summarize
    0x100d4bfb0 runtime.(*pallocBits).find
    0x100d4c080 runtime.(*pallocBits).find1
    0x100d4c0d0 runtime.(*pallocBits).findSmallN
    0x100d4c200 runtime.(*pallocBits).findLargeN
    0x100d4c2f0 runtime.findBitRange64
    0x100d4c360 runtime.(*pallocData).allocRange
    0x100d4c3e0 runtime.(*pallocData).allocAll
    0x100d4c440 runtime.newBucket
    0x100d4c510 runtime.(*bucket).mp
    0x100d4c580 runtime.(*bucket).bp
    0x100d4c600 runtime.stkbucket
    0x100d4c930 runtime.eqslice
    0x100d4c990 runtime.mProf_NextCycle
    0x100d4ca30 runtime.mProf_Flush
    0x100d4cac0 runtime.mProf_FlushLocked
    0x100d4cbb0 runtime.mProf_Malloc
    0x100d4cd50 runtime.mProf_Free
    0x100d4ce20 runtime.blockevent
    0x100d4cea0 runtime.blocksampled
    0x100d4cf30 runtime.saveblockevent
    0x100d4d0c0 runtime.Stack
    0x100d4d1b0 runtime.tracealloc
    0x100d4d3e0 runtime.tracefree
    0x100d4d510 runtime.tracegc
    0x100d4d5e0 runtime.makeAddrRange
    0x100d4d660 runtime.addrRange.removeGreaterEqual
    0x100d4d6f0 runtime.(*addrRanges).init
    0x100d4d790 runtime.(*addrRanges).findSucc
    0x100d4d7e0 runtime.(*addrRanges).findAddrGreaterEqual
    0x100d4d900 runtime.(*addrRanges).add
    0x100d4dd30 runtime.(*addrRanges).removeLast
    0x100d4ddc0 runtime.(*addrRanges).removeGreaterEqual
    0x100d4dfd0 runtime.(*addrRanges).cloneInto
    0x100d4e0b0 runtime.(*spanSet).push
    0x100d4e2a0 runtime.(*spanSet).pop
    0x100d4e440 runtime.(*spanSet).reset
    0x100d4e5d0 runtime.(*spanSetBlockAlloc).alloc
    0x100d4e660 runtime.(*headTailIndex).incTail
    0x100d4e760 runtime.init.2
    0x100d4e800 runtime.cachestats
    0x100d4e890 runtime.flushmcache
    0x100d4e920 runtime.purgecachedstats
    0x100d4e9d0 runtime.mSysStatInc
    0x100d4eab0 runtime.mSysStatDec
    0x100d4eb90 runtime.(*wbBuf).reset
    0x100d4ec30 runtime.wbBufFlush
    0x100d4ed10 runtime.wbBufFlush1
    0x100d4efe0 runtime.nonblockingPipe
    0x100d4f0c0 runtime.netpollGenericInit
    0x100d4f160 runtime.(*pollCache).free
    0x100d4f1d0 runtime.netpollready
    0x100d4f2c0 runtime.netpollblockcommit
    0x100d4f370 runtime.netpollblock
    0x100d4f510 runtime.netpollunblock
    0x100d4f590 runtime.netpolldeadlineimpl
    0x100d4f7e0 runtime.netpollDeadline
    0x100d4f870 runtime.netpollReadDeadline
    0x100d4f900 runtime.netpollWriteDeadline
    0x100d4f990 runtime.(*pollCache).alloc
    0x100d4fa70 runtime.netpollinit
    0x100d4fc70 runtime.netpollopen
    0x100d4fd50 runtime.netpollBreak
    0x100d4fe50 runtime.netpoll
    0x100d501e0 runtime.semacreate
    0x100d50280 runtime.semasleep
    0x100d503e0 runtime.semawakeup
    0x100d50450 runtime.sigNoteSetup
    0x100d50560 runtime.sigNoteSleep
    0x100d505d0 runtime.osinit
    0x100d50630 runtime.getncpu
    0x100d506e0 runtime.getPageSize
    0x100d50790 runtime.getRandomData
    0x100d50840 runtime.newosproc
    0x100d50a80 runtime.libpreinit
    0x100d50ab0 runtime.minit
    0x100d50b00 runtime.setsig
    0x100d50bd0 runtime.setsigstack
    0x100d50c50 runtime.sysargs
    0x100d50d80 runtime.panicCheck1
    0x100d50e50 runtime.panicCheck2
    0x100d50ec0 runtime.goPanicIndex
    0x100d50f60 runtime.goPanicIndexU
    0x100d51000 runtime.goPanicSliceAlen
    0x100d510a0 runtime.goPanicSliceAlenU
    0x100d51140 runtime.goPanicSliceAcap
    0x100d511e0 runtime.goPanicSliceAcapU
    0x100d51280 runtime.goPanicSliceB
    0x100d51320 runtime.goPanicSliceBU
    0x100d513c0 runtime.goPanicSlice3Alen
    0x100d51460 runtime.goPanicSlice3AlenU
    0x100d51500 runtime.goPanicSlice3Acap
    0x100d515a0 runtime.goPanicSlice3C
    0x100d51640 runtime.panicshift
    0x100d516b0 runtime.panicdivide
    0x100d51720 runtime.deferproc
    0x100d51880 runtime.deferprocStack
    0x100d51900 runtime.testdefersizes
    0x100d51b50 runtime.init.3
    0x100d51bd0 runtime.newdefer
    0x100d51d50 runtime.freedefer
    0x100d51f30 runtime.freedeferpanic
    0x100d51f80 runtime.freedeferfn
    0x100d51fd0 runtime.deferreturn
    0x100d52180 runtime.preprintpanics
    0x100d52340 runtime.printpanics
    0x100d52450 runtime.addOneOpenDeferFrame
    0x100d524e0 runtime.readvarintUnsafe
    0x100d525a0 runtime.runOpenDeferFrame
    0x100d528f0 runtime.reflectcallSave
    0x100d529e0 runtime.gopanic
    0x100d53150 runtime.getargp
    0x100d53160 runtime.gorecover
    0x100d531b0 runtime.throw
    0x100d53220 runtime.recovery
    0x100d53360 runtime.fatalthrow
    0x100d533c0 runtime.fatalpanic
    0x100d53460 runtime.startpanic_m
    0x100d53640 runtime.dopanic_m
    0x100d539e0 runtime.shouldPushSigpanic
    0x100d53a90 runtime.suspendG
    0x100d53fc0 runtime.resumeG
    0x100d541c0 runtime.asyncPreempt2
    0x100d54220 runtime.init.4
    0x100d54350 runtime.isAsyncSafePoint
    0x100d546a0 runtime.recordForPanic
    0x100d547e0 runtime.printlock
    0x100d54870 runtime.printunlock
    0x100d548e0 runtime.gwrite
    0x100d54a10 runtime.printsp
    0x100d54a60 runtime.printnl
    0x100d54ab0 runtime.printbool
    0x100d54b20 runtime.printfloat
    0x100d54db0 runtime.printcomplex
    0x100d54e40 runtime.printuint
    0x100d54f20 runtime.printint
    0x100d54f90 runtime.printhex
    0x100d55090 runtime.printpointer
    0x100d550d0 runtime.printstring
    0x100d55150 runtime.printslice
    0x100d55210 runtime.hexdumpWords
    0x100d55430 runtime.main
    0x100d557b0 runtime.init.5
    0x100d55800 runtime.forcegchelper
    0x100d55930 runtime.gopark
    0x100d55a50 runtime.goready
    0x100d55ac0 runtime.acquireSudog
    0x100d55e00 runtime.releaseSudog
    0x100d56160 runtime.funcPC
    0x100d56170 runtime.badmcall
    0x100d561c0 runtime.badmcall2
    0x100d56210 runtime.badreflectcall
    0x100d56260 runtime.badmorestackg0
    0x100d562b0 runtime.badmorestackgsignal
    0x100d56300 runtime.badctxt
    0x100d56330 runtime.allgadd
    0x100d564a0 runtime.cpuinit
    0x100d56690 runtime.schedinit
    0x100d56970 runtime.checkmcount
    0x100d56a40 runtime.mReserveID
    0x100d56ac0 runtime.mcommoninit
    0x100d56d00 runtime.ready
    0x100d56f50 runtime.freezetheworld
    0x100d57010 runtime.casfrom_Gscanstatus
    0x100d57430 runtime.castogscanstatus
    0x100d57520 runtime.casgstatus
    0x100d576b0 runtime.casGToPreemptScan
    0x100d57750 runtime.casGFromPreempted
    0x100d577f0 runtime.stopTheWorld
    0x100d578a0 runtime.startTheWorld
    0x100d57930 runtime.stopTheWorldGC
    0x100d57990 runtime.startTheWorldGC
    0x100d579e0 runtime.stopTheWorldWithSema
    0x100d57d40 runtime.startTheWorldWithSema
    0x100d57f50 runtime.mstart
    0x100d57fd0 runtime.mstart1
    0x100d580d0 runtime.mstartm0
    0x100d58140 runtime.mexit
    0x100d58410 runtime.forEachP
    0x100d58860 runtime.runSafePointFn
    0x100d58950 runtime.allocm
    0x100d58bc0 runtime.needm
    0x100d58d70 runtime.newextram
    0x100d58e20 runtime.oneNewExtraM
    0x100d59040 runtime.dropm
    0x100d59190 runtime.lockextra
    0x100d592a0 runtime.newm
    0x100d593f0 runtime.newm1
    0x100d59520 runtime.startTemplateThread
    0x100d59620 runtime.templateThread
    0x100d59760 runtime.stopm
    0x100d598b0 runtime.mspinning
    0x100d598c0 runtime.startm
    0x100d59b70 runtime.handoffp
    0x100d59f20 runtime.wakep
    0x100d59fc0 runtime.stoplockedm
    0x100d5a210 runtime.startlockedm
    0x100d5a2d0 runtime.gcstopm
    0x100d5a420 runtime.execute
    0x100d5a580 runtime.findrunnable
    0x100d5b570 runtime.pollWork
    0x100d5b670 runtime.wakeNetPoller
    0x100d5b6e0 runtime.resetspinning
    0x100d5b7b0 runtime.injectglist
    0x100d5ba80 runtime.schedule
    0x100d5bf20 runtime.checkTimers
    0x100d5c150 runtime.parkunlock_c
    0x100d5c1a0 runtime.park_m
    0x100d5c350 runtime.goschedImpl
    0x100d5c5b0 runtime.gosched_m
    0x100d5c630 runtime.gopreempt_m
    0x100d5c6b0 runtime.preemptPark
    0x100d5c8d0 runtime.goyield_m
    0x100d5c9b0 runtime.goexit1
    0x100d5ca30 runtime.goexit0
    0x100d5ccf0 runtime.save
    0x100d5cd40 runtime.reentersyscall
    0x100d5cf50 runtime.entersyscall_sysmon
    0x100d5cfe0 runtime.entersyscall_gcwait
    0x100d5d110 runtime.entersyscallblock
    0x100d5d2a0 runtime.entersyscallblock_handoff
    0x100d5d320 runtime.exitsyscallfast
    0x100d5d430 runtime.exitsyscallfast_reacquired
    0x100d5d4b0 runtime.exitsyscallfast_pidle
    0x100d5d5d0 runtime.exitsyscall0
    0x100d5d800 runtime.malg
    0x100d5d8c0 runtime.newproc
    0x100d5d920 runtime.newproc1
    0x100d5ddb0 runtime.saveAncestors
    0x100d5e060 runtime.gfput
    0x100d5e1e0 runtime.gfget
    0x100d5e380 runtime.gfpurge
    0x100d5e470 runtime.LockOSThread
    0x100d5e500 runtime.UnlockOSThread
    0x100d5e540 runtime.unlockOSThread
    0x100d5e5b0 runtime.badunlockosthread
    0x100d5e600 runtime._System
    0x100d5e640 runtime._ExternalCode
    0x100d5e680 runtime._LostExternalCode
    0x100d5e6c0 runtime._GC
    0x100d5e700 runtime._LostSIGPROFDuringAtomic64
    0x100d5e740 runtime.sigprof
    0x100d5eb90 runtime.sigprofNonGoPC
    0x100d5ec20 runtime.setsSP
    0x100d5ecc0 runtime.(*p).init
    0x100d5ee00 runtime.(*p).destroy
    0x100d5f230 runtime.procresize
    0x100d5f860 runtime.acquirep
    0x100d5f8d0 runtime.wirep
    0x100d5fa00 runtime.releasep
    0x100d5fb80 runtime.incidlelocked
    0x100d5fc10 runtime.checkdead
    0x100d60110 runtime.sysmon
    0x100d60710 runtime.retake
    0x100d609e0 runtime.preemptall
    0x100d60a90 runtime.preemptone
    0x100d60b60 runtime.schedtrace
    0x100d61540 runtime.schedEnableUser
    0x100d616c0 runtime.schedEnabled
    0x100d61740 runtime.globrunqget
    0x100d61890 runtime.pidleput
    0x100d61960 runtime.runqempty
    0x100d619b0 runtime.runqput
    0x100d61ab0 runtime.runqputslow
    0x100d61cc0 runtime.runqputbatch
    0x100d61e10 runtime.runqget
    0x100d61eb0 runtime.runqgrab
    0x100d62020 runtime.runqsteal
    0x100d62120 runtime.(*randomOrder).reset
    0x100d62250 runtime.gcd
    0x100d62280 runtime.doInit
    0x100d62380 runtime.(*profBuf).takeOverflow
    0x100d623f0 runtime.(*profBuf).incrementOverflow
    0x100d62460 runtime.(*profBuf).canWriteRecord
    0x100d62540 runtime.(*profBuf).canWriteTwoRecords
    0x100d62650 runtime.(*profBuf).write
    0x100d62a40 runtime.(*profBuf).wakeupExtra
    0x100d62ac0 runtime.args
    0x100d62b50 runtime.goargs
    0x100d62ce0 runtime.goenvs_unix
    0x100d62e90 runtime.testAtomic64
    0x100d63100 runtime.check
    0x100d63510 runtime.parsedebugvars
    0x100d63850 runtime.timediv
    0x100d638e0 runtime.efaceOf
    0x100d638f0 runtime.extendRandom
    0x100d639e0 runtime.waitReason.String
    0x100d63a30 runtime.(*rwmutex).rlock
    0x100d63af0 runtime.(*rwmutex).runlock
    0x100d63c40 runtime.sellock
    0x100d63d00 runtime.selunlock
    0x100d63de0 runtime.selparkcommit
    0x100d63ea0 runtime.block
    0x100d63f00 runtime.selectgo
    0x100d65030 runtime.readyWithTime
    0x100d650a0 runtime.semacquire1
    0x100d65390 runtime.semrelease1
    0x100d655e0 runtime.cansemacquire
    0x100d65620 runtime.(*semaRoot).queue

    0x100d65a30 runtime.(*semaRoot).dequeue
    0x100d65d90 runtime.(*semaRoot).rotateLeft
    0x100d65f00 runtime.(*semaRoot).rotateRight
    0x100d66070 runtime.dumpregs
    0x100d66a40 runtime.(*sigctxt).preparePanic
    0x100d66b50 runtime.(*sigctxt).pushCall
    0x100d66bc0 runtime.initsig
    0x100d66e00 runtime.sigenable
    0x100d66f60 runtime.setThreadCPUProfiler
    0x100d67010 runtime.sigpipe
    0x100d67080 runtime.doSigPreempt
    0x100d67230 runtime.preemptM
    0x100d67330 runtime.sigFetchG
    0x100d67370 runtime.sigtrampgo
    0x100d67620 runtime.adjustSignalStack
    0x100d67890 runtime.sighandler
    0x100d68100 runtime.sigpanic
    0x100d68520 runtime.dieFromSignal
    0x100d68610 runtime.raisebadsignal
    0x100d68740 runtime.ensureSigM
    0x100d68870 runtime.noSignalStack
    0x100d68900 runtime.sigNotOnStack
    0x100d68990 runtime.signalDuringFork
    0x100d68a20 runtime.badsignal
    0x100d68ae0 runtime.sigfwdgo
    0x100d68cc0 runtime.unblocksig
    0x100d68d20 runtime.minitSignalMask
    0x100d68e20 runtime.sigsend
    0x100d690c0 runtime.makeslicecopy
    0x100d69260 runtime.makeslice
    0x100d693b0 runtime.growslice
    0x100d699d0 runtime.stackinit
    0x100d69a30 runtime.stacklog2
    0x100d69a60 runtime.stackpoolalloc
    0x100d69c30 runtime.stackpoolfree
    0x100d69dd0 runtime.stackcacherefill
    0x100d69ee0 runtime.stackcacherelease
    0x100d6a010 runtime.stackcache_clear
    0x100d6a0f0 runtime.stackalloc
    0x100d6a450 runtime.stackfree
    0x100d6a7c0 runtime.adjustpointers
    0x100d6a9a0 runtime.adjustframe
    0x100d6ac50 runtime.adjustctxt
    0x100d6acd0 runtime.adjustdefers
    0x100d6ae70 runtime.adjustsudogs
    0x100d6aec0 runtime.findsghi
    0x100d6af20 runtime.syncadjustsudogs
    0x100d6b060 runtime.copystack
    0x100d6b320 runtime.round2
    0x100d6b350 runtime.newstack
    0x100d6be90 runtime.nilfunc
    0x100d6bea0 runtime.gostartcallfn
    0x100d6bf20 runtime.shrinkstack
    0x100d6c0f0 runtime.freeStackSpans
    0x100d6c290 runtime.getStackMap
    0x100d6c8f0 runtime.concatstrings
    0x100d6cb60 runtime.concatstring2
    0x100d6cbd0 runtime.concatstring3
    0x100d6cc40 runtime.concatstring4
    0x100d6ccb0 runtime.concatstring5
    0x100d6cd20 runtime.slicebytetostring
    0x100d6cdf0 runtime.rawstringtmp
    0x100d6cea0 runtime.stringtoslicebyte
    0x100d6cf70 runtime.stringtoslicerune
    0x100d6d0f0 runtime.slicerunetostring
    0x100d6d290 runtime.intstring
    0x100d6d360 runtime.rawstring
    0x100d6d3d0 runtime.rawbyteslice
    0x100d6d530 runtime.rawruneslice
    0x100d6d6c0 runtime.index
    0x100d6d7b0 runtime.atoi
    0x100d6d8d0 runtime.findnull
    0x100d6d980 runtime.badsystemstack
    0x100d6d9d0 runtime.fastrand
    0x100d6da10 runtime.(*Frames).Next
    0x100d6e070 runtime.expandCgoFrames
    0x100d6e2b0 runtime.modulesinit
    0x100d6e520 runtime.moduledataverify
    0x100d6e580 runtime.moduledataverify1
    0x100d6eb40 runtime.FuncForPC
    0x100d6ed20 runtime.(*Func).Name
    0x100d6edc0 runtime.findmoduledatap
    0x100d6ee00 runtime.findfunc
    0x100d6efc0 runtime.pcvalue
    0x100d6f4b0 runtime.funcname
    0x100d6f550 runtime.funcnameFromNameoff
    0x100d6f5f0 runtime.funcline1
    0x100d6f780 runtime.funcline
    0x100d6f7f0 runtime.funcspdelta
    0x100d6f930 runtime.funcMaxSPDelta
    0x100d6fa20 runtime.pcdatavalue
    0x100d6fad0 runtime.pcdatavalue1
    0x100d6fb80 runtime.pcdatavalue2
    0x100d6fc30 runtime.funcdata
    0x100d6fd10 runtime.step
    0x100d6fec0 runtime.readvarint
    0x100d6ff60 runtime.gostartcall
    0x100d70000 runtime.libcCall
    0x100d70090 runtime.pthread_attr_init
    0x100d700f0 runtime.pthread_attr_getstacksize
    0x100d70150 runtime.pthread_attr_setdetachstate
    0x100d701b0 runtime.pthread_create
    0x100d70210 runtime.raise
    0x100d70260 runtime.pthread_self
    0x100d702b0 runtime.pthread_kill
    0x100d70300 runtime.mmap
    0x100d703c0 runtime.munmap
    0x100d70410 runtime.madvise
    0x100d70460 runtime.read
    0x100d704c0 runtime.pipe
    0x100d70540 runtime.closefd
    0x100d705a0 runtime.usleep
    0x100d705f0 runtime.write1
    0x100d70650 runtime.open
    0x100d706b0 runtime.nanotime1
    0x100d70740 runtime.walltime1
    0x100d707b0 runtime.sigaction
    0x100d70800 runtime.sigprocmask
    0x100d70850 runtime.sigaltstack
    0x100d708c0 runtime.raiseproc
    0x100d70910 runtime.setitimer
    0x100d70960 runtime.sysctl
    0x100d709c0 runtime.fcntl
    0x100d70a20 runtime.kqueue
    0x100d70a70 runtime.kevent
    0x100d70ad0 runtime.pthread_mutex_init
    0x100d70b30 runtime.pthread_mutex_lock
    0x100d70b90 runtime.pthread_mutex_unlock
    0x100d70bf0 runtime.pthread_cond_init
    0x100d70c50 runtime.pthread_cond_wait
    0x100d70cb0 runtime.pthread_cond_timedwait_relative_np
    0x100d70d10 runtime.pthread_cond_signal
    0x100d70d70 runtime.setNonblock
    0x100d70dc0 runtime.resetForSleep
    0x100d70e40 runtime.goroutineReady
    0x100d70ec0 runtime.addtimer
    0x100d70fb0 runtime.doaddtimer
    0x100d711a0 runtime.deltimer
    0x100d71510 runtime.dodeltimer
    0x100d71710 runtime.dodeltimer0
    0x100d718c0 runtime.modtimer
    0x100d71da0 runtime.cleantimers
    0x100d72030 runtime.moveTimers
    0x100d72200 runtime.adjusttimers
    0x100d725f0 runtime.addAdjustedTimers
    0x100d726a0 runtime.runtimer
    0x100d729c0 runtime.runOneTimer
    0x100d72b70 runtime.clearDeletedTimers
    0x100d73020 runtime.timeSleepUntil
    0x100d731f0 runtime.siftupTimer
    0x100d73310 runtime.siftdownTimer
    0x100d734f0 runtime.badTimer
    0x100d73540 runtime.nanotime
    0x100d73570 runtime.traceReader
    0x100d73690 runtime.traceProcFree
    0x100d73760 runtime.traceEvent
    0x100d73840 runtime.traceEventLocked
    0x100d73ab0 runtime.traceStackID
    0x100d73be0 runtime.traceAcquireBuffer
    0x100d73ca0 runtime.traceReleaseBuffer
    0x100d73d30 runtime.traceFlush
    0x100d73f10 runtime.(*traceBuf).varint
    0x100d73fc0 runtime.(*traceStackTable).put
    0x100d741b0 runtime.(*traceStackTable).find
    0x100d74280 runtime.(*traceStackTable).newStack
    0x100d742e0 runtime.(*traceAlloc).alloc
    0x100d74400 runtime.traceProcStart
    0x100d74470 runtime.traceProcStop
    0x100d74530 runtime.traceGCSweepStart
    0x100d745c0 runtime.traceGCSweepSpan
    0x100d74660 runtime.traceGCSweepDone
    0x100d74730 runtime.traceGoCreate
    0x100d74800 runtime.traceGoStart
    0x100d74960 runtime.traceGoPark
    0x100d749e0 runtime.traceGoUnpark
    0x100d74ab0 runtime.traceGoSysCall
    0x100d74b00 runtime.traceGoSysExit
    0x100d74bc0 runtime.traceGoSysBlock
    0x100d74c80 runtime.traceHeapAlloc
    0x100d74cf0 runtime.traceNextGC
    0x100d74da0 runtime.tracebackdefers
    0x100d74f50 runtime.gentraceback
    0x100d763e0 runtime.getArgInfo
    0x100d765a0 runtime.tracebackCgoContext
    0x100d76790 runtime.printcreatedby
    0x100d76850 runtime.printcreatedby1
    0x100d769e0 runtime.traceback
    0x100d76a40 runtime.tracebacktrap
    0x100d76ae0 runtime.traceback1
    0x100d76d70 runtime.printAncestorTraceback
    0x100d76f30 runtime.printAncestorTracebackFuncInfo
    0x100d771f0 runtime.callers
    0x100d772a0 runtime.gcallers
    0x100d77330 runtime.showframe
    0x100d773e0 runtime.showfuncinfo
    0x100d77600 runtime.goroutineheader
    0x100d77870 runtime.tracebackothers
    0x100d77af0 runtime.tracebackHexdump
    0x100d77ca0 runtime.isSystemGoroutine
    0x100d77db0 runtime.printCgoTraceback
    0x100d77ed0 runtime.printOneCgoTraceback
    0x100d780b0 runtime.callCgoSymbolizer
    0x100d78140 runtime.cgoContextPCs
    0x100d78220 runtime.(*_type).string
    0x100d782d0 runtime.(*_type).uncommon
    0x100d783a0 runtime.(*_type).pkgpath
    0x100d784a0 runtime.resolveNameOff
    0x100d78770 runtime.resolveTypeOff
    0x100d78a80 runtime.(*_type).textOff
    0x100d78db0 runtime.name.tagLen
    0x100d78e00 runtime.name.name
    0x100d78e50 runtime.name.tag
    0x100d78ee0 runtime.name.pkgPath
    0x100d78fc0 runtime.name.isBlank
    0x100d79000 runtime.typelinksinit
    0x100d795b0 runtime.typesEqual
    0x100d7a260 runtime.decoderune
    0x100d7a4a0 runtime.encoderune
    0x100d7a640 runtime.cgocallbackg1.func1
    0x100d7a660 runtime.cgoCheckWriteBarrier.func1
    0x100d7a710 runtime.cgoCheckTypedBlock.func1
    0x100d7a770 runtime.chansend.func1
    0x100d7a7c0 runtime.chanrecv.func1
    0x100d7a810 runtime.mallocgc.func1
    0x100d7a880 runtime.persistentalloc.func1
    0x100d7a8f0 runtime.allocmcache.func1
    0x100d7a990 runtime.freemcache.func1
    0x100d7aa60 runtime.SetFinalizer.func1
    0x100d7aab0 runtime.SetFinalizer.func2
    0x100d7ab40 runtime.setGCPercent.func1
    0x100d7ac20 runtime.gcStart.func1
    0x100d7ac60 runtime.gcStart.func2
    0x100d7acf0 runtime.gcMarkDone.func1.1
    0x100d7adb0 runtime.gcMarkDone.func1
    0x100d7ae40 runtime.gcMarkDone.func2
    0x100d7af00 runtime.gcMarkDone.func3
    0x100d7af70 runtime.gcMarkTermination.func1
    0x100d7afb0 runtime.gcMarkTermination.func2
    0x100d7b0e0 runtime.gcMarkTermination.func3
    0x100d7b120 runtime.gcMarkTermination.func4.1
    0x100d7b170 runtime.gcMarkTermination.func4
    0x100d7b1c0 runtime.gcBgMarkWorker.func1
    0x100d7b250 runtime.gcBgMarkWorker.func2
    0x100d7b420 runtime.markroot.func1
    0x100d7b590 runtime.gcAssistAlloc.func1
    0x100d7b5e0 runtime.scanstack.func1
    0x100d7b640 runtime.bgscavenge.func1
    0x100d7b680 runtime.bgscavenge.func2
    0x100d7b7c0 runtime.(*pageAlloc).scavengeOne.func3
    0x100d7b8d0 runtime.sweepone.func1
    0x100d7b940 runtime.getempty.func1
    0x100d7b9b0 runtime.freeSomeWbufs.func1
    0x100d7ba80 runtime.(*mheap).alloc.func1
    0x100d7bb30 runtime.(*mheap).freeSpan.func1
    0x100d7bc30 runtime.(*pageAlloc).find.func1
    0x100d7bda0 runtime.mProf_Malloc.func1
    0x100d7bdf0 runtime.Stack.func1
    0x100d7bf20 runtime.tracealloc.func1
    0x100d7bf80 runtime.tracefree.func1
    0x100d7bfe0 runtime.wbBufFlush.func1
    0x100d7c030 runtime.newdefer.func1
    0x100d7c1e0 runtime.newdefer.func2
    0x100d7c340 runtime.freedefer.func1
    0x100d7c500 runtime.preprintpanics.func1
    0x100d7c570 runtime.addOneOpenDeferFrame.func1.1
    0x100d7c7d0 runtime.addOneOpenDeferFrame.func1
    0x100d7c860 runtime.throw.func1
    0x100d7c8e0 runtime.fatalthrow.func1
    0x100d7c970 runtime.fatalpanic.func1
    0x100d7ca60 runtime.fatalpanic.func2
    0x100d7caa0 runtime.hexdumpWords.func1
    0x100d7cb40 runtime.main.func1
    0x100d7cb90 runtime.main.func2
    0x100d7cbe0 runtime.goready.func1
    0x100d7cc30 runtime.casgstatus.func1
    0x100d7cce0 runtime.stopTheWorld.func1
    0x100d7cd60 runtime.startTheWorld.func1
    0x100d7cda0 runtime.injectglist.func1
    0x100d7ce10 runtime.reentersyscall.func1
    0x100d7cf00 runtime.entersyscallblock.func1
    0x100d7d020 runtime.entersyscallblock.func2
    0x100d7d140 runtime.exitsyscallfast.func1
    0x100d7d1f0 runtime.exitsyscallfast_reacquired.func1
    0x100d7d240 runtime.malg.func1
    0x100d7d2a0 runtime.newproc.func1
    0x100d7d340 runtime.gfget.func1
    0x100d7d3a0 runtime.(*p).destroy.func1
    0x100d7d470 runtime.(*rwmutex).rlock.func1
    0x100d7d530 runtime.selectgo.func1
    0x100d7d5a0 runtime.selectgo.func2
    0x100d7d610 runtime.ensureSigM.func1
    0x100d7d8d0 runtime.callers.func1
    0x100d7d970 runtime.tracebackHexdump.func1
    0x100d7d9d0 runtime.init
    0x100d7dc10 sync/atomic.StorePointer
    0x100d7dc70 sync/atomic.CompareAndSwapPointer
    0x100d7dce0 reflect.chanlen
    0x100d7dd00 reflect.ifaceE2I
    0x100d7dd90 reflect.unsafe_New
    0x100d7ddf0 reflect.mapiterinit
    0x100d7de60 reflect.mapiternext
    0x100d7dea0 reflect.mapiterkey
    0x100d7deb0 reflect.mapiterelem
    0x100d7dec0 reflect.maplen
    0x100d7dee0 reflect.typedmemmove
    0x100d7df30 reflect.typedmemmovepartial
    0x100d7e060 reflect.typedmemclr
    0x100d7e0b0 runtime/debug.setGCPercent
    0x100d7e140 sync.runtime_registerPoolCleanup
    0x100d7e1b0 sync.event
    0x100d7e270 internal/poll.runtime_pollServerInit
    0x100d7e2b0 internal/poll.runtime_pollOpen
    0x100d7e3e0 internal/poll.runtime_pollClose
    0x100d7e4a0 internal/poll.runtime_pollReset
    0x100d7e540 internal/poll.runtime_pollWait
    0x100d7e690 internal/poll.runtime_pollSetDeadline
    0x100d7ec60 internal/poll.runtime_pollUnblock
    0x100d7eeb0 sync.throw
    0x100d7eef0 runtime.entersyscall
    0x100d7ef20 runtime.exitsyscall
    0x100d7f150 sync.runtime_procPin
    0x100d7f170 sync.runtime_procUnpin
    0x100d7f190 sync/atomic.runtime_procPin
    0x100d7f1b0 sync/atomic.runtime_procUnpin
    0x100d7f1d0 sync.runtime_canSpin
    0x100d7f280 sync.runtime_doSpin
    0x100d7f2b0 syscall.runtime_envs
    0x100d7f390 syscall.Getpagesize
    0x100d7f3b0 os.runtime_args
    0x100d7f490 runtime/debug.SetTraceback
    0x100d7f650 reflect.typelinks
    0x100d7f970 reflect.resolveNameOff
    0x100d7f9c0 reflect.resolveTypeOff
    0x100d7fa10 reflect.resolveTextOff
    0x100d7fa60 internal/reflectlite.resolveNameOff
    0x100d7fab0 internal/reflectlite.resolveTypeOff
    0x100d7fb00 reflect.addReflectOff
    0x100d7fce0 sync.runtime_Semacquire
    0x100d7fd30 internal/poll.runtime_Semacquire
    0x100d7fd80 sync.runtime_Semrelease

    0x100d7fdd0 sync.runtime_SemacquireMutex
    0x100d7fe30 internal/poll.runtime_Semrelease
    0x100d7fe80 sync.runtime_notifyListCheck
    0x100d7ff30 sync.runtime_nanotime
    0x100d7ff70 os.sigpipe
    0x100d7ffc0 runtime.setsigsegv
    0x100d7ffe0 os/signal.signal_recv
    0x100d80150 os/signal.signal_enable
    0x100d80230 runtime.morestackc
    0x100d80260 runtime.gostring
    0x100d80320 reflect.memmove
    0x100d80370 syscall.syscall
    0x100d803d0 syscall.syscall6
    0x100d80430 syscall.syscall6X
    0x100d80490 syscall.syscallPtr
    0x100d804f0 syscall.rawSyscall
    0x100d80550 runtime.exit
    0x100d805a0 time.Sleep
    0x100d80700 time.startTimer
    0x100d80740 time.stopTimer
    0x100d80790 time.resetTimer
    0x100d80810 time.now
    0x100d80880 runtime.skipPleaseUseCallersFrames
    0x100d80980 callRet
    0x100d809b0 aeshashbody
    0x100d80df0 gosave
    0x100d80e20 setg_gcc
    0x100d80e50 runtime.rt0_go
    0x100d80f50 runtime.asminit
    0x100d80f60 runtime.gogo
    0x100d80fc0 runtime.mcall
    0x100d81020 runtime.systemstack_switch
    0x100d81040 runtime.systemstack
    0x100d81120 runtime.morestack
    0x100d811a0 runtime.morestack_noctxt
    0x100d811b0 runtime.reflectcall
    0x100d81430 runtime.call32
    0x100d81500 runtime.call64
    0x100d815d0 runtime.call128
    0x100d816a0 runtime.call256
    0x100d81780 runtime.call512
    0x100d81860 runtime.call1024
    0x100d81940 runtime.call2048
    0x100d81a20 runtime.call4096
    0x100d81b20 runtime.call8192
    0x100d81c20 runtime.call16384
    0x100d81d40 runtime.call32768
    0x100d81e70 runtime.call65536
    0x100d81fb0 runtime.call131072
    0x100d820f0 runtime.call262144
    0x100d82230 runtime.call524288
    0x100d82370 runtime.call1048576
    0x100d824b0 runtime.call2097152
    0x100d825f0 runtime.call4194304
    0x100d82730 runtime.call8388608
    0x100d82870 runtime.call16777216
    0x100d829b0 runtime.call33554432
    0x100d82af0 runtime.call67108864
    0x100d82c30 runtime.call134217728
    0x100d82d70 runtime.call268435456
    0x100d82eb0 runtime.call536870912
    0x100d82ff0 runtime.call1073741824
    0x100d83130 runtime.memhash32
    0x100d83190 runtime.memhash64
    0x100d831f0 runtime.memhash
    0x100d83220 runtime.strhash
    0x100d83250 runtime.procyield
    0x100d83270 runtime.jmpdefer
    0x100d832a0 runtime.asmcgocall
    0x100d83380 runtime.cgocallback
    0x100d833d0 runtime.cgocallback_gofunc
    0x100e954e0 _cgo_topofstack
fatal error: invalid runtime symbol table
runtime: panic before malloc heap initialized

runtime stack:
runtime.throw(0x1011e5a23, 0x1c)
    runtime/panic.go:1116 +0x54 fp=0x16f19ee00 sp=0x16f19edd0 pc=0x100d53204
runtime.moduledataverify1(0x1016545a0)
    runtime/symtab.go:545 +0x4e0 fp=0x16f19ef10 sp=0x16f19ee00 pc=0x100d6ea60
runtime.moduledataverify()
    runtime/symtab.go:510 +0x34 fp=0x16f19ef30 sp=0x16f19ef10 pc=0x100d6e554
runtime.schedinit()
    runtime/proc.go:561 +0x64 fp=0x16f19efa0 sp=0x16f19ef30 pc=0x100d566f4
runtime.rt0_go(0x0, 0x0, 0x1ed722880, 0x0, 0x0, 0xdcfc8d47c13b6479, 0x0, 0x16f22b000, 0x101a1b890, 0x0, ...)
    runtime/asm_arm64.s:69 +0xb8 fp=0x16f19efd0 sp=0x16f19efa0 pc=0x100d80f08
seankhliao commented 3 years ago

do you have a minimal reproducible example of a project that triggers this? are you using plugins (since you referred to the other issue)?

abhi-m-simformsolutons commented 3 years ago

@seankhliao Thanks for your reply. Please find minimal reproducible example with this repository: https://github.com/abhi-m-simformsolutons/GoCheck Important: The actual error logs will only shows when run this repo in IOS device.

In this repo, you can see integration of WireGuard and DNSCrypt in single target. Because of this, runtime symbol table error occurs.

Thank you.

bcmills commented 3 years ago

The actual error logs will only shows when run this repo in IOS device.

CC @cherrymui

kostix commented 3 years ago

I wonder if #30822 and/or #31485 are related as they can be found by searching for the same error message "function symbol table not sorted by program counter".

cherrymui commented 3 years ago

Could you share how you build the program? In particular, what build mode do you use to build the Go part, and how do you put pieces together? Do you use shared libraries? Thanks.

abhi-m-simformsolutons commented 3 years ago

@cherrymui This example repository is a native application for IOS build in Swift language. We are using some SDK (DNSCrypt, WireGuard) which is build in GO language. To build this project, you need to use XCode and run it in a device.

cherrymui commented 3 years ago

Okay, https://github.com/abhi-m-simformsolutons/GoCheck/tree/master/WireGuardKitGo has Go code (the only Go source code in the repo). Its Makefile builds it as a c-archive. https://github.com/abhi-m-simformsolutons/GoCheck/blob/master/WireGuardCheck/Dnscryptproxy.framework/Versions/A/Dnscryptproxy is a binary blob, which is actually a Go c-archive. (For the future, don't include binary blobs, but the source code and how to build it. Thanks.)

So this is about including two Go c-archives in the same executable, and the _cgo_topofstack symbol in one module is somehow resolved to other module and causing the "symbol table not sorted" error.

I'm not sure including two Go c-archives in the same executable is supported (could be, I'd need to look into more). We might be able to make it work.

Could you try if you get the same failure with Go 1.16beta or Go tip? Could you try building the two Go parts into a c-archive? That should work.

bcmills commented 3 years ago

I'm not sure including two Go c-archives in the same executable is supported (could be, I'd need to look into more). We might be able to make it work.

See previously https://github.com/golang/go/issues/30822#issuecomment-473730943.

cherrymui commented 3 years ago

Thanks @bcmills !

Okay, so this is not going to work. Please try building the two Go parts into a single c-archive? Thanks.

WinnieZy commented 2 years ago

I wonder if this problem was solved, and how did you solve it. Is there any way to use 2 Go SDK that can run successfully in one iOS project? For example: one of it set -buildmode=c-shared? Hope for your answer! Thanks.