Comment 11 for bug 1579135

Revision history for this message
Jamie Strandboge (jdstrand) wrote : Re: kernel BUG on snap disconnect from within a snap

In my first attempt I didn't use --devmode.

However, I can't seem to make the snap work in a xenial amd64 VM.

I tried the original snap with:
$ sudo snap install --devmode ./snappy-tests_0.1_amd64.snap
$ snappy-tests -check.f homeInterfaceSuite
...
... Error reading config: open integration-tests/data/output/testconfig.json: no such file or directory

I then created a new snap with:
$ sudo apt-get install snapcraft
$ sudo unsquashfs /var/lib/snapd/snaps/snappy-tests_100001.snap
$ sudo vi ./squashfs-root/command-snappy-tests.wrapper
adjust to be:
export GOPATH=$SNAP_USER_DATA/go
mkdir "$GOPATH"
$ adjust ./squashfs-root/snap.yaml
adjust version to be: 0.1+jdstrand1
$ sudo snap install --devmode ./snappy-tests_0.1+jdstrand1_amd64.snap
sudo systemctl stop snappy-autopilot.timer
sudo: no tty present and no askpass program specified
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x53b74f]

goroutine 1 [running]:
panic(0x94a020, 0xc8200100e0)
 /usr/lib/go-1.6/src/runtime/panic.go:464 +0x3e6
gopkg.in/check%2ev1.(*methodType).PC(0x0, 0x5544e6)
 /home/plars/work/snappy/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/check.go:60 +0x4f
gopkg.in/check%2ev1.(*C).logCaller(0xc8200e61e0, 0x3)
 /home/plars/work/snappy/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/check.go:284 +0xa1
gopkg.in/check%2ev1.(*C).internalCheck(0xc8200e61e0, 0x9f39b8, 0x6, 0x9cda80, 0xc8201970c0, 0x7feac3fb2568, 0xc820026028, 0xc82004fd88, 0x0, 0x1, ...)
 /home/plars/work/snappy/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/helpers.go:216 +0xeaf
gopkg.in/check%2ev1.(*C).Assert(0xc8200e61e0, 0x9cda80, 0xc8201970c0, 0x7feac3fb2568, 0xc820026028, 0xc82004fd88, 0x1, 0x1)
 /home/plars/work/snappy/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/helpers.go:173 +0x8c
github.com/ubuntu-core/snappy/integration-tests/testutils/cli.ExecCommand(0xc8200e61e0, 0xc820013b40, 0x4, 0x4, 0x0, 0x0)
 /home/plars/work/snappy/snappy-tests/parts/snappy-tests/go/src/github.com/ubuntu-core/snappy/integration-tests/testutils/cli/cli.go:42 +0x306
snappy/integration-tests/tests.init.1()
 /home/plars/work/snappy/snappy-tests/parts/snappy-tests/go/src/snappy/integration-tests/tests/base_test.go:55 +0x16d
snappy/integration-tests/tests.init()
 /home/plars/work/snappy/snappy-tests/parts/snappy-tests/go/src/snappy/integration-tests/tests/writablePaths_test.go:107 +0x10c4
main.init()
 snappy/integration-tests/tests/_test/_testmain.go:56 +0x4a

I then tried to build it myself:
$ sudo apt-get install git snapcraft
$ export GOPATH=$HOME/work
$ mkdir $GOPATH
$ export PATH=$PATH:$GOPATH
$ git clone https://github.com/plars/snappy-tests.git
$ cd snappy-tests
$ snapcraft
(this may fail; if it does, keep trying until it succeeds per IRC)
...
$ sudo snap install --devmode ./snappy-tests_0.1_amd64.snap
$ snappy-tests -check.f homeInterfaceSuite
sudo systemctl stop snappy-autopilot.timer
sudo: no tty present and no askpass program specified
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x531c3f]

goroutine 1 [running]:
panic(0x928e60, 0xc8200100f0)
 /usr/lib/go-1.6/src/runtime/panic.go:464 +0x3e6
gopkg.in/check%2ev1.(*methodType).PC(0x0, 0x52ab16)
 /home/jamie/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/check.go:60 +0x4f
gopkg.in/check%2ev1.(*C).logCaller(0xc8200da000, 0x3)
 /home/jamie/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/check.go:284 +0xa1
gopkg.in/check%2ev1.(*C).internalCheck(0xc8200da000, 0x9cf2e0, 0x6, 0x9a9800, 0xc8201a0c00, 0x7f7be51ec590, 0xc820024028, 0xc82004dd70, 0x0, 0x1, ...)
 /home/jamie/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/helpers.go:216 +0xeaf
gopkg.in/check%2ev1.(*C).Assert(0xc8200da000, 0x9a9800, 0xc8201a0c00, 0x7f7be51ec590, 0xc820024028, 0xc82004dd70, 0x1, 0x1)
 /home/jamie/snappy-tests/parts/snappy-tests/go/src/gopkg.in/check.v1/helpers.go:173 +0x8c
github.com/ubuntu-core/snappy/integration-tests/testutils/cli.ExecCommand(0xc8200da000, 0xc820013840, 0x4, 0x4, 0x0, 0x0)
 /home/jamie/snappy-tests/parts/snappy-tests/go/src/github.com/ubuntu-core/snappy/integration-tests/testutils/cli/cli.go:42 +0x306
snappy/integration-tests/tests.init.1()
 /home/jamie/snappy-tests/parts/snappy-tests/go/src/snappy/integration-tests/tests/base_test.go:56 +0x16d
snappy/integration-tests/tests.init()
 /home/jamie/snappy-tests/parts/snappy-tests/go/src/snappy/integration-tests/tests/writablePaths_test.go:107 +0xce8
main.init()
 snappy/integration-tests/tests/_test/_testmain.go:56 +0x4a

I'm not sure what to do at this point. It seems like adjusting the GOPATH and creating the dir in your snap will resolve the first issue, but then run into the next issues.

Paul, can you provide precise steps on how to reproduce?