I'm debugging a similar issue, just out of curiosity why did you set the
gcflag ' -wb=false'?
On Friday, 10 February 2023 at 15:24:45 UTC+8 Marcello H wrote:
> You could actually make a stress test inside a main_test.go with a
> benchmark for example, run that locally and see.
>
> It works over here btw.
>
> package main_test
>
> import (
> "net/http"
> "net/http/httptest"
> "testing"
>
> "github.com/gorilla/mux"
> "github.com/stretchr/testify/assert"
> )
>
> func pingServer(w http.ResponseWriter, r *http.Request) {
> w.Write([]byte("pong"))
> }
>
> func Router() *mux.Router {
> router := mux.NewRouter()
> router.HandleFunc("/ping", pingServer).Methods("GET")
> return router
> }
>
> func Test_Ping(t *testing.T) {
> r, _ := http.NewRequest("GET", "/ping", nil)
> w := httptest.NewRecorder()
>
> Router().ServeHTTP(w, r)
>
> assert.Equal(t, 200, w.Code, "OK response is expected")
> }
>
> func Benchmark_Ping(b *testing.B) {
> r, _ := http.NewRequest("GET", "/ping", nil)
> w := httptest.NewRecorder()
>
> b.ResetTimer()
>
> for i := 0; i < b.N; i++ { // use b.N for looping
> Router().ServeHTTP(w, r)
> assert.Equal(b, 200, w.Code, "OK response is expected")
> }
> }
>
>
> Op vr 10 feb. 2023 om 00:47 schreef James Dornan <[email protected]>:
>
>> I did, with the same results.
>>
>> I've attached stack trace from docker logs and the files to recreate this
>> issue, Dockerfile and main.go.
>>
>> Steps to recreate
>> docker build -t pingtest .
>>
>> docker run -p 8001:80 pingtest
>>
>> ab -c 500 -n 50000 http://localhost:8001/ping
>>
>> The result for my, from ab, was this.
>> ab -c 500 -n 50000 http://10.1.1.101:8001/ping
>>
>> ─╯
>> This is ApacheBench, Version 2.3 <$Revision: 1879490 $>
>> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
>> Licensed to The Apache Software Foundation, http://www.apache.org/
>>
>> Benchmarking 10.1.1.101 (be patient)
>>
>> Test aborted after 10 failures
>>
>> apr_socket_connect(): Connection reset by peer (104)
>> Total of 366 requests completed
>>
>> On Thursday, February 9, 2023 at 3:02:08 AM UTC-5 Marcello H wrote:
>>
>>> I would trim down the problem, by making a very small program that gets
>>> the XML file from a local disk and then just do the XSLT on it.
>>> That would give you less environment to oversee and debug.
>>> Perhaps then, make the xml as small as possible.
>>> Also mention which libs you use or make a playground version of the
>>> problem, so people might be able to understand more about the problem.
>>>
>>> Op donderdag 9 februari 2023 om 00:03:03 UTC+1 schreef James Dornan:
>>>
>>>> I have a go web service that acts as a proxy that gets XML documents
>>>> from a remote system and processes them through XSLT, returning the
>>>> result,
>>>> if any. I have tried a number of options over the last few days and cannot
>>>> seem to nail down the cause.
>>>>
>>>> Does anyone know how to address this or debug the issue? Thanks.
>>>>
>>>> Version 1.20 (on Alpine Linux 3.17)
>>>>
>>>> Build statement
>>>>
>>>> go build \
>>>> -tags musl \
>>>> -ldflags '-extldflags "-static -lz -llzma -lgcrypt -lgpg-error"' \
>>>> -gcflags=all="-wb=false -d=checkptr" \
>>>> -a main.go
>>>>
>>>> runtime: marked free object in span 0x7f58c3422308, elemsize=96
>>>> freeindex=3 (bad use of unsafe.Pointer? try -d=checkptr)
>>>> 0xc000398000 alloc marked
>>>> 0xc000398060 alloc marked
>>>> 0xc0003980c0 alloc marked
>>>> 0xc000398120 free unmarked
>>>> 0xc000398180 free unmarked
>>>> 0xc0003981e0 free unmarked
>>>> 0xc000398240 alloc marked
>>>> 0xc0003982a0 alloc marked
>>>> 0xc000398300 free unmarked
>>>> 0xc000398360 alloc marked
>>>> 0xc0003983c0 alloc marked
>>>> 0xc000398420 alloc marked
>>>> 0xc000398480 free unmarked
>>>> 0xc0003984e0 free unmarked
>>>> 0xc000398540 free unmarked
>>>> 0xc0003985a0 free unmarked
>>>> 0xc000398600 free unmarked
>>>> 0xc000398660 free unmarked
>>>> 0xc0003986c0 free unmarked
>>>> 0xc000398720 free unmarked
>>>> 0xc000398780 free unmarked
>>>> 0xc0003987e0 alloc marked
>>>> 0xc000398840 alloc marked
>>>> 0xc0003988a0 free unmarked
>>>> 0xc000398900 free unmarked
>>>> 0xc000398960 free unmarked
>>>> 0xc0003989c0 free unmarked
>>>> 0xc000398a20 free unmarked
>>>> 0xc000398a80 free unmarked
>>>> 0xc000398ae0 free unmarked
>>>> 0xc000398b40 free unmarked
>>>> 0xc000398ba0 free unmarked
>>>> 0xc000398c00 free unmarked
>>>> 0xc000398c60 free unmarked
>>>> 0xc000398cc0 free unmarked
>>>> 0xc000398d20 free unmarked
>>>> 0xc000398d80 free unmarked
>>>> 0xc000398de0 free unmarked
>>>> 0xc000398e40 free unmarked
>>>> 0xc000398ea0 free unmarked
>>>> 0xc000398f00 alloc marked
>>>> 0xc000398f60 free unmarked
>>>> 0xc000398fc0 alloc marked
>>>> 0xc000399020 alloc marked
>>>> 0xc000399080 free unmarked
>>>> 0xc0003990e0 free unmarked
>>>> 0xc000399140 alloc marked
>>>> 0xc0003991a0 alloc marked
>>>> 0xc000399200 alloc marked
>>>> 0xc000399260 free unmarked
>>>> 0xc0003992c0 free unmarked
>>>> 0xc000399320 free unmarked
>>>> 0xc000399380 free unmarked
>>>> 0xc0003993e0 free unmarked
>>>> 0xc000399440 free unmarked
>>>> 0xc0003994a0 free unmarked
>>>> 0xc000399500 free unmarked
>>>> 0xc000399560 free unmarked
>>>> 0xc0003995c0 free unmarked
>>>> 0xc000399620 alloc marked
>>>> 0xc000399680 free unmarked
>>>> 0xc0003996e0 free marked zombie
>>>> 0x000000c0003996e0: 0x000000c000104b60 0x0000000000000000
>>>> 0x000000c0003996f0: 0x0000000000000000 0x0000000000000000
>>>> 0x000000c000399700: 0x0000000000000000 0x0000000000000000
>>>> 0x000000c000399710: 0x0000010000000000 0x0000000000000000
>>>> 0x000000c000399720: 0x0000000000000000 0x0000000000000000
>>>> 0x000000c000399730: 0x0000000000000000 0x0000000000000000
>>>> 0xc000399740 free unmarked
>>>> 0xc0003997a0 alloc marked
>>>> 0xc000399800 alloc marked
>>>> 0xc000399860 free unmarked
>>>> 0xc0003998c0 free unmarked
>>>> 0xc000399920 free unmarked
>>>> 0xc000399980 free unmarked
>>>> 0xc0003999e0 free unmarked
>>>> 0xc000399a40 free unmarked
>>>> 0xc000399aa0 free unmarked
>>>> 0xc000399b00 free unmarked
>>>> 0xc000399b60 free unmarked
>>>> 0xc000399bc0 free unmarked
>>>> 0xc000399c20 free unmarked
>>>> 0xc000399c80 free unmarked
>>>> 0xc000399ce0 free unmarked
>>>> 0xc000399d40 free unmarked
>>>> 0xc000399da0 free unmarked
>>>> 0xc000399e00 free unmarked
>>>> 0xc000399e60 free unmarked
>>>> 0xc000399ec0 free unmarked
>>>> 0xc000399f20 free unmarked
>>>> 0xc000399f80 free unmarked
>>>> fatal error: found pointer to free object
>>>>
>>>> runtime stack:
>>>> runtime.throw({0x84f468?, 0xc000399740?})
>>>> /usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0x7f589bc43780
>>>> sp=0x7f589bc43750 pc=0x4357fd
>>>> runtime.(*mspan).reportZombies(0x7f58c3422308)
>>>> /usr/local/go/src/runtime/mgcsweep.go:846 +0x2e5
>>>> fp=0x7f589bc43800 sp=0x7f589bc43780 pc=0x424d25
>>>> runtime.(*sweepLocked).sweep(0x7f589bc43928?, 0x0)
>>>> /usr/local/go/src/runtime/mgcsweep.go:634 +0x9f6
>>>> fp=0x7f589bc438f0 sp=0x7f589bc43800 pc=0x424696
>>>> runtime.(*mcentral).uncacheSpan(0x7f589bdf73b8?, 0xc00029a000?)
>>>> /usr/local/go/src/runtime/mcentral.go:228 +0xa5
>>>> fp=0x7f589bc43918 sp=0x7f589bc438f0 pc=0x416da5
>>>> runtime.(*mcache).releaseAll(0x7f58c34173c8)
>>>> /usr/local/go/src/runtime/mcache.go:291 +0x145
>>>> fp=0x7f589bc43980 sp=0x7f589bc43918 pc=0x416805
>>>> runtime.(*mcache).prepareForSweep(0x7f58c34173c8)
>>>> /usr/local/go/src/runtime/mcache.go:328 +0x39 fp=0x7f589bc439a8
>>>> sp=0x7f589bc43980 pc=0x4168f9
>>>> runtime.gcMarkTermination.func4.1(0x7f589bc43a30?)
>>>> /usr/local/go/src/runtime/mgc.go:1110 +0x1d fp=0x7f589bc439c0
>>>> sp=0x7f589bc439a8 pc=0x46181d
>>>> runtime.forEachP(0x8798d8)
>>>> /usr/local/go/src/runtime/proc.go:1685 +0xfd fp=0x7f589bc43a28
>>>> sp=0x7f589bc439c0 pc=0x43afbd
>>>> runtime.gcMarkTermination.func4()
>>>> /usr/local/go/src/runtime/mgc.go:1109 +0x25 fp=0x7f589bc43a40
>>>> sp=0x7f589bc43a28 pc=0x461865
>>>> runtime.systemstack()
>>>> /usr/local/go/src/runtime/asm_amd64.s:496 +0x49
>>>> fp=0x7f589bc43a48 sp=0x7f589bc43a40 pc=0x466049
>>>>
>>>> goroutine 61 [running]:
>>>> runtime.systemstack_switch()
>>>> /usr/local/go/src/runtime/asm_amd64.s:463 fp=0xc0001b2520
>>>> sp=0xc0001b2518 pc=0x465fe0
>>>> runtime.gcMarkTermination()
>>>> /usr/local/go/src/runtime/mgc.go:1108 +0x577 fp=0xc0001b26f0
>>>> sp=0xc0001b2520 pc=0x41a0d7
>>>> runtime.gcMarkDone()
>>>> /usr/local/go/src/runtime/mgc.go:918 +0x277 fp=0xc0001b2750
>>>> sp=0xc0001b26f0 pc=0x419a57
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1407 +0x305 fp=0xc0001b27e0
>>>> sp=0xc0001b2750 pc=0x41ac25
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001b27e8
>>>> sp=0xc0001b27e0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 1 [IO wait]:
>>>> runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000161b40
>>>> sp=0xc000161b20 pc=0x4384c5
>>>> runtime.netpollblock(0x7f589bdf4578?, 0x4040af?, 0x0?)
>>>> /usr/local/go/src/runtime/netpoll.go:527 +0xf7 fp=0xc000161b78
>>>> sp=0xc000161b40 pc=0x431457
>>>> internal/poll.runtime_pollWait(0x7f589be66098, 0x72)
>>>> /usr/local/go/src/runtime/netpoll.go:306 +0x89 fp=0xc000161b98
>>>> sp=0xc000161b78 pc=0x462d09
>>>> internal/poll.(*pollDesc).wait(0xc000164d80?, 0x4?, 0x0)
>>>> /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x32
>>>> fp=0xc000161bc0 sp=0xc000161b98 pc=0x4ae392
>>>> internal/poll.(*pollDesc).waitRead(...)
>>>> /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
>>>> internal/poll.(*FD).Accept(0xc000164d80)
>>>> /usr/local/go/src/internal/poll/fd_unix.go:614 +0x2bd
>>>> fp=0xc000161c68 sp=0xc000161bc0 pc=0x4afb7d
>>>> net.(*netFD).accept(0xc000164d80)
>>>> /usr/local/go/src/net/fd_unix.go:172 +0x35 fp=0xc000161d20
>>>> sp=0xc000161c68 pc=0x4e4a75
>>>> net.(*TCPListener).accept(0xc00011a408)
>>>> /usr/local/go/src/net/tcpsock_posix.go:148 +0x25
>>>> fp=0xc000161d48 sp=0xc000161d20 pc=0x4f4e45
>>>> net.(*TCPListener).Accept(0xc00011a408)
>>>> /usr/local/go/src/net/tcpsock.go:297 +0x3d fp=0xc000161d78
>>>> sp=0xc000161d48 pc=0x4f41bd
>>>> net/http.(*onceCloseListener).Accept(0xc0003e8090?)
>>>> <autogenerated>:1 +0x2a fp=0xc000161d90 sp=0xc000161d78
>>>> pc=0x652d4a
>>>> net/http.(*Server).Serve(0xc000198000, {0x8ccc70, 0xc00011a408})
>>>> /usr/local/go/src/net/http/server.go:3059 +0x334
>>>> fp=0xc000161ec0 sp=0xc000161d90 pc=0x635cb4
>>>> net/http.(*Server).ListenAndServe(0xc000198000)
>>>> /usr/local/go/src/net/http/server.go:2988 +0x7d fp=0xc000161ef0
>>>> sp=0xc000161ec0 pc=0x63593d
>>>> net/http.ListenAndServe(...)
>>>> /usr/local/go/src/net/http/server.go:3242
>>>> main.main()
>>>> /app/persondoc.go:327 +0x39d fp=0xc000161f80 sp=0xc000161ef0
>>>> pc=0x6b099d
>>>> runtime.main()
>>>> /usr/local/go/src/runtime/proc.go:250 +0x1f2 fp=0xc000161fe0
>>>> sp=0xc000161f80 pc=0x4380d2
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000161fe8
>>>> sp=0xc000161fe0 pc=0x468201
>>>>
>>>> goroutine 2 [force gc (idle), 1 minutes]:
>>>> runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000044fb0
>>>> sp=0xc000044f90 pc=0x4384c5
>>>> runtime.goparkunlock(...)
>>>> /usr/local/go/src/runtime/proc.go:387
>>>> runtime.forcegchelper()
>>>> /usr/local/go/src/runtime/proc.go:305 +0x91 fp=0xc000044fe0
>>>> sp=0xc000044fb0 pc=0x438331
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000044fe8
>>>> sp=0xc000044fe0 pc=0x468201
>>>> created by runtime.init.6
>>>> /usr/local/go/src/runtime/proc.go:293 +0x25
>>>>
>>>> goroutine 18 [runnable]:
>>>> runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000040780
>>>> sp=0xc000040760 pc=0x4384c5
>>>> runtime.goparkunlock(...)
>>>> /usr/local/go/src/runtime/proc.go:387
>>>> runtime.bgsweep(0x0?)
>>>> /usr/local/go/src/runtime/mgcsweep.go:319 +0xbe fp=0xc0000407c8
>>>> sp=0xc000040780 pc=0x42377e
>>>> runtime.gcenable.func1()
>>>> /usr/local/go/src/runtime/mgc.go:178 +0x26 fp=0xc0000407e0
>>>> sp=0xc0000407c8 pc=0x418d86
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000407e8
>>>> sp=0xc0000407e0 pc=0x468201
>>>> created by runtime.gcenable
>>>> /usr/local/go/src/runtime/mgc.go:178 +0x52
>>>>
>>>> goroutine 19 [GC scavenge wait]:
>>>> runtime.gopark(0x56b9b795bc9d?, 0x138421?, 0x0?, 0x0?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000040f70
>>>> sp=0xc000040f50 pc=0x4384c5
>>>> runtime.goparkunlock(...)
>>>> /usr/local/go/src/runtime/proc.go:387
>>>> runtime.(*scavengerState).park(0xb2df20)
>>>> /usr/local/go/src/runtime/mgcscavenge.go:400 +0x53
>>>> fp=0xc000040fa0 sp=0xc000040f70 pc=0x421693
>>>> runtime.bgscavenge(0x0?)
>>>> /usr/local/go/src/runtime/mgcscavenge.go:633 +0x65
>>>> fp=0xc000040fc8 sp=0xc000040fa0 pc=0x421c85
>>>> runtime.gcenable.func2()
>>>> /usr/local/go/src/runtime/mgc.go:179 +0x26 fp=0xc000040fe0
>>>> sp=0xc000040fc8 pc=0x418d26
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000040fe8
>>>> sp=0xc000040fe0 pc=0x468201
>>>> created by runtime.gcenable
>>>> /usr/local/go/src/runtime/mgc.go:179 +0x76
>>>>
>>>> goroutine 34 [finalizer wait]:
>>>> runtime.gopark(0x0?, 0xc00011a870?, 0x0?, 0xc0?, 0x1000000010?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000044628
>>>> sp=0xc000044608 pc=0x4384c5
>>>> runtime.runfinq()
>>>> /usr/local/go/src/runtime/mfinal.go:193 +0xe7 fp=0xc0000447e0
>>>> sp=0xc000044628 pc=0x417ee7
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000447e8
>>>> sp=0xc0000447e0 pc=0x468201
>>>> created by runtime.createfing
>>>> /usr/local/go/src/runtime/mfinal.go:163 +0x45
>>>>
>>>> goroutine 1120 [select]:
>>>> runtime.gopark(0xc00007bf90?, 0x2?, 0x0?, 0x40?, 0xc00007bf34?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc00007bdc0
>>>> sp=0xc00007bda0 pc=0x4384c5
>>>> runtime.selectgo(0xc00007bf90, 0xc00007bf30, 0xc0001d6880?, 0x0, 0x0?,
>>>> 0x1)
>>>> /usr/local/go/src/runtime/select.go:327 +0x58e fp=0xc00007bef0
>>>> sp=0xc00007bdc0 pc=0x447c6e
>>>> net/http.(*persistConn).writeLoop(0xc000430000)
>>>> /usr/local/go/src/net/http/transport.go:2410 +0xf2
>>>> fp=0xc00007bfc8 sp=0xc00007bef0 pc=0x64a1b2
>>>> net/http.(*Transport).dialConn.func6()
>>>> /usr/local/go/src/net/http/transport.go:1766 +0x26
>>>> fp=0xc00007bfe0 sp=0xc00007bfc8 pc=0x646f06
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00007bfe8
>>>> sp=0xc00007bfe0 pc=0x468201
>>>> created by net/http.(*Transport).dialConn
>>>> /usr/local/go/src/net/http/transport.go:1766 +0x1385
>>>>
>>>> goroutine 66 [GC worker (idle), 1 minutes]:
>>>> runtime.gopark(0x47c2b7?, 0xc000197550?, 0x60?, 0x2e?, 0xc0001b07b8?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc0001b0750
>>>> sp=0xc0001b0730 pc=0x4384c5
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1275 +0xac fp=0xc0001b07e0
>>>> sp=0xc0001b0750 pc=0x41a9cc
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001b07e8
>>>> sp=0xc0001b07e0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 67 [GC worker (idle)]:
>>>> runtime.gopark(0x56b9b720a2ab?, 0x3?, 0x98?, 0x2e?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc0001b3750
>>>> sp=0xc0001b3730 pc=0x4384c5
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1275 +0xac fp=0xc0001b37e0
>>>> sp=0xc0001b3750 pc=0x41a9cc
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001b37e8
>>>> sp=0xc0001b37e0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 62 [GC worker (idle)]:
>>>> runtime.gopark(0x56bac65159b5?, 0x3?, 0x20?, 0x3?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000041f50
>>>> sp=0xc000041f30 pc=0x4384c5
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1275 +0xac fp=0xc000041fe0
>>>> sp=0xc000041f50 pc=0x41a9cc
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000041fe8
>>>> sp=0xc000041fe0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 49 [GC worker (idle), 1 minutes]:
>>>> runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc0001b2f50
>>>> sp=0xc0001b2f30 pc=0x4384c5
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1275 +0xac fp=0xc0001b2fe0
>>>> sp=0xc0001b2f50 pc=0x41a9cc
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001b2fe8
>>>> sp=0xc0001b2fe0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 1119 [IO wait]:
>>>> runtime.gopark(0x0?, 0xb?, 0x0?, 0x0?, 0x8?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000079628
>>>> sp=0xc000079608 pc=0x4384c5
>>>> runtime.netpollblock(0x4989a5?, 0x4040af?, 0x0?)
>>>> /usr/local/go/src/runtime/netpoll.go:527 +0xf7 fp=0xc000079660
>>>> sp=0xc000079628 pc=0x431457
>>>> internal/poll.runtime_pollWait(0x7f589be65dc8, 0x72)
>>>> /usr/local/go/src/runtime/netpoll.go:306 +0x89 fp=0xc000079680
>>>> sp=0xc000079660 pc=0x462d09
>>>> internal/poll.(*pollDesc).wait(0xc000165600?, 0xc0000b9300?, 0x0)
>>>> /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x32
>>>> fp=0xc0000796a8 sp=0xc000079680 pc=0x4ae392
>>>> internal/poll.(*pollDesc).waitRead(...)
>>>> /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
>>>> internal/poll.(*FD).Read(0xc000165600, {0xc0000b9300, 0x1980, 0x1980})
>>>> /usr/local/go/src/internal/poll/fd_unix.go:167 +0x299
>>>> fp=0xc000079740 sp=0xc0000796a8 pc=0x4aef79
>>>> net.(*netFD).Read(0xc000165600, {0xc0000b9300?, 0xc0f11d716dafd30f?,
>>>> 0x1e27bf1e53?})
>>>> /usr/local/go/src/net/fd_posix.go:55 +0x29 fp=0xc000079788
>>>> sp=0xc000079740 pc=0x4e39a9
>>>> net.(*conn).Read(0xc000120280, {0xc0000b9300?, 0xc0f11d716dafd30f?,
>>>> 0x1e27bf1e53?})
>>>> /usr/local/go/src/net/net.go:183 +0x45 fp=0xc0000797d0
>>>> sp=0xc000079788 pc=0x4edfa5
>>>> net.(*TCPConn).Read(0xc000079868?, {0xc0000b9300?, 0xc00011ab70?,
>>>> 0x18?})
>>>> <autogenerated>:1 +0x29 fp=0xc000079800 sp=0xc0000797d0
>>>> pc=0x4f8d49
>>>> crypto/tls.(*atLeastReader).Read(0xc00011ab70, {0xc0000b9300?,
>>>> 0xc00011ab70?, 0xc000082ea0?})
>>>> /usr/local/go/src/crypto/tls/conn.go:788 +0x3d fp=0xc000079848
>>>> sp=0xc000079800 pc=0x5a84fd
>>>> bytes.(*Buffer).ReadFrom(0xc0002b2d10, {0x8ca360, 0xc00011ab70})
>>>> /usr/local/go/src/bytes/buffer.go:202 +0x98 fp=0xc0000798a0
>>>> sp=0xc000079848 pc=0x4c28f8
>>>> crypto/tls.(*Conn).readFromUntil(0xc0002b2a80, {0x8ca6c0?,
>>>> 0xc000120280}, 0x89e1759192b6b0e2?)
>>>> /usr/local/go/src/crypto/tls/conn.go:810 +0xc9 fp=0xc0000798e0
>>>> sp=0xc0000798a0 pc=0x5a86c9
>>>> crypto/tls.(*Conn).readRecordOrCCS(0xc0002b2a80, 0x0)
>>>> /usr/local/go/src/crypto/tls/conn.go:617 +0x1c5 fp=0xc000079c20
>>>> sp=0xc0000798e0 pc=0x5a6805
>>>> crypto/tls.(*Conn).readRecord(...)
>>>> /usr/local/go/src/crypto/tls/conn.go:583
>>>> crypto/tls.(*Conn).Read(0xc0002b2a80, {0xc00024e000, 0x1000, 0x0?})
>>>> /usr/local/go/src/crypto/tls/conn.go:1288 +0x16f
>>>> fp=0xc000079c90 sp=0xc000079c20 pc=0x5ab30f
>>>> net/http.(*persistConn).Read(0xc000430000, {0xc00024e000?, 0x406465?,
>>>> 0x60?})
>>>> /usr/local/go/src/net/http/transport.go:1943 +0x4e
>>>> fp=0xc000079cf0 sp=0xc000079c90 pc=0x64790e
>>>> bufio.(*Reader).fill(0xc000398060)
>>>> /usr/local/go/src/bufio/bufio.go:106 +0xff fp=0xc000079d28
>>>> sp=0xc000079cf0 pc=0x5ce1df
>>>> bufio.(*Reader).Peek(0xc000398060, 0x1)
>>>> /usr/local/go/src/bufio/bufio.go:144 +0x5d fp=0xc000079d48
>>>> sp=0xc000079d28 pc=0x5ce2fd
>>>> net/http.(*persistConn).readLoop(0xc000430000)
>>>> /usr/local/go/src/net/http/transport.go:2107 +0x1ac
>>>> fp=0xc000079fc8 sp=0xc000079d48 pc=0x64870c
>>>> net/http.(*Transport).dialConn.func5()
>>>> /usr/local/go/src/net/http/transport.go:1765 +0x26
>>>> fp=0xc000079fe0 sp=0xc000079fc8 pc=0x646f66
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000079fe8
>>>> sp=0xc000079fe0 pc=0x468201
>>>> created by net/http.(*Transport).dialConn
>>>> /usr/local/go/src/net/http/transport.go:1765 +0x1345
>>>>
>>>> goroutine 8 [GC worker (idle)]:
>>>> runtime.gopark(0x56b92c578e67?, 0x64a3c0?, 0x40?, 0x11?, 0x415701?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc0001b1f50
>>>> sp=0xc0001b1f30 pc=0x4384c5
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1275 +0xac fp=0xc0001b1fe0
>>>> sp=0xc0001b1f50 pc=0x41a9cc
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001b1fe8
>>>> sp=0xc0001b1fe0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 9 [GC worker (idle)]:
>>>> runtime.gopark(0x56bac6514ba5?, 0x1?, 0xaa?, 0xe5?, 0x1?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc000043750
>>>> sp=0xc000043730 pc=0x4384c5
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1275 +0xac fp=0xc0000437e0
>>>> sp=0xc000043750 pc=0x41a9cc
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000437e8
>>>> sp=0xc0000437e0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 82 [GC worker (idle)]:
>>>> runtime.gopark(0x56bac651511d?, 0x3?, 0x68?, 0x10?, 0x0?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc0001ac750
>>>> sp=0xc0001ac730 pc=0x4384c5
>>>> runtime.gcBgMarkWorker()
>>>> /usr/local/go/src/runtime/mgc.go:1275 +0xac fp=0xc0001ac7e0
>>>> sp=0xc0001ac750 pc=0x41a9cc
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001ac7e8
>>>> sp=0xc0001ac7e0 pc=0x468201
>>>> created by runtime.gcBgMarkStartWorkers
>>>> /usr/local/go/src/runtime/mgc.go:1199 +0x25
>>>>
>>>> goroutine 1094 [IO wait]:
>>>> runtime.gopark(0x7f589c018548?, 0xb?, 0x0?, 0x0?, 0x7?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc0001b15a0
>>>> sp=0xc0001b1580 pc=0x4384c5
>>>> runtime.netpollblock(0x4989a5?, 0x4040af?, 0x0?)
>>>> /usr/local/go/src/runtime/netpoll.go:527 +0xf7 fp=0xc0001b15d8
>>>> sp=0xc0001b15a0 pc=0x431457
>>>> internal/poll.runtime_pollWait(0x7f589be65fa8, 0x72)
>>>> /usr/local/go/src/runtime/netpoll.go:306 +0x89 fp=0xc0001b15f8
>>>> sp=0xc0001b15d8 pc=0x462d09
>>>> internal/poll.(*pollDesc).wait(0xc0003ea080?, 0xc0001dc6a1?, 0x0)
>>>> /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x32
>>>> fp=0xc0001b1620 sp=0xc0001b15f8 pc=0x4ae392
>>>> internal/poll.(*pollDesc).waitRead(...)
>>>> /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
>>>> internal/poll.(*FD).Read(0xc0003ea080, {0xc0001dc6a1, 0x1, 0x1})
>>>> /usr/local/go/src/internal/poll/fd_unix.go:167 +0x299
>>>> fp=0xc0001b16b8 sp=0xc0001b1620 pc=0x4aef79
>>>> net.(*netFD).Read(0xc0003ea080, {0xc0001dc6a1?, 0x7eb540?,
>>>> 0xc0001b1748?})
>>>> /usr/local/go/src/net/fd_posix.go:55 +0x29 fp=0xc0001b1700
>>>> sp=0xc0001b16b8 pc=0x4e39a9
>>>> net.(*conn).Read(0xc0000140b8, {0xc0001dc6a1?, 0xc0001d6310?,
>>>> 0xc00007e320?})
>>>> /usr/local/go/src/net/net.go:183 +0x45 fp=0xc0001b1748
>>>> sp=0xc0001b1700 pc=0x4edfa5
>>>> net.(*TCPConn).Read(0xc00041cfc0?, {0xc0001dc6a1?, 0xc00007e320?,
>>>> 0xc00009d8c0?})
>>>> <autogenerated>:1 +0x29 fp=0xc0001b1778 sp=0xc0001b1748
>>>> pc=0x4f8d49
>>>> net/http.(*connReader).backgroundRead(0xc0001dc690)
>>>> /usr/local/go/src/net/http/server.go:674 +0x3f fp=0xc0001b17c8
>>>> sp=0xc0001b1778 pc=0x62c0bf
>>>> net/http.(*connReader).startBackgroundRead.func2()
>>>> /usr/local/go/src/net/http/server.go:670 +0x26 fp=0xc0001b17e0
>>>> sp=0xc0001b17c8 pc=0x62bfe6
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001b17e8
>>>> sp=0xc0001b17e0 pc=0x468201
>>>> created by net/http.(*connReader).startBackgroundRead
>>>> /usr/local/go/src/net/http/server.go:670 +0xc5
>>>>
>>>> goroutine 1093 [select]:
>>>> runtime.gopark(0xc0000b2f00?, 0x6?, 0x25?, 0xd2?, 0xc0000b2d14?)
>>>> /usr/local/go/src/runtime/proc.go:381 +0xa5 fp=0xc0000b2b88
>>>> sp=0xc0000b2b68 pc=0x4384c5
>>>> runtime.selectgo(0xc0000b2f00, 0xc0000b2d08, 0xc000016f80?, 0x0,
>>>> 0xc0000b2dc0?, 0x1)
>>>> /usr/local/go/src/runtime/select.go:327 +0x58e fp=0xc0000b2cb8
>>>> sp=0xc0000b2b88 pc=0x447c6e
>>>> net/http.(*persistConn).roundTrip(0xc000430000, 0xc000197700)
>>>> /usr/local/go/src/net/http/transport.go:2638 +0x8d4
>>>> fp=0xc0000b2f70 sp=0xc0000b2cb8 pc=0x64af94
>>>> net/http.(*Transport).roundTrip(0xc000155900, 0xc0002b6700)
>>>> /usr/local/go/src/net/http/transport.go:603 +0x77f
>>>> fp=0xc0000b31a8 sp=0xc0000b2f70 pc=0x6401df
>>>> net/http.(*Transport).RoundTrip(0xc0002b6700?, 0x8ca7a0?)
>>>> /usr/local/go/src/net/http/roundtrip.go:17 +0x19
>>>> fp=0xc0000b31c8 sp=0xc0000b31a8 pc=0x62ad39
>>>> net/http.send(0xc0002b6600, {0x8ca7a0, 0xc000155900}, {0x8?, 0x831780?,
>>>> 0xb2dea0?})
>>>> /usr/local/go/src/net/http/client.go:252 +0x4fe fp=0xc0000b33c0
>>>> sp=0xc0000b31c8 pc=0x5f6b7e
>>>> net/http.(*Client).send(0xc0001dc8d0, 0xc0002b6600, {0xc0000b3470?,
>>>> 0x57836a?, 0xb2dea0?})
>>>> /usr/local/go/src/net/http/client.go:176 +0x9b fp=0xc0000b3438
>>>> sp=0xc0000b33c0 pc=0x5f64fb
>>>> net/http.(*Client).do(0xc0001dc8d0, 0xc0002b6600)
>>>> /usr/local/go/src/net/http/client.go:716 +0x7c6 fp=0xc0000b3640
>>>> sp=0xc0000b3438 pc=0x5f8326
>>>> net/http.(*Client).Do(...)
>>>> /usr/local/go/src/net/http/client.go:582
>>>> main.getXML({0xc0002d4290, 0x20})
>>>> /app/persondoc.go:230 +0x27d fp=0xc0000b3740 sp=0xc0000b3640
>>>> pc=0x6af71d
>>>> main.docHandler({0x7f589be67a38, 0xc0001976c0}, 0xc0000623e0?)
>>>> /app/persondoc.go:104 +0x129 fp=0xc0000b3818 sp=0xc0000b3740
>>>> pc=0x6aeb29
>>>> net/http.HandlerFunc.ServeHTTP(0x7e3220?, {0x7f589be67a38?,
>>>> 0xc0001976c0?}, 0xc0002d4284?)
>>>> /usr/local/go/src/net/http/server.go:2122 +0x2f fp=0xc0000b3840
>>>> sp=0xc0000b3818 pc=0x63304f
>>>> github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc00011e360,
>>>> {0x7f589be67a38, 0xc0001976c0}, 0xc0002b6500)
>>>> /go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:444
>>>> <http://github.com/go-chi/chi/[email protected]/mux.go:444> +0x1fe
>>>> fp=0xc0000b3890 sp=0xc0000b3840 pc=0x6a43fe
>>>> github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm({0x7f589be67a38
>>>> <http://github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm(%7B0x7f589be67a38>?,
>>>> 0xc0001976c0?}, 0xdf8475801?)
>>>> <autogenerated>:1 +0x3c fp=0xc0000b38c0 sp=0xc0000b3890
>>>> pc=0x6a7b7c
>>>> net/http.HandlerFunc.ServeHTTP(0x8cd138?, {0x7f589be67a38?,
>>>> 0xc0001976c0?}, 0xc0001e8800?)
>>>> /usr/local/go/src/net/http/server.go:2122 +0x2f fp=0xc0000b38e8
>>>> sp=0xc0000b38c0 pc=0x63304f
>>>> github.com/go-chi/chi/v5/middleware.Timeout.func1.1({0x7f589be67a38
>>>> <http://github.com/go-chi/chi/v5/middleware.Timeout.func1.1(%7B0x7f589be67a38>,
>>>>
>>>> 0xc0001976c0}, 0xc0002b6400)
>>>> /go/pkg/mod/
>>>> github.com/go-chi/chi/[email protected]/middleware/timeout.go:45
>>>> <http://github.com/go-chi/chi/[email protected]/middleware/timeout.go:45>
>>>> +0x179 fp=0xc0000b3978 sp=0xc0000b38e8 pc=0x6aa919
>>>> net/http.HandlerFunc.ServeHTTP(0xc0002b6300?, {0x7f589be67a38?,
>>>> 0xc0001976c0?}, 0x30?)
>>>> /usr/local/go/src/net/http/server.go:2122 +0x2f fp=0xc0000b39a0
>>>> sp=0xc0000b3978 pc=0x63304f
>>>> github.com/go-chi/chi/v5/middleware.RequestLogger.func1.1({0x8cce50
>>>> <http://github.com/go-chi/chi/v5/middleware.RequestLogger.func1.1(%7B0x8cce50>,
>>>>
>>>> 0xc00042e000}, 0xc0002b6300)
>>>> /go/pkg/mod/
>>>> github.com/go-chi/chi/[email protected]/middleware/logger.go:54
>>>> <http://github.com/go-chi/chi/[email protected]/middleware/logger.go:54>
>>>> +0x17d fp=0xc0000b3a58 sp=0xc0000b39a0 pc=0x6a891d
>>>> net/http.HandlerFunc.ServeHTTP(0x8cd090?, {0x8cce50?, 0xc00042e000?},
>>>> 0xaebf40?)
>>>> /usr/local/go/src/net/http/server.go:2122 +0x2f fp=0xc0000b3a80
>>>> sp=0xc0000b3a58 pc=0x63304f
>>>> github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc00011e360, {0x8cce50,
>>>> 0xc00042e000}, 0xc0002b6200)
>>>> /go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:90
>>>> <http://github.com/go-chi/chi/[email protected]/mux.go:90> +0x20d
>>>> fp=0xc0000b3ad8 sp=0xc0000b3a80 pc=0x6a344d
>>>> net/http.serverHandler.ServeHTTP({0xc0001dc690?}, {0x8cce50,
>>>> 0xc00042e000}, 0xc0002b6200)
>>>> /usr/local/go/src/net/http/server.go:2936 +0x2a9
>>>> fp=0xc0000b3b80 sp=0xc0000b3ad8 pc=0x6357a9
>>>> net/http.(*conn).serve(0xc0003e8090, {0x8cd138, 0xc0001137a0})
>>>> /usr/local/go/src/net/http/server.go:1995 +0x4d9
>>>> fp=0xc0000b3fb8 sp=0xc0000b3b80 pc=0x631e79
>>>> net/http.(*Server).Serve.func3()
>>>> /usr/local/go/src/net/http/server.go:3089 +0x2e fp=0xc0000b3fe0
>>>> sp=0xc0000b3fb8 pc=0x63602e
>>>> runtime.goexit()
>>>> /usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000b3fe8
>>>> sp=0xc0000b3fe0 pc=0x468201
>>>> created by net/http.(*Server).Serve
>>>> /usr/local/go/src/net/http/server.go:3089 +0x526
>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "golang-nuts" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/golang-nuts/QG0pNJAxQUA/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/golang-nuts/e6028f9b-b9d7-48a3-a001-11b323dda2c6n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/golang-nuts/e6028f9b-b9d7-48a3-a001-11b323dda2c6n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/golang-nuts/1837726d-55e8-45e8-9d5b-21bf9fb51092n%40googlegroups.com.