Aptomi / k8s-app-engine

Application delivery engine for k8s
Apache License 2.0
163 stars 19 forks source link

Rare smoke test failure with "interface conversion: interface {} is nil, not string" #328

Closed romangithub1024 closed 6 years ago

romangithub1024 commented 6 years ago

Steps to repro:

time while ./tools/smoke.sh; do :; done

Result (after 10 min):

Revision 17 completed. Actions: 27 succeeded, 0 failed, 0 skipped
INFO[0000] Using config file: /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.Njf2T2im/config.yaml
INFO[0000] Current config saved to: /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.Njf2T2im/config.yaml.bak
INFO[0000] Config successfully updated with token
INFO[0000] Using config file: /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.Njf2T2im/config.yaml
Found value is equal to expected 17 for query .Metadata.Generation
INFO[0000] Using config file: /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.Njf2T2im/config.yaml
INFO[0000] Loading policy objects:
INFO[0000]   [*] /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.zDPTyEwb/policy/alice-dev-ts.yaml
INFO[0000]   -> dependency alice_dev in social
DEPENDENCY                  FOUND   DEPLOYED
social/dependency/alice_dev yes     yes
INFO[0000] Using config file: /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.Njf2T2im/config.yaml
INFO[0000] Current config saved to: /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.Njf2T2im/config.yaml.bak
INFO[0000] Config successfully updated with token
INFO[0000] Using config file: /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.Njf2T2im/config.yaml
INFO[0000] Loading policy objects:
INFO[0000]   [*] /var/folders/b6/vtxdyx5j1tngkd938bzqhm1m0000gn/T/tmp.zDPTyEwb/policy/bob-dev-ts.yaml
INFO[0000]   -> dependency bob_dev in social
Event Log (>warning):
* no entries
FATA[0000] interface conversion: interface {} is nil, not string
Stopping server...
No errors found in server logs
./tools/smoke.sh: line 31: 72285 Terminated: 15          aptomi server --config ${CONF_DIR} >&${CONF_DIR}/server.log
romangithub1024 commented 6 years ago

Full trace:

Event Log (>warning):
* no entries
INFO[0000] goroutine 1 [running]:
runtime/debug.Stack(0xc4207853c8, 0x2688dc0, 0xc420364840)
    /usr/local/Cellar/go/1.10.2/libexec/src/runtime/debug/stack.go:24 +0xa7
main.main.func1()
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/cmd/aptomictl/main.go:16 +0x5a
panic(0x2688dc0, 0xc420364840)
    /usr/local/Cellar/go/1.10.2/libexec/src/runtime/panic.go:502 +0x229
sort.medianOfThree(0x29f9da0, 0xc4200c76a0, 0x16, 0x11, 0x1b)
    /usr/local/Cellar/go/1.10.2/libexec/src/sort/sort.go:76 +0x49
sort.doPivot(0x29f9da0, 0xc4200c76a0, 0x0, 0x2c, 0x10, 0x3c6d458)
    /usr/local/Cellar/go/1.10.2/libexec/src/sort/sort.go:102 +0x5e7
sort.quickSort(0x29f9da0, 0xc4200c76a0, 0x0, 0x2c, 0xc)
    /usr/local/Cellar/go/1.10.2/libexec/src/sort/sort.go:190 +0x8a
sort.Sort(0x29f9da0, 0xc4200c76a0)
    /usr/local/Cellar/go/1.10.2/libexec/src/sort/sort.go:218 +0x79
github.com/Aptomi/aptomi/pkg/engine/apply/action.(*PlanAsText).ToString(0xc4200c6c80, 0x8, 0xc420785938)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/pkg/engine/apply/action/action_plan_text.go:36 +0x92
github.com/Aptomi/aptomi/pkg/api.(*PolicyUpdateResult).AsColumns(0xc420519340, 0xc4200c7640)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/pkg/api/policy.go:92 +0x129
github.com/Aptomi/aptomi/cmd/common.textMarshal(0xc420358f80, 0x1, 0x1, 0x4, 0x0, 0x367dcc0)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/cmd/common/format.go:59 +0x33f
github.com/Aptomi/aptomi/cmd/common.Format(0x2887df9, 0x4, 0x0, 0xc420358f80, 0x1, 0x1, 0x0, 0x0, 0x2665c40, 0xc420586ba0, ...)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/cmd/common/format.go:27 +0x355
github.com/Aptomi/aptomi/cmd/aptomictl/policy.newHandlePolicyChangesCommand.func1(0xc4202da900, 0xc4202e6a80, 0x0, 0x7)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/cmd/aptomictl/policy/apply_delete.go:70 +0x480
github.com/Aptomi/aptomi/vendor/github.com/spf13/cobra.(*Command).execute(0xc4202da900, 0xc4202e6a10, 0x7, 0x7, 0xc4202da900, 0xc4202e6a10)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/vendor/github.com/spf13/cobra/command.go:702 +0x2c6
github.com/Aptomi/aptomi/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x366eac0, 0xc4203258c0, 0xc4200aa180, 0xc420785f18)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/vendor/github.com/spf13/cobra/command.go:783 +0x2e4
github.com/Aptomi/aptomi/vendor/github.com/spf13/cobra.(*Command).Execute(0x366eac0, 0x291a420, 0x367ca80)
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/vendor/github.com/spf13/cobra/command.go:736 +0x2b
main.main()
    /Users/ralekseenkov-mini/go/src/github.com/Aptomi/aptomi/cmd/aptomictl/main.go:21 +0x12f

FATA[0000] interface conversion: interface {} is nil, not string