Bug #84175 Assertion failure from bin/mysqld --no-defaults
Submitted: 13 Dec 2016 8:55 Modified: 15 Dec 2016 8:37
Reporter: Valeriy Kravchuk Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7.17 OS:Fedora (23)
Assigned to: CPU Architecture:Any
Tags: assertion, crash, regression, ut0ut.cc

[13 Dec 2016 8:55] Valeriy Kravchuk
Description:
For decades, and even with MySQL 8.0.0, one could always just start mysqld from the basedir as follows (assuming datadir is in default location is populated):

[openxs@fc23 8.0]$ bin/mysqld --no-defaults --console
2016-12-13T08:35:37.944780Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
...
2016-12-13T08:35:39.035733Z 1 [Note] InnoDB: 8.0.0 started; log sequence number 92695893
2016-12-13T08:35:39.113486Z 1 [Note] InnoDB: Waiting for purge to start
2016-12-13T08:35:39.163952Z 0 [Note] InnoDB: Loading buffer pool(s) from /home/openxs/dbs/8.0/data/ib_buffer_pool
2016-12-13T08:35:40.770055Z 1 [Note] Found data dictionary with version 1
2016-12-13T08:35:40.903036Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2016-12-13T08:35:40.903676Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2016-12-13T08:35:40.903730Z 0 [Note] IPv6 is available.
2016-12-13T08:35:40.903741Z 0 [Note]   - '::' resolves to '::';
2016-12-13T08:35:40.903805Z 0 [Note] Server socket created on IP: '::'.
2016-12-13T08:35:41.315524Z 0 [Note] bin/mysqld: ready for connections.
Version: '8.0.0-dmr'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
2016-12-13T08:35:42.271539Z 0 [Note] InnoDB: Buffer pool(s) load completed at 161213 10:35:42

Server starts and outputs messages to console, as expected.

Now, if we try that with recently released 5.7.17:

[openxs@fc23 5.7]$ bin/mysqld --version
bin/mysqld  Ver 5.7.17 for Linux on x86_64 (MySQL Community Server (GPL))
[openxs@fc23 5.7]$ bin/mysqld --no-defaults --console
2016-12-13T08:41:46.436653Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-12-13T08:41:46.436771Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
2016-12-13T08:41:46.607713Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-12-13T08:41:46.607775Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2016-12-13T08:41:46.607810Z 0 [Note] bin/mysqld (mysqld 5.7.17) starting as process 29637 ...
2016-12-13T08:41:46.613885Z 0 [Note] InnoDB: PUNCH HOLE support available
2016-12-13T08:41:46.613931Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
...
2016-12-13T08:41:46.630795Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2016-12-13T08:41:46.643093Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4000!
2016-12-13 10:41:46 0x7f41359f0840  InnoDB: Assertion failure in thread 139918049216576 in file ut0ut.cc line 916
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
08:41:46 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.

key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=0
max_threads=151
thread_count=0
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68190 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0 thread_stack 0x40000
bin/mysqld(my_print_stacktrace+0x2e) [0xe38abe]
bin/mysqld(handle_fatal_signal+0x479) [0x76c059]
/lib64/libpthread.so.0(+0x10a00) [0x7f41355e9a00]
/lib64/libc.so.6(gsignal+0x38) [0x7f4133a9aa28]
/lib64/libc.so.6(abort+0x16a) [0x7f4133a9c62a]
bin/mysqld() [0x742732]
bin/mysqld(ib::fatal::~fatal()+0x12d) [0xffb61d]
bin/mysqld() [0x10ab725]
bin/mysqld(fil_open_log_and_system_tablespace_files()+0x11c) [0x10afa1c]
bin/mysqld(innobase_start_or_create_for_mysql()+0x3504) [0xfa4ac4]
bin/mysqld() [0xe6d4fa]
bin/mysqld(ha_initialize_handlerton(st_plugin_int*)+0x51) [0x7bced1]
bin/mysqld() [0xc2d046]
bin/mysqld(plugin_init(int*, char**, int)+0x5d8) [0xc34408]
bin/mysqld() [0x7645ce]
bin/mysqld(mysqld_main(int, char**)+0x80b) [0x765cbb]
/lib64/libc.so.6(__libc_start_main+0xf0) [0x7f4133a86580]
bin/mysqld(_start+0x29) [0x75c799]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

