ochinchina / supervisord

a go-lang supervisor implementation
MIT License
4.03k stars 569 forks source link

Crash on CentOS 8 Stream #380

Open PRNDA opened 1 year ago

PRNDA commented 1 year ago
 [root@vm01 opt]# uname -a
Linux vm01 4.18.0-486.el8.x86_64 #1 SMP Thu Apr 13 17:32:54 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

error info:


[root@vm01 opt]# ./supervisord ctl status
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x63 pc=0x7fe141f88bd0]

runtime stack:
runtime.throw(0xb4ad52, 0x2a)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/runtime/panic.go:1116 +0x72
runtime.sigpanic()
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/runtime/signal_unix.go:726 +0x4ac

goroutine 23 [syscall]:
runtime.cgocall(0x956420, 0xc00004b5c0, 0xc0000a21c8)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/runtime/cgocall.go:133 +0x5b fp=0xc00004b590 sp=0xc00004b558 pc=0x40457b
net._C2func_getaddrinfo(0xc0000ba340, 0x0, 0xc0000ad140, 0xc0000a21c8, 0x0, 0x0, 0x0)
        _cgo_gotypes.go:94 +0x55 fp=0xc00004b5c0 sp=0xc00004b590 pc=0x5d0835
net.cgoLookupIPCNAME.func1(0xc0000ba340, 0xa, 0xa, 0xc0000ad140, 0xc0000a21c8, 0x0, 0xc00004b6a0, 0x5d3d52)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/cgo_unix.go:161 +0xc5 fp=0xc00004b608 sp=0xc00004b5c0 pc=0x5d66a5
net.cgoLookupIPCNAME(0xb344ca, 0x3, 0xc0000ba200, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/cgo_unix.go:161 +0x16b fp=0xc00004b718 sp=0xc00004b608 pc=0x5d1d4b
net.cgoIPLookup(0xc0000cc480, 0xb344ca, 0x3, 0xc0000ba200, 0x9)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/cgo_unix.go:218 +0x67 fp=0xc00004b7b8 sp=0xc00004b718 pc=0x5d2487
runtime.goexit()
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc00004b7c0 sp=0xc00004b7b8 pc=0x46c721
created by net.cgoLookupIP
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/cgo_unix.go:228 +0xc7

goroutine 1 [select]:
net/http.(*Transport).getConn(0x113f400, 0xc0000ca080, 0x0, 0xc0000d0260, 0x4, 0xc0000ba200, 0xe, 0x0, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/transport.go:1350 +0x5ac
net/http.(*Transport).roundTrip(0x113f400, 0xc0000c2100, 0x1000000000030, 0x7fe16bfe2b78, 0x150)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/transport.go:569 +0x7ce
net/http.(*Transport).RoundTrip(0x113f400, 0xc0000c2100, 0x113f400, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc0000c2100, 0xbf5fa0, 0x113f400, 0x0, 0x0, 0x0, 0xc0000a2198, 0x203000, 0x1, 0x0)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/client.go:252 +0x453
net/http.(*Client).send(0x11863e0, 0xc0000c2100, 0x0, 0x0, 0x0, 0xc0000a2198, 0x0, 0x1, 0x7fe16bfd67d0)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/client.go:176 +0xff
net/http.(*Client).do(0x11863e0, 0xc0000c2100, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/client.go:718 +0x45f
net/http.(*Client).Do(...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/client.go:586
github.com/ochinchina/supervisord/xmlrpcclient.(*XMLRPCClient).postInetHTTP(0xc0000ca040, 0xb41aeb, 0x1c, 0xc0000d0260, 0x1a, 0xa54e40, 0x11bddf8, 0xc00015db48)
        /home/travis/gopath/src/github.com/ochinchina/supervisord/xmlrpcclient/xmlrpc-client.go:123 +0xe6
github.com/ochinchina/supervisord/xmlrpcclient.(*XMLRPCClient).post(0xc0000ca040, 0xb41aeb, 0x1c, 0xa54e40, 0x11bddf8, 0xc00015db48)
        /home/travis/gopath/src/github.com/ochinchina/supervisord/xmlrpcclient/xmlrpc-client.go:184 +0x150
github.com/ochinchina/supervisord/xmlrpcclient.(*XMLRPCClient).GetAllProcessInfo(0xc0000ca040, 0xc0000abc70, 0xc00015dbc0, 0x4f3a0d, 0x0, 0x0)
        /home/travis/gopath/src/github.com/ochinchina/supervisord/xmlrpcclient/xmlrpc-client.go:208 +0xba
main.(*CtlCommand).status(0x1186560, 0xc0000ca040, 0xc00009c4e0, 0x0, 0x2)
        /home/travis/gopath/src/github.com/ochinchina/supervisord/ctl.go:186 +0x117
main.(*StatusCommand).Execute(0x11bdb40, 0xc00009c4e0, 0x0, 0x2, 0x0, 0x7fe143b47898)
        /home/travis/gopath/src/github.com/ochinchina/supervisord/ctl.go:372 +0x5b
main.(*CmdCheckWrapperCommand).Execute(0x1138220, 0xc00009c4e0, 0x0, 0x2, 0x1138220, 0x1)
        /home/travis/gopath/src/github.com/ochinchina/supervisord/ctl.go:467 +0x195
github.com/jessevdk/go-flags.(*Parser).ParseArgs(0xc0000c4000, 0xc000020190, 0x2, 0x2, 0xc00015df78, 0x406f65, 0xc00007c058, 0x0, 0x0)
        /home/travis/gopath/pkg/mod/github.com/jessevdk/go-flags@v1.5.0/parser.go:335 +0x89b
github.com/jessevdk/go-flags.(*Parser).Parse(...)
        /home/travis/gopath/pkg/mod/github.com/jessevdk/go-flags@v1.5.0/parser.go:191
main.main()
        /home/travis/gopath/src/github.com/ochinchina/supervisord/main.go:160 +0x7d

goroutine 6 [chan receive]:
github.com/ochinchina/supervisord/events.startTickTimer.func1(0xc000020fc0)
        /home/travis/gopath/src/github.com/ochinchina/supervisord/events/events.go:288 +0x325
created by github.com/ochinchina/supervisord/events.startTickTimer
        /home/travis/gopath/src/github.com/ochinchina/supervisord/events/events.go:284 +0xfd

goroutine 18 [sleep]:
time.Sleep(0x2540be400)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/runtime/time.go:188 +0xbf
github.com/ochinchina/filechangemonitor.(*FileChangeMonitor).start.func1(0xc0000ac0c0)
        /home/travis/gopath/pkg/mod/github.com/ochinchina/filechangemonitor@v0.3.1/file_change_monitor.go:118 +0x157
created by github.com/ochinchina/filechangemonitor.(*FileChangeMonitor).start
        /home/travis/gopath/pkg/mod/github.com/ochinchina/filechangemonitor@v0.3.1/file_change_monitor.go:104 +0x3f

goroutine 19 [select]:
github.com/robfig/cron/v3.(*Cron).run(0xc0000be000)
        /home/travis/gopath/pkg/mod/github.com/robfig/cron/v3@v3.0.1/cron.go:263 +0x545
created by github.com/robfig/cron/v3.(*Cron).Start
        /home/travis/gopath/pkg/mod/github.com/robfig/cron/v3@v3.0.1/cron.go:222 +0xa5

goroutine 21 [select]:
net.(*Resolver).lookupIPAddr(0x1185b20, 0xc00fc0, 0xc0000cc240, 0xb344ca, 0x3, 0xc0000ba200, 0x9, 0x2329, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/lookup.go:299 +0x685
net.(*Resolver).internetAddrList(0x1185b20, 0xc00fc0, 0xc0000cc240, 0xb344ca, 0x3, 0xc0000ba200, 0xe, 0x0, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/ipsock.go:280 +0x4d4
net.(*Resolver).resolveAddrList(0x1185b20, 0xc00fc0, 0xc0000cc240, 0xb3487d, 0x4, 0xb344ca, 0x3, 0xc0000ba200, 0xe, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/dial.go:221 +0x47d
net.(*Dialer).DialContext(0xc000078240, 0xc00f80, 0xc00002a098, 0xb344ca, 0x3, 0xc0000ba200, 0xe, 0x0, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/dial.go:403 +0x22b
net/http.(*Transport).dial(0x113f400, 0xc00f80, 0xc00002a098, 0xb344ca, 0x3, 0xc0000ba200, 0xe, 0x0, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/transport.go:1144 +0x1fd
net/http.(*Transport).dialConn(0x113f400, 0xc00f80, 0xc00002a098, 0x0, 0xc0000d0260, 0x4, 0xc0000ba200, 0xe, 0x0, 0xc0000ae900, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/transport.go:1582 +0x1adb
net/http.(*Transport).dialConnFor(0x113f400, 0xc0000de000)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/transport.go:1424 +0xc6
created by net/http.(*Transport).queueForDial
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/http/transport.go:1393 +0x40f

goroutine 22 [select]:
net.cgoLookupIP(0xc00f40, 0xc0000ca100, 0xb344ca, 0x3, 0xc0000ba200, 0x9, 0x0, 0x0, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/cgo_unix.go:229 +0x199
net.(*Resolver).lookupIP(0x1185b20, 0xc00f40, 0xc0000ca100, 0xb344ca, 0x3, 0xc0000ba200, 0x9, 0x0, 0x0, 0x0, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/lookup_unix.go:96 +0x187
net.glob..func1(0xc00f40, 0xc0000ca100, 0xc0000c8600, 0xb344ca, 0x3, 0xc0000ba200, 0x9, 0xc00002a098, 0x0, 0xc0000d0260, ...)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/hook.go:23 +0x72
net.(*Resolver).lookupIPAddr.func1(0x0, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/net/lookup.go:293 +0xb9
internal/singleflight.(*Group).doCall(0x1185b30, 0xc0000b80f0, 0xc0000ba210, 0xd, 0xc0000ca140)
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/internal/singleflight/singleflight.go:95 +0x2e
created by internal/singleflight.(*Group).DoChan
        /home/travis/.gimme/versions/go1.15.11.linux.amd64/src/internal/singleflight/singleflight.go:88 +0x2cc
ochinchina commented 1 week ago

please recompile it under centos 8 stream