Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
abhi-m-simformsolutons opened this issue Jan 28, 2021 · 10 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@abhi-m-simformsolutons
Copy link

abhi-m-simformsolutons commented Jan 28, 2021

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 seankhliao changed the title Loading SDK leads to fatal error: invalid runtime symbol table. runtime: panic before malloc heap initialized runtime: fatal error: invalid runtime symbol table. runtime: panic before malloc heap initialized Jan 28, 2021
@seankhliao seankhliao added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Jan 28, 2021
@seankhliao
Copy link
Member

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
Copy link
Author

@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
Copy link
Contributor

bcmills commented Jan 28, 2021

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

CC @cherrymui

@kostix
Copy link

kostix commented Jan 28, 2021

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
Copy link
Member

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
Copy link
Author

abhi-m-simformsolutons commented Jan 28, 2021

@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
Copy link
Member

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
Copy link
Contributor

bcmills commented Jan 28, 2021

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 #30822 (comment).

@cherrymui
Copy link
Member

Thanks @bcmills !

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

@WinnieZy
Copy link

WinnieZy commented Dec 8, 2021

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.

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jul 7, 2022
@seankhliao seankhliao added this to the Unplanned milestone Aug 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Status: Triage Backlog
Development

No branches or pull requests

7 participants