maliceio / malice

VirusTotal Wanna Be - Now with 100% more Hipster
Apache License 2.0
1.63k stars 266 forks source link

Some kind of a race condition happening when upgrading plugins #86

Open blacktop opened 5 years ago

blacktop commented 5 years ago

Describe the bug

Sometimes when doing a plugin update (essentially just a docker pull) it gives a seg fault ?!!?

I need to re-write that.

blacktop commented 5 years ago
$ malice plugin update --all

latest: Pulling from library/busybox
Digest: sha256:7964ad52e396a6e045c39b5a44438424ac52e12e4d5a25d94895f2058cb863a0
Status: Image is up to date for busybox:latest
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1577f35]

goroutine 1 [running]:
github.com/maliceio/malice/malice/docker/client/image.Pull(0xc000396a20, 0xc000291640, 0x18, 0x17306c3, 0x6)
    /Users/blacktop/go/src/github.com/maliceio/malice/malice/docker/client/image/image.go:40 +0x95
github.com/maliceio/malice/plugins.UpdateEnabledPlugins(0xc000396a20)
    /Users/blacktop/go/src/github.com/maliceio/malice/plugins/plugins.go:250 +0xcd
github.com/maliceio/malice/commands.cmdUpdatePlugin(0x0, 0x0, 0x1, 0x0, 0xc000231740)
    /Users/blacktop/go/src/github.com/maliceio/malice/commands/plugin.go:161 +0x20f
github.com/maliceio/malice/commands.glob..func8(0xc0000bf1e0, 0x0, 0xc0000bf1e0)
    /Users/blacktop/go/src/github.com/maliceio/malice/commands/commands.go:138 +0xc1
github.com/maliceio/malice/vendor/github.com/urfave/cli.HandleAction(0x162b880, 0x1758ff8, 0xc0000bf1e0, 0xc000231700, 0x0)
    /Users/blacktop/go/src/github.com/maliceio/malice/vendor/github.com/urfave/cli/app.go:490 +0xc8
github.com/maliceio/malice/vendor/github.com/urfave/cli.Command.Run(0x173087f, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x173450f, 0xd, 0x0, ...)
    /Users/blacktop/go/src/github.com/maliceio/malice/vendor/github.com/urfave/cli/command.go:210 +0x990
github.com/maliceio/malice/vendor/github.com/urfave/cli.(*App).RunAsSubcommand(0xc0000ab520, 0xc0000bef20, 0x0, 0x0)
    /Users/blacktop/go/src/github.com/maliceio/malice/vendor/github.com/urfave/cli/app.go:379 +0x7ef
github.com/maliceio/malice/vendor/github.com/urfave/cli.Command.startApp(0x1730735, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17400fb, 0x1f, 0x0, ...)
    /Users/blacktop/go/src/github.com/maliceio/malice/vendor/github.com/urfave/cli/command.go:298 +0x808
github.com/maliceio/malice/vendor/github.com/urfave/cli.Command.Run(0x1730735, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17400fb, 0x1f, 0x0, ...)
    /Users/blacktop/go/src/github.com/maliceio/malice/vendor/github.com/urfave/cli/command.go:98 +0x1237
github.com/maliceio/malice/vendor/github.com/urfave/cli.(*App).Run(0xc0000ab380, 0xc0000a80c0, 0x4, 0x4, 0x0, 0x0)
    /Users/blacktop/go/src/github.com/maliceio/malice/vendor/github.com/urfave/cli/app.go:255 +0x687
main.main()
    /Users/blacktop/go/src/github.com/maliceio/malice/main.go:88 +0x4b2