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 <james...@gmail.com>: > >> 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/v...@v5.0.8/mux.go:444 >>>> <http://github.com/go-chi/chi/v5@v5.0.8/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/v...@v5.0.8/middleware/timeout.go:45 >>>> <http://github.com/go-chi/chi/v5@v5.0.8/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/v...@v5.0.8/middleware/logger.go:54 >>>> <http://github.com/go-chi/chi/v5@v5.0.8/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/v...@v5.0.8/mux.go:90 >>>> <http://github.com/go-chi/chi/v5@v5.0.8/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 >> golang-nuts...@googlegroups.com. >> 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 golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/1837726d-55e8-45e8-9d5b-21bf9fb51092n%40googlegroups.com.