From 198f501afcd592d7caeff3f5ab3330f80bd804cd Mon Sep 17 00:00:00 2001 From: Ben Parees Date: Fri, 21 Aug 2015 16:42:23 -0400 Subject: [PATCH] Add stack dump to log on sigquit of sti builder --- pkg/cmd/infra/builder/builder.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkg/cmd/infra/builder/builder.go b/pkg/cmd/infra/builder/builder.go index d0d40ec4445a..e006a9afd5d6 100644 --- a/pkg/cmd/infra/builder/builder.go +++ b/pkg/cmd/infra/builder/builder.go @@ -1,6 +1,12 @@ package builder import ( + "os" + "os/signal" + "runtime" + "syscall" + + "github.com/golang/glog" "github.com/spf13/cobra" "github.com/openshift/origin/pkg/build/builder/cmd" @@ -28,6 +34,18 @@ func NewCommandSTIBuilder(name string) *cobra.Command { Short: "Run a Source-to-Images build", Long: stiBuilderLong, Run: func(c *cobra.Command, args []string) { + go func() { + for { + sigs := make(chan os.Signal, 1) + signal.Notify(sigs, syscall.SIGQUIT) + buf := make([]byte, 1<<20) + for { + <-sigs + runtime.Stack(buf, true) + glog.Infof("=== received SIGQUIT ===\n*** goroutine dump...\n%s\n*** end\n", buf) + } + } + }() cmd.RunSTIBuild() }, }