snapd autopkgtest consistently fails on i386

Bug #1588100 reported by Steve Langasek
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
snapd (Ubuntu)
Fix Released
Critical
Unassigned
Xenial
Fix Released
Undecided
Unassigned

Bug Description

The snapd autopkgtest has been failing consistently on i386 since the upload of snapd 2.0.3+16.10. A few test failures have come and gone or appear to have been flaky/racy, but there are two tests that have been failing consistently:

START: integration-tests/tests/network_bind_interface_test.go:43: networkBindInterfaceSuite.TestPlugDisconnectionDisablesClientConnection
START: <autogenerated>:43: networkBindInterfaceSuite.SetUpTest
****** Running networkBindInterfaceSuite.TestPlugDisconnectionDisablesClientConnection
snap list
Name Version Rev Developer
ubuntu-core 16.04+20160420.05-02 113 canonical
sudo snap install integration-tests/data/snaps/network-bind-consumer/network-bind-consumer_1.0_all.snap

[|] Mount snap "network-bind-consumer"
[/] Mount snap "network-bind-consumer"
[-] Setup snap "network-bind-consumer" security profiles
[\] Make snap "network-bind-consumer" available to the system
[|] Make snap "network-bind-consumer" available to the system
[/] Make snap "network-bind-consumer" available to the system

Name Version Rev Developer
network-bind-consumer 1.0 100001
snap list
Name Version Rev Developer
network-bind-consumer 1.0 100001
ubuntu-core 16.04+20160420.05-02 113 canonical
sudo snap install integration-tests/data/snaps/network-consumer/network-consumer_1.0_all.snap

[|] Prepare snap "/tmp/snapd-sideload-pkg-874964219"
[/] Mount snap "network-consumer"
[-] Mount snap "network-consumer"
[\] Setup snap "network-consumer" security profiles
[|] Setup snap "network-consumer" security profiles

Name Version Rev Developer
network-consumer 1.0 100001
snap list
Name Version Rev Developer
network-bind-consumer 1.0 100001
network-consumer 1.0 100001
ubuntu-core 16.04+20160420.05-02 113 canonical
PASS: <autogenerated>:43: networkBindInterfaceSuite.SetUpTest 1.463s

network-consumer http://127.0.0.1:8081
Bad system call
integration-tests/tests/network_bind_interface_test.go:44:
    output := cli.ExecCommand(c, "network-consumer", providerURL)
