mulbc / gosbench

Distributed S3 benchmarking tool - Replacement of Cosbench
GNU General Public License v3.0
42 stars 16 forks source link

panic: reflect: reflect.Value.SetInt using unaddressable value [recovered] with stop_with_runtime parameter #16

Open manches opened 1 year ago

manches commented 1 year ago

Describe the bug When setting the parameter stop_with_runtime with a value, it give a error

To Reproduce Steps to reproduce the behavior:

  1. Config a yaml with the value: "stop_with_runtime: 900s" for example
  2. Start server with yaml
  3. See error [root@server bin]# ./server -c /root/s3-config2.yaml panic: reflect: reflect.Value.SetInt using unaddressable value [recovered] panic: reflect: reflect.Value.SetInt using unaddressable value [recovered] panic: reflect: reflect.Value.SetInt using unaddressable value

goroutine 1 [running]: gopkg.in/yaml%2ev3.handleErr(0xc0000dfd28) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/yaml.go:294 +0x6d panic({0x552cc0, 0xc000094fc0}) /usr/lib/golang/src/runtime/panic.go:838 +0x207 gopkg.in/yaml%2ev3.handleErr(0xc0000ded90) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/yaml.go:294 +0x6d panic({0x552cc0, 0xc000094fc0}) /usr/lib/golang/src/runtime/panic.go:838 +0x207 reflect.flag.mustBeAssignableSlow(0x40bee7?) /usr/lib/golang/src/reflect/value.go:262 +0x85 reflect.flag.mustBeAssignable(...) /usr/lib/golang/src/reflect/value.go:249 reflect.Value.SetInt({0x56cfa0?, 0x67bdc0?, 0x1?}, 0xd18c2e2800) /usr/lib/golang/src/reflect/value.go:2163 +0x48 gopkg.in/yaml%2ev3.(decoder).scalar(0x56cfa0?, 0xc0000f8a00, {0x56cfa0?, 0x67bdc0?, 0x0?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:647 +0xa54 gopkg.in/yaml%2ev3.(decoder).unmarshal(0xc0000bd650, 0xc0000f8a00, {0x56cfa0?, 0x67bdc0?, 0x0?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:505 +0x385 gopkg.in/yaml%2ev3.(decoder).callObsoleteUnmarshaler.func1({0x56cfa0?, 0x67bdc0?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:378 +0x125 github.com/mulbc/gosbench/common.(Duration).UnmarshalYAML(0xc0000e4420, 0xc0000be160) /root/go/pkg/mod/github.com/mulbc/gosbench@v0.0.0-20220719091319-d9e82dc1c4ed/common/configFile.go:246 +0x39 gopkg.in/yaml%2ev3.(decoder).callObsoleteUnmarshaler(0xc0000bd650, 0xc0000f8a00, {0x7f06c85eb838, 0xc0000e4420}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:376 +0xa7 gopkg.in/yaml%2ev3.(decoder).prepare(0x559d80?, 0xc0000e4420?, {0x559d80?, 0xc0000e4420?, 0xc000094cc0?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:424 +0x228 gopkg.in/yaml%2ev3.(decoder).unmarshal(0xc0000bd650, 0xc0000f8a00, {0x559d80?, 0xc0000e4420?, 0xc0000df008?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:499 +0x255 gopkg.in/yaml%2ev3.(decoder).mappingStruct(0xc0000bd650, 0xc0000b4e60, {0x575920?, 0xc0000e4360?, 0xc0000df270?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:932 +0xd1b gopkg.in/yaml%2ev3.(decoder).mapping(0xc0000bd650, 0xc0000b4e60, {0x575920?, 0xc0000e4360?, 0x7f06c85e17e8?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:783 +0xbe gopkg.in/yaml%2ev3.(decoder).unmarshal(0xc0000bd650, 0xc0000b4e60, {0x54c880?, 0xc0000a80d0?, 0xc0000a2120?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:507 +0x3a5 gopkg.in/yaml%2ev3.(decoder).sequence(0x54f8a0?, 0xc0000b4dc0, {0x54f8a0?, 0xc0000c0260?, 0xc000094a30?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:750 +0x26f gopkg.in/yaml%2ev3.(decoder).unmarshal(0xc0000bd650, 0xc0000b4dc0, {0x54f8a0?, 0xc0000c0260?, 0x0?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:509 +0x34f gopkg.in/yaml%2ev3.(decoder).mappingStruct(0xc0000bd650, 0xc0000b45a0, {0x566680?, 0xc0000c0240?, 0xc0000df958?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:932 +0xd1b gopkg.in/yaml%2ev3.(decoder).mapping(0xc0000bd650, 0xc0000b45a0, {0x566680?, 0xc0000c0240?, 0x0?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:783 +0xbe gopkg.in/yaml%2ev3.(decoder).unmarshal(0xc0000bd650, 0xc0000b45a0, {0x566680?, 0xc0000c0240?, 0xc0000dfc60?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:507 +0x3a5 gopkg.in/yaml%2ev3.(decoder).document(0x566680?, 0xc0000c0240?, {0x566680?, 0xc0000c0240?, 0xc000086400?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:524 +0x5d gopkg.in/yaml%2ev3.(*decoder).unmarshal(0xc0000bd650, 0xc0000b4500, {0x566680?, 0xc0000c0240?, 0xc0000dfcf0?}) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/decode.go:495 +0x415 gopkg.in/yaml%2ev3.unmarshal({0xc0000e8000, 0x31b, 0x31c}, {0x54c8c0?, 0xc0000c0240}, 0x40?) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/yaml.go:167 +0x406 gopkg.in/yaml%2ev3.Unmarshal(...) /root/go/pkg/mod/gopkg.in/yaml.v3@v3.0.0-20220512140231-539c8e751b99/yaml.go:89 main.loadConfigFromFile({0xc0000e8000, 0x31b, 0x31c}) /root/go/pkg/mod/github.com/mulbc/gosbench@v0.0.0-20220719091319-d9e82dc1c4ed/server/main.go:56 +0x1f5 main.main() /root/go/pkg/mod/github.com/mulbc/gosbench@v0.0.0-20220719091319-d9e82dc1c4ed/server/main.go:77 +0xb1

Config

s3_config:

tests:

Without 900s as value, the server works

Environment (please complete the following information):