We get just a stupid irrelevant assertion failure. There is nothing wrong with ./ibdata1, it worked perfectly when server is properly started (see Bug #84173).

How to repeat:
Build MySQL 5.7.17 from source as follows:

cd git/mysql-server/
git branch
git pull
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release
-DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/openxs/boost -DWITH_ZLIB=bundled -DWITH_SSL=system -DCMAKE_INSTALL_PREFIX=/home/openxs/dbs/5.7
make -j 4
make install && make clean

Initialize data directory:

cd
cd dbs/5.7
ls data
rm -rf data/*
./bin/mysqld --no-defaults --initialize-insecure --basedir=/home/openxs
/dbs/5.7 --datadir=/home/openxs/dbs/5.7/data

Make sure server starts when properly started, no errors reported:

bin/mysqld_safe --no-defaults --basedir=/home/openxs/dbs/5.7 --datadir=
/home/openxs/dbs/5.7/data &
bin/mysql -uroot -e'select version();'

Now, shut it down:

bin/mysqladmin -uroot shutdown

and try to start again by direct call to bin/mysqld --no-defaults --console:

[openxs@fc23 5.7]$ bin/mysqld --no-defaults --console
2016-12-13T08:50:35.684527Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-12-13T08:50:35.684638Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
2016-12-13T08:50:35.857838Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-12-13T08:50:35.857894Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2016-12-13T08:50:35.857929Z 0 [Note] bin/mysqld (mysqld 5.7.17) starting as process 29662 ...
2016-12-13T08:50:35.864011Z 0 [Note] InnoDB: PUNCH HOLE support available
2016-12-13T08:50:35.864060Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-12-13T08:50:35.864077Z 0 [Note] InnoDB: Uses event mutexes
2016-12-13T08:50:35.864089Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2016-12-13T08:50:35.864100Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-12-13T08:50:35.864110Z 0 [Note] InnoDB: Using Linux native AIO
2016-12-13T08:50:35.864530Z 0 [Note] InnoDB: Number of pools: 1
2016-12-13T08:50:35.864709Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2016-12-13T08:50:35.866700Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2016-12-13T08:50:35.878547Z 0 [Note] InnoDB: Completed initialization of buffer pool
2016-12-13T08:50:35.881067Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2016-12-13T08:50:35.893389Z 0 [ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4000!
2016-12-13 10:50:35 0x7fe40e274840  InnoDB: Assertion failure in thread 140617466726464 in file ut0ut.cc line 916
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
08:50:35 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.

key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=0
max_threads=151
thread_count=0
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68190 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0 thread_stack 0x40000
bin/mysqld(my_print_stacktrace+0x2e) [0xe38abe]
bin/mysqld(handle_fatal_signal+0x479) [0x76c059]
/lib64/libpthread.so.0(+0x10a00) [0x7fe40de6da00]
/lib64/libc.so.6(gsignal+0x38) [0x7fe40c31ea28]
/lib64/libc.so.6(abort+0x16a) [0x7fe40c32062a]
bin/mysqld() [0x742732]
bin/mysqld(ib::fatal::~fatal()+0x12d) [0xffb61d]
bin/mysqld() [0x10ab725]
bin/mysqld(fil_open_log_and_system_tablespace_files()+0x11c) [0x10afa1c]
bin/mysqld(innobase_start_or_create_for_mysql()+0x3504) [0xfa4ac4]
bin/mysqld() [0xe6d4fa]
bin/mysqld(ha_initialize_handlerton(st_plugin_int*)+0x51) [0x7bced1]
bin/mysqld() [0xc2d046]
bin/mysqld(plugin_init(int*, char**, int)+0x5d8) [0xc34408]
bin/mysqld() [0x7645ce]
bin/mysqld(mysqld_main(int, char**)+0x80b) [0x765cbb]
/lib64/libc.so.6(__libc_start_main+0xf0) [0x7fe40c30a580]
bin/mysqld(_start+0x29) [0x75c799]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

Try to start again (in a proper way) and create some InnoDB table:

[openxs@fc23 5.7]$ bin/mysqld_safe --no-defaults --basedir=/home/openxs/dbs/5.7 --datadir=/home/openxs/dbs/5.7/data &
[1] 29676
[openxs@fc23 5.7]$ 2016-12-13T08:51:18.391502Z mysqld_safe Logging to '/home/openxs/dbs/5.7/data/fc23.err'.
2016-12-13T08:51:18.394885Z mysqld_safe Logging to '/home/openxs/dbs/5.7/data/fc23.err'.
2016-12-13T08:51:18.428253Z mysqld_safe Starting mysqld daemon with databases from /home/openxs/dbs/5.7/data

[openxs@fc23 5.7]$ bin/mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database test;
Query OK, 1 row affected (0.00 sec)

mysql> use test
Database changed
mysql> create table t1(id int) engine=InnoDB;
Query OK, 0 rows affected (0.26 sec)

mysql> exit
Bye
[openxs@fc23 5.7]$ tail data/fc23.err
2016-12-13T08:51:18.930263Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2016-12-13T08:51:18.930321Z 0 [Note] IPv6 is available.
2016-12-13T08:51:18.930331Z 0 [Note]   - '::' resolves to '::';
2016-12-13T08:51:18.930365Z 0 [Note] Server socket created on IP: '::'.
2016-12-13T08:51:18.938595Z 0 [Note] Event Scheduler: Loaded 0 events
2016-12-13T08:51:18.938725Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check.
2016-12-13T08:51:18.938739Z 0 [Note] Beginning of list of non-natively partitioned tables
2016-12-13T08:51:18.951441Z 0 [Note] End of list of non-natively partitioned tables
2016-12-13T08:51:18.951555Z 0 [Note] ./bin/mysqld: ready for connections.
Version: '5.7.17'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

Suggested fix:
I do not know where that assertion may come from and why, sorry.
[13 Dec 2016 8:57] Valeriy Kravchuk
This was on recently updated Fedora 23 box:

[openxs@fc23 5.7]$ uname -a
Linux fc23 4.8.12-100.fc23.x86_64 #1 SMP Fri Dec 2 17:52:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[13 Dec 2016 10:07] Terje Røsten
Note: --console seems to be a Windows only option:

 http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_console
[13 Dec 2016 11:44] MySQL Verification Team
I couldn't repeat on Fedora 23 VirtualBox:

[miguel@fedora23 5.7]$ bin/mysqld --no-defaults --console
2016-12-13T11:38:13.374822Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-12-13T11:38:13.374874Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
2016-12-13T11:38:13.538325Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-12-13T11:38:13.538364Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2016-12-13T11:38:13.538382Z 0 [Note] bin/mysqld (mysqld 5.7.17) starting as process 21417 ...
2016-12-13T11:38:13.546678Z 0 [Note] InnoDB: PUNCH HOLE support available
2016-12-13T11:38:13.546696Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-12-13T11:38:13.546701Z 0 [Note] InnoDB: Uses event mutexes
2016-12-13T11:38:13.546705Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2016-12-13T11:38:13.546709Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-12-13T11:38:13.546714Z 0 [Note] InnoDB: Using Linux native AIO
2016-12-13T11:38:13.546829Z 0 [Note] InnoDB: Number of pools: 1
2016-12-13T11:38:13.546886Z 0 [Note] InnoDB: Using CPU crc32 instructions
2016-12-13T11:38:13.547662Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2016-12-13T11:38:13.559801Z 0 [Note] InnoDB: Completed initialization of buffer pool
2016-12-13T11:38:13.560732Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2016-12-13T11:38:13.572030Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2016-12-13T11:38:13.580530Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2016-12-13T11:38:13.580666Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2016-12-13T11:38:13.647950Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2016-12-13T11:38:13.648496Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2016-12-13T11:38:13.648502Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2016-12-13T11:38:13.648667Z 0 [Note] InnoDB: Waiting for purge to start
2016-12-13T11:38:13.698762Z 0 [Note] InnoDB: 5.7.17 started; log sequence number 2534786
2016-12-13T11:38:13.698966Z 0 [Note] Plugin 'FEDERATED' is disabled.
2016-12-13T11:38:13.702445Z 0 [Note] InnoDB: Loading buffer pool(s) from /home/miguel/dbs/5.7/data/ib_buffer_pool
2016-12-13T11:38:13.705334Z 0 [Note] InnoDB: Buffer pool(s) load completed at 161213  9:38:13
2016-12-13T11:38:13.706050Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
2016-12-13T11:38:13.706708Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory.
2016-12-13T11:38:13.707221Z 0 [Warning] CA certificate ca.pem is self signed.
2016-12-13T11:38:13.707771Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory.
2016-12-13T11:38:13.708162Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2016-12-13T11:38:13.709010Z 0 [Note] IPv6 is available.
2016-12-13T11:38:13.709023Z 0 [Note]   - '::' resolves to '::';
2016-12-13T11:38:13.709043Z 0 [Note] Server socket created on IP: '::'.
2016-12-13T11:38:13.718074Z 0 [Note] Event Scheduler: Loaded 0 events
2016-12-13T11:38:13.718141Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check. 
2016-12-13T11:38:13.718148Z 0 [Note] Beginning of list of non-natively partitioned tables
2016-12-13T11:38:13.730583Z 0 [Note] End of list of non-natively partitioned tables
2016-12-13T11:38:13.731207Z 0 [Note] bin/mysqld: ready for connections.
Version: '5.7.17'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
[14 Dec 2016 12:57] Valeriy Kravchuk
In case that matters:

[openxs@fc23 server]$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8300  @ 2.50GHz
stepping        : 10
microcode       : 0xa0b
cpu MHz         : 2003.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority dtherm
bugs            :
bogomips        : 4999.94
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

...

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8300  @ 2.50GHz
stepping        : 10
microcode       : 0xa0b
cpu MHz         : 2003.000
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority dtherm
bugs            :
bogomips        : 4999.99
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
[14 Dec 2016 12:59] MySQL Verification Team
Hello Valeriy,

We could not repeat on OL6/OL7/FC23 etc, no assertion after following as is steps from how to repeat section.  I could be wrong and not necessarily be this info has anything to do with the assertion but only difference I found in the process was "[Note] InnoDB: Not using CPU crc32 instructions" vs "InnoDB: Using CPU crc32 instructions" in log. Is there anything else which I'm missing and could help us to trigger this issue at our end? Please let us know.

Regards,
Umesh
[14 Dec 2016 13:51] MySQL Verification Team
i also couldn't repeat on Oracle Linux Server 7.1

My steps;
  http://pastebin.com/J50EwcHd
[15 Dec 2016 8:37] Valeriy Kravchuk
It seems there were some leftovers from previous builds that influeced this. 

I was able to repeat when building using previous steps on Ububtu 14.0.4 and other hardware, but as soon as I cleaned up everything like this on the same Fedora 23:

1002     rm -rf mysql-server/
1003     git clone https://github.com/mysql/mysql-server.git
1004     cd mysql-server/
1005     git branch
1006     cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/openxs/boost -DWITH_ZLIB=bundled -DWITH_SSL=system -DCMAKE_INSTALL_PREFIX=/home/openxs/dbs/5.7
1007     time make -j 4
1008     rm -rf /home/openxs/dbs/5.7/*
1009     ls -la /home/openxs/dbs/5.7
1010     make install && make clean
1011     cd
1012     cd dbs/5.7
1013     ./bin/mysqld --no-defaults --initialize-insecure --basedir=/home/openxs/dbs/5.7 --datadir=/home/openxs/dbs/5.7/data
1014     ./bin/mysqld_safe --no-defaults --basedir=/home/openxs/dbs/5.7 --datadir=/home/openxs/dbs/5.7/data &
...
1016     bin/mysql --no-defaults -uroot -e"select version(), count(*) from information_schema.tables where engine='InnoDB'"
1017     bin/mysqladmin --no-defaults -uroot shutdown
1018     bin/mysqld --no-defaults --console

everything worked as expected:

[openxs@fc23 5.7]$ bin/mysqld --no-defaults --console
2016-12-15T08:36:39.572447Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-12-15T08:36:39.572558Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
2016-12-15T08:36:39.747087Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-12-15T08:36:39.747150Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2016-12-15T08:36:39.747186Z 0 [Note] bin/mysqld (mysqld 5.7.17) starting as process 17652 ...
2016-12-15T08:36:39.753680Z 0 [Note] InnoDB: PUNCH HOLE support available
2016-12-15T08:36:39.753727Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-12-15T08:36:39.753744Z 0 [Note] InnoDB: Uses event mutexes
2016-12-15T08:36:39.753754Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2016-12-15T08:36:39.753766Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-12-15T08:36:39.753780Z 0 [Note] InnoDB: Using Linux native AIO
2016-12-15T08:36:39.754163Z 0 [Note] InnoDB: Number of pools: 1
2016-12-15T08:36:39.754337Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2016-12-15T08:36:39.756360Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2016-12-15T08:36:39.767073Z 0 [Note] InnoDB: Completed initialization of buffer pool
2016-12-15T08:36:39.769553Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2016-12-15T08:36:39.782385Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2016-12-15T08:36:39.831987Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2016-12-15T08:36:39.832168Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2016-12-15T08:36:40.047390Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2016-12-15T08:36:40.048455Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2016-12-15T08:36:40.048472Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2016-12-15T08:36:40.049128Z 0 [Note] InnoDB: 5.7.17 started; log sequence number 1320137
2016-12-15T08:36:40.049380Z 0 [Note] InnoDB: Loading buffer pool(s) from /home/openxs/dbs/5.7/data/ib_buffer_pool
2016-12-15T08:36:40.049617Z 0 [Note] Plugin 'FEDERATED' is disabled.
2016-12-15T08:36:40.052951Z 0 [Note] InnoDB: Buffer pool(s) load completed at 161215 10:36:40
2016-12-15T08:36:40.057717Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
2016-12-15T08:36:40.057748Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory.
2016-12-15T08:36:40.058823Z 0 [Warning] CA certificate ca.pem is self signed.
2016-12-15T08:36:40.058871Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory.
2016-12-15T08:36:40.059676Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2016-12-15T08:36:40.059732Z 0 [Note] IPv6 is available.
2016-12-15T08:36:40.059744Z 0 [Note]   - '::' resolves to '::';
2016-12-15T08:36:40.059785Z 0 [Note] Server socket created on IP: '::'.
2016-12-15T08:36:40.068464Z 0 [Note] Event Scheduler: Loaded 0 events
2016-12-15T08:36:40.068606Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check.
2016-12-15T08:36:40.068619Z 0 [Note] Beginning of list of non-natively partitioned tables
2016-12-15T08:36:40.083454Z 0 [Note] End of list of non-natively partitioned tables
2016-12-15T08:36:40.083534Z 0 [Note] bin/mysqld: ready for connections.
Version: '5.7.17'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

Sorry about this false positive. I should clean my testing environment better.
[15 Dec 2016 8:42] Terje Røsten
Please consider to build outside sources, create a build dir 
and pass .. to cmake:

$ mkdir build-fc23
$ cmake ..  DCMAKE_BUILD_TYPE=RelWithDebInfo ....

this way you can build several targets from same sources
and might avoid trouble.
[15 Dec 2016 8:46] MySQL Verification Team
Thank you for confirming.

Regards,
Umesh