integration-tests/testutils/cli/cli.go:42:
    c.Assert(err, check.IsNil, check.Commentf("Error for %v: %v", cmds, output))
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0x18bb72a0), Stderr:[]uint8(nil)} ("exit status 159")
... Error for [network-consumer http://127.0.0.1:8081]: Bad system call

START: <autogenerated>:44: networkBindInterfaceSuite.TearDownTest
sudo snap remove network-bind-consumer

[|] Make snap "network-bind-consumer" unavailable to the system
[/] Make snap "network-bind-consumer" unavailable to the system
[-] Make snap "network-bind-consumer" unavailable to the system
[\] Make snap "network-bind-consumer" unavailable to the system
[|] Make snap "network-bind-consumer" unavailable to the system
[/] Remove security profile for snap "network-bind-consumer"
[-] Remove snap "network-bind-consumer" from the system
[\] Remove snap "network-bind-consumer" from the system
[|] Remove snap "network-bind-consumer" from the system
[/] Remove snap "network-bind-consumer" from the system
[-] Remove snap "network-bind-consumer" from the system

Done
snap list
Name Version Rev Developer
network-consumer 1.0 100001
ubuntu-core 16.04+20160420.05-02 113 canonical
sudo snap remove network-consumer

[|] Remove snap "network-consumer" from the system
[/] Remove snap "network-consumer" from the system
[-] Remove snap "network-consumer" from the system
[\] Remove snap "network-consumer" from the system
[|] Remove snap "network-consumer" from the system

Done
snap list
Name Version Rev Developer
ubuntu-core 16.04+20160420.05-02 113 canonical
PASS: <autogenerated>:44: networkBindInterfaceSuite.TearDownTest 1.946s

FAIL: integration-tests/tests/network_bind_interface_test.go:43: networkBindInterfaceSuite.TestPlugDisconnectionDisablesClientConnection

[...]

START: integration-tests/tests/network_interface_test.go:41: networkInterfaceSuite.TestPlugDisconnectionDisablesFunctionality
START: <autogenerated>:49: networkInterfaceSuite.SetUpTest
****** Running networkInterfaceSuite.TestPlugDisconnectionDisablesFunctionality
snap list
Name Version Rev Developer
ubuntu-core 16.04+20160420.05-02 113 canonical
sudo snap install integration-tests/data/snaps/network-bind-consumer/network-bind-consumer_1.0_all.snap

[|] Mount snap "network-bind-consumer"
[/] Mount snap "network-bind-consumer"
[-] Setup snap "network-bind-consumer" security profiles
[\] Setup snap "network-bind-consumer" security profiles
[|] Make snap "network-bind-consumer" available to the system
[/] Make snap "network-bind-consumer" available to the system

Name Version Rev Developer
network-bind-consumer 1.0 100001
snap list
Name Version Rev Developer
network-bind-consumer 1.0 100001
ubuntu-core 16.04+20160420.05-02 113 canonical
sudo snap install integration-tests/data/snaps/network-consumer/network-consumer_1.0_all.snap

[|] Mount snap "network-consumer"
[/] Mount snap "network-consumer"
[-] Setup snap "network-consumer" security profiles
[\] Setup snap "network-consumer" security profiles
[|] Setup snap "network-consumer" security profiles

Name Version Rev Developer
network-consumer 1.0 100001
snap list
Name Version Rev Developer
network-bind-consumer 1.0 100001
network-consumer 1.0 100001
ubuntu-core 16.04+20160420.05-02 113 canonical
PASS: <autogenerated>:49: networkInterfaceSuite.SetUpTest 1.721s

network-consumer http://127.0.0.1:8081
Bad system call
integration-tests/tests/network_interface_test.go:44:
    output := cli.ExecCommand(c, "network-consumer", providerURL)
integration-tests/testutils/cli/cli.go:42:
    c.Assert(err, check.IsNil, check.Commentf("Error for %v: %v", cmds, output))
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0x18df48f0), Stderr:[]uint8(nil)} ("exit status 159")
... Error for [network-consumer http://127.0.0.1:8081]: Bad system call

START: <autogenerated>:50: networkInterfaceSuite.TearDownTest
sudo snap remove network-bind-consumer

[|] Make snap "network-bind-consumer" unavailable to the system
[/] Make snap "network-bind-consumer" unavailable to the system
[-] Make snap "network-bind-consumer" unavailable to the system
[\] Make snap "network-bind-consumer" unavailable to the system
[|] Make snap "network-bind-consumer" unavailable to the system
[/] Make snap "network-bind-consumer" unavailable to the system
[-] Remove security profile for snap "network-bind-consumer"
[\] Remove snap "network-bind-consumer" from the system
[|] Remove snap "network-bind-consumer" from the system
[/] Remove snap "network-bind-consumer" from the system
[-] Remove snap "network-bind-consumer" from the system
[\] Remove snap "network-bind-consumer" from the system

Done
snap list
Name Version Rev Developer
network-consumer 1.0 100001
ubuntu-core 16.04+20160420.05-02 113 canonical
sudo snap remove network-consumer

[|] Remove snap "network-consumer" from the system
[/] Remove snap "network-consumer" from the system
[-] Remove snap "network-consumer" from the system
[\] Remove snap "network-consumer" from the system
[|] Remove snap "network-consumer" from the system

Done
snap list
Name Version Rev Developer
ubuntu-core 16.04+20160420.05-02 113 canonical
PASS: <autogenerated>:50: networkInterfaceSuite.TearDownTest 2.060s

FAIL: integration-tests/tests/network_interface_test.go:41: networkInterfaceSuite.TestPlugDisconnectionDisablesFunctionality

Sample log for a failed test run is:

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-yakkety/yakkety/i386/s/snapd/20160524_081656@/log.gz

Full list of test runs for yakkety is
http://autopkgtest.ubuntu.com/packages/s/snapd/yakkety/i386/

proposed-migration sees this is a regression (the tests in version 2.0.2 passed), so snapd uploads will not automatically migrate from yakkety-proposed to yakkety.

The same test failures are also seen for snapd in xenial-proposed: http://autopkgtest.ubuntu.com/packages/s/snapd/xenial/i386/

Since the package versions with these failing tests have been released as SRUs, it appears the test failures aren't considered important by the snappy team - so please disable these tests for i386 or mark them XFAIL in some way, so that they don't interfere with the package's promotion in either xenial or yakkety.

(Fixing the tests is also acceptable, of course, if that's straightforward to do.)

Steve Langasek (vorlon)
Changed in snapd (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Michael Vogt (mvo) wrote :

This is fixed with the branch in https://github.com/snapcore/snapd/pull/1251 - however are some concerns from the security team.

Changed in snapd (Ubuntu):
status: New → In Progress
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I updated the PR. Please consider this unblocked.

Michael Vogt (mvo)
Changed in snapd (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Steve, or anyone else affected,

Accepted snapd into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/snapd/2.0.7 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in snapd (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Michael Vogt (mvo) wrote :

The bad syscall issue is fixed, there might be other issues on i386 left now that the syscall is unblocked. If so, we will fix those too of course.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package snapd - 2.0.8

---------------
snapd (2.0.8) xenial; urgency=medium

  * New upstream release: LP: #1589534
    - debian: make `snap refresh` times more random (LP: #1537793)
    - cmd: ExecInCoreSnap looks in "core" snap first, and only in
      "ubuntu-core" snap if rev>125.
    - cmd/snap: have 'snap list' display helper message on stderr
      (LP: #1587445)
    - snap: make app names more restrictive.

 -- Michael Vogt <email address hidden> Wed, 08 Jun 2016 07:56:58 +0200

Changed in snapd (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.5 KiB)

This bug was fixed in the package snapd - 2.11+16.10

---------------
snapd (2.11+16.10) yakkety; urgency=medium

  * New upstream release: LP: #1605303
    - increase version number to reflect the nature of the update
      better
    - store, daemon, client, cmd/snap, docs/rest.md: adieu search
      grammar
    - debian: move snapd.refresh.timer into timers.target
    - snapstate: add daemon-reload to fix autopkgtest on yakkety
    - Interfaces: hardware-observe
    - snap: rework the output after a snap operation
    - daemon, cmd/snap: refresh --devmode
    - store, daemon, client, cmd/snap: implement `snap find --private`
    - tests: add network-observe interface spread test
    - interfaces/builtin: allow getsockopt for connected x11 plugs
    - osutil: check for nogrup instead of adm
    - store: small cleanups (more needed)
    - snap/squashfs: fix test not to hardcode snap size
    - client,cmd/snap: cleanup cmd/snap test suite, add extra args
      testThis cleans up the cmd/snap test suite:
    - wrappers: map "never" restart condition to "no."
    - wrappers: run update-desktop-database after add/remove of desktop
      files
    - release: work around elementary mistake
    - many: remove all traces of channel from the buying codepath
    - store: kill setUbuntuStoreHeaders
    - docs: add payment methods documentation
    - many: present user with a choice of payment backends
    - asserts: add cross checks for snap asserts
    - cmd/snap,cmd/snap-exec: support running hooks via snap-exec.
    - tests: improve snap run symlink tests
    - tests: add content sharing interface spread test
    - store & many: a mechanical branch shortening store names
    - snappy: remove old snappy pkg
    - overlord/snapstate: kill flagscompat
    - overlord/snapstate, daemon, client, cmd/snap: devmode override
      (aka confined)
    - tests: extend refresh test to talk to the staging and production
      stores
    - asserts,daemon: cross checks for account and account-key
      assertions
    - client: existing JSON fixtures uses tabs for indentation
    - snap-exec: add proper integration test for snap-exec
    - spread.yaml, tests: replace hello-world with test-snapd-tools
    - tests: add locale-control interface spread test
    - tests: add mount-observe interface spread test
    - tests: add system-observe interface spread test
    - many: add AuthContext to mediate user updates to the state
    - store/auth: add helper for the macaroon refresh endpoint
    - cmd: add buy command
    - overlord: switch snapstate.Update to use ListRefresh (aka
      /snaps/metadata)
    - snap-exec: fix silly off-by-one error
    - tests: stop using hello-world.echo in the tests
    - tests: add env command to test-snapd-tools
    - classic: remove (most of) "classic" mode, this is implemented as a
      snap now
    - many: remove snapstate.Candidate and other cleanups
    - many: removed authenticator, store gets a user instead
    - asserts: fix minor doc comment typo
    - snap: ensure unknown arguments to `snap run` are ignored
    - overlord/auth: add Device/SetDevice to persist device identity in
      state
    - overlord: make SyncBoot work aga...

Read more...

Changed in snapd (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.