Bug #76953 Many IPv6-specific tests fail due to missing IPv6 support
Submitted: 6 May 2015 12:31 Modified: 6 Jun 2018 15:02
Reporter: Alexey Kopytov Email Updates:
Status: Verified Impact on me:
None 
Category:Tests: Server Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any

[6 May 2015 12:31] Alexey Kopytov
Description:
The main.wl6301_3 test fails when MTR tries to execute it on a system
without IPv6 support.

Unlike other IPv6 tests, this one does not properly check if IPv6
support is available: the .opt file contains
"--bind-address=::ffff:127.0.0.1" which leads to a server startup
failing with "[ERROR] Failed to create a socket for IPv6
'::ffff:127.0.0.1': errno: 97" in the error log before any checks can be
executed by the test.

How to repeat:
Disable IPv6 support. Try to execute the main.wl6301_3 MTR test.

Suggested fix:
Remove the .opt file so the test starts with normal server options. In the test itself, first check if IPv6 is supported, then restart the server with "--bind-address=::ffff:127.0.0.1".
[6 May 2015 12:58] MySQL Verification Team
Thank you for the bug report.
[23 Jun 2015 13:19] Alexey Kopytov
The same problem applies to the following tests:

rpl.rpl_ip_mix
rpl.rpl_ip_mix2
rpl.rpl_ipv6
perfschema.hostcache_ipv6_auth_plugin
perfschema.hostcache_ipv6_addrinfo_again_allow
perfschema.hostcache_ipv6_addrinfo_again_deny
perfschema.hostcache_ipv6_addrinfo_bad_allow
perfschema.hostcache_ipv6_addrinfo_bad_deny
perfschema.hostcache_ipv6_addrinfo_good_allow
perfschema.hostcache_ipv6_addrinfo_good_deny
perfschema.hostcache_ipv6_addrinfo_noname_allow
perfschema.hostcache_ipv6_addrinfo_noname_deny
perfschema.hostcache_ipv6_blocked
perfschema.hostcache_ipv6_max_con
perfschema.hostcache_ipv6_nameinfo_again_allow
perfschema.hostcache_ipv6_nameinfo_again_deny
perfschema.hostcache_ipv6_nameinfo_noname_allow
perfschema.hostcache_ipv6_nameinfo_noname_deny
perfschema.hostcache_ipv6_passwd
perfschema.hostcache_ipv6_ssl
[26 Jun 2015 11:47] OCA Admin
Contribution submitted via Github - Bug #76953: Many IPv6-specific tests fail due to missing IPv6 support 
(*) Contribution by Alexey Kopytov (Github akopytov, mysql-server/pull/13#issuecomment-114870271): I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

Contribution: git_patch_38353376.txt (text/plain), 27.03 KiB.

[26 Jun 2015 11:53] OCA Admin
Contribution submitted via Github - Bug #76953: Many IPv6-specific tests fail due to missing IPv6 support 
(*) Contribution by Alexey Kopytov (Github akopytov, mysql-server/pull/15#issuecomment-115269185): I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

Contribution: git_patch_38442095.txt (text/plain), 27.06 KiB.

[18 Dec 2015 4:42] Anitha Gopi
Both patches attached here have similar changes. Which one is the correct
one?
[18 Dec 2015 5:03] Alexey Kopytov
git_patch_38353376.txt is a 5.6 version of the patch, while
git_patch_38442095.txt is a patch against 5.7. That information was lost
while moving the patches from Github pull requests to bugs.mysql.com.
[18 Oct 2016 10:12] Anitha Gopi
Posted by developer:
 
Most modern operating systems support ipv6 and hence it is an overhead to add a check for that in the tests. I suggest that if you want to disabled ipv6, please also disable tests that need ipv6.
[18 Oct 2016 10:21] Alexey Kopytov
Hi Anitha,

It is true that most modern operating systems support IPv6, but it is also true that IPv6 support is optional at least on Ljnux and Windows, i.e. it can be disabled dynamically, and there may be reasons for doing so.

That's probably the reason why all tests that require IPv6 have run-time check if that support is actually available, so that the corresponding tests are skipped if it's not.

This bug is about certain tests (which is a small subset of all IPv6-specific tests) where the check for IPv6 is not implemented properly. The patch merely fixes that check so it actually works.

Thanks,
Alexey.
[20 Oct 2016 2:34] Anitha Gopi
Hi Alexey,
Thanks for the feedback. I agree and we will fix this.
[6 Jun 2018 15:02] Alexey Kopytov
This also presents problems when running the MTR suite in Docker containers, since IPv6 is disabled in Docker by default.