After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 784863 - failing test src/platform/tests/test-address-linux
failing test src/platform/tests/test-address-linux
Status: RESOLVED DUPLICATE of bug 785004
Product: NetworkManager
Classification: Platform
Component: general
1.8.x
Other Linux
: Normal normal
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2017-07-12 16:43 UTC by Michael Biebl
Modified: 2017-07-25 05:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug log (61.46 KB, text/plain)
2017-07-19 17:08 UTC, Michael Biebl
  Details
[PATCH 1/2] platform: tests: disable TOS route option (1.21 KB, patch)
2017-07-20 13:54 UTC, Beniamino Galvani
none Details | Review
[PATCH 2/2] platform: fix retry logic when deleting object (940 bytes, patch)
2017-07-20 13:55 UTC, Beniamino Galvani
none Details | Review

Description Michael Biebl 2017-07-12 16:43:28 UTC
Version: 1.8.2

Running the test suite I get the following errors on Debian sid:

...
ERROR: src/platform/tests/test-address-linux - too few tests run (expected 6, got 4)
ERROR: src/platform/tests/test-address-linux - exited with status 134 (terminated by signal 6?)
...
============================================================================
Testsuite summary for NetworkManager 1.8.2
============================================================================
# TOTAL: 758
# PASS:  756
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 2

$ cat ./src/platform/tests/test-link-linux.log
# random seed: R02Sf7c5f572c0ab3c8487516132e630329f
1..48
# Start of link tests
ok 1 /link/bogus
PASS: src/platform/tests/test-link-linux 1 /link/bogus
ok 2 /link/loopback
PASS: src/platform/tests/test-link-linux 2 /link/loopback

nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=4263903705
ok 3 /link/internal
PASS: src/platform/tests/test-link-linux 3 /link/internal
ok 4 /link/external
PASS: src/platform/tests/test-link-linux 4 /link/external
# Start of software tests
ok 5 /link/software/bridge
PASS: src/platform/tests/test-link-linux 5 /link/software/bridge
ok 6 /link/software/bond
PASS: src/platform/tests/test-link-linux 6 /link/software/bond
ok 7 /link/software/team
PASS: src/platform/tests/test-link-linux 7 /link/software/team
ok 8 /link/software/vlan
PASS: src/platform/tests/test-link-linux 8 /link/software/vlan
# Start of bridge tests
ok 9 /link/software/bridge/addr
PASS: src/platform/tests/test-link-linux 9 /link/software/bridge/addr
# End of bridge tests
# Start of detect tests
# Start of gre tests
ok 10 /link/software/detect/gre/external
PASS: src/platform/tests/test-link-linux 10 /link/software/detect/gre/external
ok 11 /link/software/detect/gre/platform
PASS: src/platform/tests/test-link-linux 11 /link/software/detect/gre/platform
ok 12 /link/software/detect/gre/random
PASS: src/platform/tests/test-link-linux 12 /link/software/detect/gre/random
# End of gre tests
# Start of ip6tnl tests
ok 13 /link/software/detect/ip6tnl/external
PASS: src/platform/tests/test-link-linux 13 /link/software/detect/ip6tnl/external
ok 14 /link/software/detect/ip6tnl/platform
PASS: src/platform/tests/test-link-linux 14 /link/software/detect/ip6tnl/platform
ok 15 /link/software/detect/ip6tnl/random
PASS: src/platform/tests/test-link-linux 15 /link/software/detect/ip6tnl/random
# End of ip6tnl tests
# Start of ipip tests
ok 16 /link/software/detect/ipip/external
PASS: src/platform/tests/test-link-linux 16 /link/software/detect/ipip/external
ok 17 /link/software/detect/ipip/platform
PASS: src/platform/tests/test-link-linux 17 /link/software/detect/ipip/platform
ok 18 /link/software/detect/ipip/random
PASS: src/platform/tests/test-link-linux 18 /link/software/detect/ipip/random
# End of ipip tests
# Start of macvlan tests
ok 19 /link/software/detect/macvlan/external
PASS: src/platform/tests/test-link-linux 19 /link/software/detect/macvlan/external
ok 20 /link/software/detect/macvlan/platform
PASS: src/platform/tests/test-link-linux 20 /link/software/detect/macvlan/platform
ok 21 /link/software/detect/macvlan/random
PASS: src/platform/tests/test-link-linux 21 /link/software/detect/macvlan/random
# End of macvlan tests
# Start of macvtap tests
ok 22 /link/software/detect/macvtap/external
PASS: src/platform/tests/test-link-linux 22 /link/software/detect/macvtap/external
ok 23 /link/software/detect/macvtap/platform
PASS: src/platform/tests/test-link-linux 23 /link/software/detect/macvtap/platform
ok 24 /link/software/detect/macvtap/random
PASS: src/platform/tests/test-link-linux 24 /link/software/detect/macvtap/random
# End of macvtap tests
# Start of sit tests
ok 25 /link/software/detect/sit/external
PASS: src/platform/tests/test-link-linux 25 /link/software/detect/sit/external
ok 26 /link/software/detect/sit/platform
PASS: src/platform/tests/test-link-linux 26 /link/software/detect/sit/platform
ok 27 /link/software/detect/sit/random
PASS: src/platform/tests/test-link-linux 27 /link/software/detect/sit/random
# End of sit tests
# Start of vlan tests
ok 28 /link/software/detect/vlan/external
PASS: src/platform/tests/test-link-linux 28 /link/software/detect/vlan/external
ok 29 /link/software/detect/vlan/platform
PASS: src/platform/tests/test-link-linux 29 /link/software/detect/vlan/platform
ok 30 /link/software/detect/vlan/random
PASS: src/platform/tests/test-link-linux 30 /link/software/detect/vlan/random
# End of vlan tests
# Start of vxlan tests
# Start of 0 tests
ok 31 /link/software/detect/vxlan/0/external
PASS: src/platform/tests/test-link-linux 31 /link/software/detect/vxlan/0/external
ok 32 /link/software/detect/vxlan/0/platform
PASS: src/platform/tests/test-link-linux 32 /link/software/detect/vxlan/0/platform
ok 33 /link/software/detect/vxlan/0/random
PASS: src/platform/tests/test-link-linux 33 /link/software/detect/vxlan/0/random
# End of 0 tests
# Start of 1 tests
ok 34 /link/software/detect/vxlan/1/external
PASS: src/platform/tests/test-link-linux 34 /link/software/detect/vxlan/1/external
ok 35 /link/software/detect/vxlan/1/platform
PASS: src/platform/tests/test-link-linux 35 /link/software/detect/vxlan/1/platform
ok 36 /link/software/detect/vxlan/1/random
PASS: src/platform/tests/test-link-linux 36 /link/software/detect/vxlan/1/random
# End of 1 tests
# End of vxlan tests
# End of detect tests
# Start of vlan tests
ok 37 /link/software/vlan/set-xgress
PASS: src/platform/tests/test-link-linux 37 /link/software/vlan/set-xgress
# End of vlan tests
# End of software tests
# Start of create-many-links tests
ok 38 /link/create-many-links/20
PASS: src/platform/tests/test-link-linux 38 /link/create-many-links/20
ok 39 /link/create-many-links/1000
PASS: src/platform/tests/test-link-linux 39 /link/create-many-links/1000
# End of create-many-links tests
# Start of nl-bugs tests
ok 40 /link/nl-bugs/veth
PASS: src/platform/tests/test-link-linux 40 /link/nl-bugs/veth
ok 41 /link/nl-bugs/spurious-newlink
PASS: src/platform/tests/test-link-linux 41 /link/nl-bugs/spurious-newlink
ok 42 /link/nl-bugs/spurious-dellink
PASS: src/platform/tests/test-link-linux 42 /link/nl-bugs/spurious-dellink
# End of nl-bugs tests
# End of link tests
# Start of general tests
sh: 1: ethtool: not found
# Start of netns tests
ok 43 /general/netns/general
PASS: src/platform/tests/test-link-linux 43 /general/netns/general
ok 44 /general/netns/set-netns
PASS: src/platform/tests/test-link-linux 44 /general/netns/set-netns
ok 45 /general/netns/push
PASS: src/platform/tests/test-link-linux 45 /general/netns/push
ok 46 /general/netns/bind-to-path
PASS: src/platform/tests/test-link-linux 46 /general/netns/bind-to-path
# End of netns tests
# Start of sysctl tests
ok 47 /general/sysctl/rename
PASS: src/platform/tests/test-link-linux 47 /general/sysctl/rename
ok 48 /general/sysctl/netns-switch
PASS: src/platform/tests/test-link-linux 48 /general/sysctl/netns-switch
# End of sysctl tests
# End of general tests
[michael@pluto network-manager-1.8.2]$ cat ./src/platform/tests/test-address
test-address-fake       test-address-fake.trs   test-address-linux.log  test-address.c
test-address-fake.log   test-address-linux      test-address-linux.trs  
[michael@pluto network-manager-1.8.2]$ cat ./src/platform/tests/test-address-linux.log 
# random seed: R02S612f7d89423a87f3758c3f3e88072bf4
1..6
# Start of address tests
# Start of ipv4 tests

nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=917732527
ok 1 /address/ipv4/general
PASS: src/platform/tests/test-address-linux 1 /address/ipv4/general
ok 2 /address/ipv4/general-2
PASS: src/platform/tests/test-address-linux 2 /address/ipv4/general-2
ok 3 /address/ipv4/peer
PASS: src/platform/tests/test-address-linux 3 /address/ipv4/peer
# Start of peer tests
ok 4 /address/ipv4/peer/zero
PASS: src/platform/tests/test-address-linux 4 /address/ipv4/peer/zero
# End of peer tests
# End of ipv4 tests
**
NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
# Start of ipv6 tests
./tools/run-nm-test.sh: line 193: 32248 Aborted                 "${NMTST_DBUS_RUN_SESSION[@]}" "$TEST" "$@"
# NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
ERROR: src/platform/tests/test-address-linux - too few tests run (expected 6, got 4)
ERROR: src/platform/tests/test-address-linux - exited with status 134 (terminated by signal 6?)
Comment 1 Michael Biebl 2017-07-12 16:45:10 UTC
Oops, C&P fail. The relevant bits are:

