Indeed, setting -wb=false is going to break ~every program. It is intended only to be used in some very specialized tests (that don't run the code in question).
On Sunday, November 17, 2024 at 6:53:35 PM UTC-8 蔺林 wrote: > 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/705feb94-7d15-4278-94ef-156971821c24n%40googlegroups.com.