{"push_id":1442893752,"size":4,"distinct_size":1,"ref":"refs/heads/master","head":"47b3d3d73f26edc05dddf0a2e78629180161a95f","before":"1afbd68e50fea66022386fc190b3d59f7b2b159f","commits":[{"sha":"2cff118f5453df922de161aa5833fb369e5c7d07","author":{"name":"Damien Lespiau","email":"694d5259db294d98d846779bc864adafabdc6716@intel.com"},"message":"hyperstart: Don't reset the connections to nil in CloseSockets()\n\nThere's a problem in reseting those sockets to nil when\nCloseSockets() is called but other hyperstart methods are\nbeing run in go routines. The methods in the goroutines\nend up trying to dereference nil.\n\nIt's safer to just close the socket so the goroutines in\nflight can still can Read() or Write() on them, which is\nexit with io.EOF.\n\nThis trace is from killing the cc-shim process trying to\nsend a CTL message in the middle of tearing down the VM\n(so CTL socket is closed):\n\n    panic: runtime error: invalid memory address or nil pointer dereference\n    [signal SIGSEGV: segmentation violation code=0x1 addr=0x58 pc=0x4e0044]\n\n    goroutine 56 [running]:\n    panic(0x540220, 0xc4200100f0)\n    \t/home/damien/go-1.7/src/runtime/panic.go:500 +0x1a1\n    github.com/containers/virtcontainers/hyperstart.(*Hyperstart).writeCtlMessage(0xc4200ce600, 0xc4201d3d08, 0xc400000012, 0x0)\n    \tgithub.com/containers/virtcontainers/hyperstart/hyperstart.go:255 +0x1f4\n    github.com/containers/virtcontainers/hyperstart.(*Hyperstart).SendCtlMessage(0xc4200ce600, 0xc42012f830, 0xd, 0xc4200ce720, 0x5d, 0x60, 0x0, 0x0, 0x0)\n    \tgithub.com/containers/virtcontainers/hyperstart/hyperstart.go:400 +0x139\n    main.(*vm).SendMessage(0xc4200ce660, 0xc42012f830, 0xd, 0xc4200ce720, 0x5d, 0x60, 0x4, 0x5)\n    \tgithub.com/01org/cc-oci-runtime/proxy/vm.go:203 +0x64\n    main.hyperHandler(0xc42012a360, 0x82, 0x90, 0x540820, 0xc4201bc5a0, 0xc4201de060)\n    \tgithub.com/01org/cc-oci-runtime/proxy/proxy.go:243 +0x248\n    main.(*protocol).handleRequest(0xc420026040, 0xc4201d3ee0, 0xc4201bc8d0, 0xc4201de060, 0x0)\n    \tgithub.com/01org/cc-oci-runtime/proxy/protocol.go:95 +0xca\n    main.(*protocol).Serve(0xc420026040, 0x60bcc0, 0xc4201120b0, 0x540820, 0xc4201bc5a0, 0x0, 0x0)\n    \tgithub.com/01org/cc-oci-runtime/proxy/protocol.go:129 +0x181\n    main.(*proxy).serveNewClient(0xc42000c6c0, 0xc420026040, 0x60bcc0, 0xc4201120b0)\n    \tgithub.com/01org/cc-oci-runtime/proxy/proxy.go:314 +0x137\n    created by main.(*proxy).serve\n    \tgithub.com/01org/cc-oci-runtime/proxy/proxy.go:341 +0x4a5\n\nNot that I had a similar fix before we moved to virtconainers, but it\ngot lost.  See cc-oci-runtime commit:\n\n    commit 617fb27b489a0e893f9aad87218cd4e19a27f569\n    Author: Damien Lespiau <damien.lespiau@intel.com>\n    Date:   Fri Oct 14 12:38:16 2016 +0100\n\n      proxy/vm: Set ctl/io sockets to nil after goroutine have finished\n\nSigned-off-by: Damien Lespiau <damien.lespiau@intel.com>\nSigned-off-by: Samuel Ortiz <sameo@linux.intel.com>","distinct":false,"url":"https://api.github.com/repos/containers/virtcontainers/commits/2cff118f5453df922de161aa5833fb369e5c7d07"},{"sha":"88a90e8e0a3c1ece4d40268456031594cdf1a3c6","author":{"name":"Samuel Ortiz","email":"0d21f9d17aa247920ac3c1f9d681642090ceba5b@linux.intel.com"},"message":"hyperstart: Track io and ctl socket states\n\nSince we no longer set them to nil when closing,\nwe still need a way to know if they're closed or not.\nOtherwise we could for example try to close them twice\nand generate an error.\n\nSigned-off-by: Samuel Ortiz <sameo@linux.intel.com>","distinct":false,"url":"https://api.github.com/repos/containers/virtcontainers/commits/88a90e8e0a3c1ece4d40268456031594cdf1a3c6"},{"sha":"0ac32ebcb90379b164c139f62c052436efa6c542","author":{"name":"Samuel Ortiz","email":"0d21f9d17aa247920ac3c1f9d681642090ceba5b@linux.intel.com"},"message":"hyperstart: Use hyperstart APIs for mock connection\n\nAnd do not open code it.\n\nSigned-off-by: Samuel Ortiz <sameo@linux.intel.com>","distinct":false,"url":"https://api.github.com/repos/containers/virtcontainers/commits/0ac32ebcb90379b164c139f62c052436efa6c542"},{"sha":"47b3d3d73f26edc05dddf0a2e78629180161a95f","author":{"name":"Samuel Ortiz","email":"0d21f9d17aa247920ac3c1f9d681642090ceba5b@linux.intel.com"},"message":"Merge pull request #76 from containers/sameo/topic/hyperstart\n\nhyperstart: Don't reset the connections to nil in CloseSockets()","distinct":true,"url":"https://api.github.com/repos/containers/virtcontainers/commits/47b3d3d73f26edc05dddf0a2e78629180161a95f"}]}
{"actor":{"display_login":"sameo"}}