$ cat ./src/platform/tests/test-address-linux.log 
# random seed: R02S612f7d89423a87f3758c3f3e88072bf4
1..6
# Start of address tests
# Start of ipv4 tests

nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=917732527
ok 1 /address/ipv4/general
PASS: src/platform/tests/test-address-linux 1 /address/ipv4/general
ok 2 /address/ipv4/general-2
PASS: src/platform/tests/test-address-linux 2 /address/ipv4/general-2
ok 3 /address/ipv4/peer
PASS: src/platform/tests/test-address-linux 3 /address/ipv4/peer
# Start of peer tests
ok 4 /address/ipv4/peer/zero
PASS: src/platform/tests/test-address-linux 4 /address/ipv4/peer/zero
# End of peer tests
# End of ipv4 tests
**
NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
# Start of ipv6 tests
./tools/run-nm-test.sh: line 193: 32248 Aborted                 "${NMTST_DBUS_RUN_SESSION[@]}" "$TEST" "$@"
# NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
ERROR: src/platform/tests/test-address-linux - too few tests run (expected 6, got 4)
ERROR: src/platform/tests/test-address-linux - exited with status 134 (terminated by signal 6?)
Comment 2 Beniamino Galvani 2017-07-19 16:28:17 UTC
Can you please attach the output of:

NMTST_DEBUG=trace src/platform/tests/test-address-linux
Comment 3 Michael Biebl 2017-07-19 17:08:03 UTC
seems to be timinig related. If I run the test in a loop, I do not always get the failure:

$ while  true; do echo "============================================="; sudo src/platform/tests/test-address-linux; done

=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=1915771561
RTNETLINK answers: Cannot assign requested address
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: OK
/address/ipv6/general-2: OK
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=846448920
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: **
NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
Aborted
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=3705162469
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: RTNETLINK answers: Cannot assign requested address
OK
/address/ipv6/general-2: OK
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=4012404068
RTNETLINK answers: Cannot assign requested address
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: **
NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
Aborted
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=3617828980
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: OK
/address/ipv6/general-2: OK
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=1177733738
RTNETLINK answers: Cannot assign requested address
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: RTNETLINK answers: Cannot assign requested address
OK
/address/ipv6/general-2: **
NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
Aborted
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=2751854758
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: **
NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
Aborted
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=65549579
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: RTNETLINK answers: Cannot assign requested address
OK
/address/ipv6/general-2: OK
=============================================
/address/ipv4/general: 
nmtst: initialize nmtst_get_rand() with NMTST_SEED_RAND=454298034
OK
/address/ipv4/general-2: OK
/address/ipv4/peer: OK
/address/ipv4/peer/zero: OK
/address/ipv6/general: RTNETLINK answers: Cannot assign requested address
OK
/address/ipv6/general-2: **
NetworkManager:ERROR:src/platform/tests/test-common.c:897:_ip_address_del: assertion failed: (success)
Aborted
=============================================



The debug log is attached as txt
Comment 4 Michael Biebl 2017-07-19 17:08:21 UTC
Created attachment 355968 [details]
debug log
Comment 5 Beniamino Galvani 2017-07-20 13:54:41 UTC
Created attachment 356044 [details] [review]
[PATCH 1/2] platform: tests: disable TOS route option
Comment 6 Beniamino Galvani 2017-07-20 13:55:10 UTC
Created attachment 356045 [details] [review]
[PATCH 2/2] platform: fix retry logic when deleting object
Comment 7 Beniamino Galvani 2017-07-20 13:58:19 UTC
Patch 2 fixes the address deletion problem.

Unfortunately there is a buggy test (/route/ip4_options) in
test-route-linux that is broken by this change, because it creates a
route with TOS set and tries to delete it without passing the
TOS. Fixing the test requires more effort, so for the moment I'd
suggest to disable the TOS option in the route test (patch 1).

I'll look into changing the platform to support route TOS in the
next days.
Comment 8 Beniamino Galvani 2017-07-20 14:35:43 UTC
Please ignore the patches, I see that Thomas already proposed a fix in the th/dedup-multi-v2-bgo785004 branch.
Comment 9 Michael Biebl 2017-07-20 23:16:38 UTC
Hi Beniamino,
should this bug then be closed as duplicate of #785004 ?
Comment 10 Beniamino Galvani 2017-07-21 07:44:33 UTC
(In reply to Michael Biebl from comment #9)
> Hi Beniamino,
> should this bug then be closed as duplicate of #785004 ?

Yes. I'll add a comment there so that we remember to backport the fix to 1-8.

*** This bug has been marked as a duplicate of bug 785004 ***
Comment 11 Thomas Haller 2017-07-25 05:01:53 UTC
bug 785004 is closed.

Backport one commit to nm-1-8:
https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=39b947fc7f72631df4e6bd0d671484a606c6637c

it basically does the same as the patches from comment 5 and comment 6.