| Bug #79986 | Many row_sel_store_mysql_field Valgrind client request errors on 32 bit builds | ||
|---|---|---|---|
| Submitted: | 14 Jan 2016 14:18 | Modified: | 22 Jan 2016 14:05 |
| Reporter: | Laurynas Biveinis (OCA) | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
| Version: | 5.7.10 | OS: | Ubuntu (15.10 32-bit) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | 32 bit, valgrind | ||
[14 Jan 2016 14:18]
Laurynas Biveinis
[22 Jan 2016 9:31]
MySQL Verification Team
Hello Laurynas,
Thank you for the report.
Could you please share exact cmake command used for the build?
I tried this way:
--
ushastry@ubuntu32:~/Downloads/mysql-5.7.10 cmake . -DWITH_DEBUG=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost
ushastry@ubuntu32:~/Downloads/mysql-5.7.10 make
ushastry@ubuntu32:~/Downloads/mysql-5.7.10$ cd mysql-test
ushastry@ubuntu32:~/Downloads/mysql-5.7.10/mysql-test$ ./mtr --debug-server --valgrind rpl_semi_sync --big-test
Logging: ./mtr --debug-server --valgrind rpl_semi_sync --big-test
MySQL Version 5.7.10
Turning on valgrind for all executables
Running valgrind with options " --show-reachable=yes "
Turning off --check-testcases to save time when valgrinding
Checking supported features...
- SSL connections supported
- binaries are debug compiled
Collecting tests...
- adding combinations for rpl
Checking leftover processes...
Removing old var directory...
Creating var directory '/home/ushastry/Downloads/mysql-5.7.10/mysql-test/var'...
Installing system database...
==============================================================================
TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
worker[1] mysql-test-run: WARNING: Waited 60 seconds for /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/run/mysqld.1.pid to be created, still waiting for 1740 seconds...
rpl.rpl_semi_sync 'mix' [ pass ] 349849
worker[1] mysql-test-run: WARNING: Waited 60 seconds for /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/run/mysqld.1.pid to be created, still waiting for 1740 seconds...
rpl.rpl_semi_sync 'row' [ pass ] 331910
worker[1] mysql-test-run: WARNING: Waited 60 seconds for /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/run/mysqld.1.pid to be created, still waiting for 1740 seconds...
worker[1] mysql-test-run: WARNING: Waited 120 seconds for /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/run/mysqld.1.pid to be created, still waiting for 1680 seconds...
rpl.rpl_semi_sync 'stmt' [ pass ] 356707
worker[1] Valgrind report from /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/log/mysqld.1.err after tests:
rpl.rpl_semi_sync
--------------------------------------------------------------------------
HEAP SUMMARY:
in use at exit: 18,944 bytes in 1 blocks
total heap usage: 77,981 allocs, 77,980 frees, 365,598,044 bytes allocated
18,944 bytes in 1 blocks are still reachable in loss record 1 of 1
at 0x402C19C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
by 0x411874A: ??? (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21)
by 0x400EDCF: call_init.part.0 (dl-init.c:72)
by 0x400EEDF: call_init (dl-init.c:30)
by 0x400EEDF: _dl_init (dl-init.c:120)
by 0x4000ACE: ??? (in /lib/i386-linux-gnu/ld-2.21.so)
LEAK SUMMARY:
definitely lost: 0 bytes in 0 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 18,944 bytes in 1 blocks
suppressed: 0 bytes in 0 blocks
For counts of detected and suppressed errors, rerun with: -v
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
worker[1] Valgrind report from /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/log/mysqld.1.err after tests:
rpl.rpl_semi_sync
--------------------------------------------------------------------------
HEAP SUMMARY:
in use at exit: 18,944 bytes in 1 blocks
total heap usage: 80,363 allocs, 80,362 frees, 366,699,548 bytes allocated
18,944 bytes in 1 blocks are still reachable in loss record 1 of 1
at 0x402C19C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
by 0x411874A: ??? (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21)
by 0x400EDCF: call_init.part.0 (dl-init.c:72)
by 0x400EEDF: call_init (dl-init.c:30)
by 0x400EEDF: _dl_init (dl-init.c:120)
by 0x4000ACE: ??? (in /lib/i386-linux-gnu/ld-2.21.so)
LEAK SUMMARY:
definitely lost: 0 bytes in 0 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 18,944 bytes in 1 blocks
suppressed: 0 bytes in 0 blocks
For counts of detected and suppressed errors, rerun with: -v
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
worker[1] Valgrind report from /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/log/mysqld.1.err after tests:
rpl.rpl_semi_sync
--------------------------------------------------------------------------
HEAP SUMMARY:
in use at exit: 18,944 bytes in 1 blocks
total heap usage: 79,107 allocs, 79,106 frees, 366,182,014 bytes allocated
18,944 bytes in 1 blocks are still reachable in loss record 1 of 1
at 0x402C19C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
by 0x411874A: ??? (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21)
by 0x400EDCF: call_init.part.0 (dl-init.c:72)
by 0x400EEDF: call_init (dl-init.c:30)
by 0x400EEDF: _dl_init (dl-init.c:120)
by 0x4000ACE: ??? (in /lib/i386-linux-gnu/ld-2.21.so)
LEAK SUMMARY:
definitely lost: 0 bytes in 0 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 18,944 bytes in 1 blocks
suppressed: 0 bytes in 0 blocks
For counts of detected and suppressed errors, rerun with: -v
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
valgrind_report [ fail ]
Test ended at 2016-01-22 13:52:46
Valgrind reported failures at shutdown, see above
--------------------------------------------------------------------------
The servers were restarted 2 times
Spent 1038.466 of 1788 seconds executing testcases
Completed: Failed 1/4 tests, 75.00% were successful.
Failing test(s): valgrind_report
The log files in var/log may give you some hint of what went wrong.
If you want to report this error, please read first the documentation
at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
OS and other details:
ushastry@ubuntu32:~/Downloads/mysql-5.7.10/mysql-test$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
NAME="Ubuntu"
VERSION="15.10 (Wily Werewolf)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.10"
VERSION_ID="15.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
ushastry@ubuntu32:~/Downloads/mysql-5.7.10/mysql-test$ valgrind --version
valgrind-3.11.0
ushastry@ubuntu32:~/Downloads/mysql-5.7.10/mysql-test$ cmake --version
cmake version 3.2.2
Thanks,
Umesh
[22 Jan 2016 10:12]
Laurynas Biveinis
Umesh - Please add -DWITH_VALGRIND=ON to your CMake args. Note that the reported Valgrind errors are coming from Valgrind client requests, and those need that CMake option to be compiled in.
[22 Jan 2016 11:00]
MySQL Verification Team
Thank you for the feedback. Regards, Umesh
[22 Jan 2016 14:05]
MySQL Verification Team
-- with 5.7.10 on Ubuntu 32bit
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
worker[1] mysql-test-run: WARNING: Waited 60 seconds for /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/run/mysqld.1.pid to be created, still waiting for 1740 seconds...
rpl.rpl_semi_sync 'mix' [ fail ] Found warnings/errors in server log file!
Test ended at 2016-01-22 19:32:02
line
==10846== Thread 28:
==10846== Uninitialised byte(s) found during client check request
==10846== at 0x96E54E3: row_sel_store_mysql_field_func(unsigned char*, row_prebuilt_t*, unsigned char const*, dict_index_t const*, unsigned long const*, unsigned long, mysql_row_templ_t const*) (row0sel.cc:3135)
==10846== by 0x96E5AB3: row_sel_store_mysql_rec(unsigned char*, row_prebuilt_t*, unsigned char const*, dtuple_t const*, unsigned long, dict_index_t const*, unsigned long const*) (row0sel.cc:3280)
==10846== by 0x96E8005: row_search_no_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) (row0sel.cc:4340)
==10846== by 0x954D691: ha_innobase::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function) (ha_innodb.cc:8304)
==10846== by 0x954E5D1: ha_innobase::index_first(unsigned char*) (ha_innodb.cc:8709)
==10846== by 0x954E8D7: ha_innobase::rnd_next(unsigned char*) (ha_innodb.cc:8814)
==10846== by 0x8AF4C43: handler::ha_rnd_next(unsigned char*) (handler.cc:2817)
==10846== by 0x908B20C: rr_sequential(READ_RECORD*) (records.cc:510)
==10846== by 0x9112C60: join_init_read_record(QEP_TAB*) (sql_executor.cc:2464)
==10846== by 0x910FDE2: sub_select(JOIN*, QEP_TAB*, bool) (sql_executor.cc:1271)
==10846== by 0x910F715: do_select(JOIN*) (sql_executor.cc:944)
==10846== by 0x910D676: JOIN::exec() (sql_executor.cc:199)
==10846== by 0x91AD12E: handle_query(THD*, LEX*, Query_result*, unsigned long long, unsigned long long) (sql_select.cc:184)
==10846== by 0x915F6D1: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5098)
==10846== by 0x915883B: mysql_execute_command(THD*, bool) (sql_parse.cc:2748)
==10846== by 0x916051B: mysql_parse(THD*, Parser_state*) (sql_parse.cc:5508)
==10846== Address 0x1440d762 is 2,314 bytes inside a block of size 2,328 alloc'd
==10846== at 0x402C19C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10846== by 0x94841B4: my_raw_malloc (my_malloc.c:191)
==10846== by 0x9483D14: my_malloc (my_malloc.c:54)
==10846== by 0x947BD8E: alloc_root (my_alloc.c:217)
==10846== by 0x9205F0E: create_tmp_table(THD*, Temp_table_param*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*) (sql_tmp_table.cc:1278)
==10846== by 0x91D53E7: create_schema_table(THD*, TABLE_LIST*) (sql_show.cc:7554)
==10846== by 0x91D61B3: mysql_schema_table(THD*, LEX*, TABLE_LIST*) (sql_show.cc:7783)
==10846== by 0x90D297A: open_and_process_table(THD*, LEX*, TABLE_LIST*, unsigned int*, unsigned int, Prelocking_strategy*, bool, Open_table_context*) (sql_base.cc:4914)
==10846== by 0x90D3C22: open_tables(THD*, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) (sql_base.cc:5633)
==10846== by 0x90D4D30: open_tables_for_query(THD*, TABLE_LIST*, unsigned int) (sql_base.cc:6373)
==10846== by 0x915F571: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5069)
==10846== by 0x915883B: mysql_execute_command(THD*, bool) (sql_parse.cc:2748)
==10846== by 0x916051B: mysql_parse(THD*, Parser_state*) (sql_parse.cc:5508)
==10846== by 0x91556AA: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1425)
==10846== by 0x915460D: do_command(THD*) (sql_parse.cc:993)
==10846== by 0x9286FB8: handle_connection (connection_handler_per_thread.cc:301)
==10846== Uninitialised byte(s) found during client check request
==10846== at 0x96E54E3: row_sel_store_mysql_field_func(unsigned char*, row_prebuilt_t*, unsigned char const*, dict_index_t const*, unsigned long const*, unsigned long, mysql_row_templ_t const*) (row0sel.cc:3135)
==10846== by 0x96E5AB3: row_sel_store_mysql_rec(unsigned char*, row_prebuilt_t*, unsigned char const*, dtuple_t const*, unsigned long, dict_index_t const*, unsigned long const*) (row0sel.cc:3280)
==10846== by 0x96E8005: row_search_no_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long) (row0sel.cc:4340)
==10846== by 0x954E2F1: ha_innobase::general_fetch(unsigned char*, unsigned int, unsigned int) (ha_innodb.cc:8597)
==10846== by 0x954E905: ha_innobase::rnd_next(unsigned char*) (ha_innodb.cc:8822)
==10846== by 0x8AF4C43: handler::ha_rnd_next(unsigned char*) (handler.cc:2817)
==10846== by 0x908B20C: rr_sequential(READ_RECORD*) (records.cc:510)
==10846== by 0x910FDF8: sub_select(JOIN*, QEP_TAB*, bool) (sql_executor.cc:1274)
==10846== by 0x910F715: do_select(JOIN*) (sql_executor.cc:944)
==10846== by 0x910D676: JOIN::exec() (sql_executor.cc:199)
==10846== by 0x91AD12E: handle_query(THD*, LEX*, Query_result*, unsigned long long, unsigned long long) (sql_select.cc:184)
==10846== by 0x915F6D1: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5098)
==10846== by 0x915883B: mysql_execute_command(THD*, bool) (sql_parse.cc:2748)
==10846== by 0x916051B: mysql_parse(THD*, Parser_state*) (sql_parse.cc:5508)
==10846== by 0x91556AA: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1425)
==10846== by 0x915460D: do_command(THD*) (sql_parse.cc:993)
==10846== Address 0x1440d762 is 2,314 bytes inside a block of size 2,328 alloc'd
==10846== at 0x402C19C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==10846== by 0x94841B4: my_raw_malloc (my_malloc.c:191)
==10846== by 0x9483D14: my_malloc (my_malloc.c:54)
==10846== by 0x947BD8E: alloc_root (my_alloc.c:217)
==10846== by 0x9205F0E: create_tmp_table(THD*, Temp_table_param*, List<Item>&, st_order*, bool, bool, unsigned long long, unsigned long long, char const*) (sql_tmp_table.cc:1278)
==10846== by 0x91D53E7: create_schema_table(THD*, TABLE_LIST*) (sql_show.cc:7554)
==10846== by 0x91D61B3: mysql_schema_table(THD*, LEX*, TABLE_LIST*) (sql_show.cc:7783)
==10846== by 0x90D297A: open_and_process_table(THD*, LEX*, TABLE_LIST*, unsigned int*, unsigned int, Prelocking_strategy*, bool, Open_table_context*) (sql_base.cc:4914)
==10846== by 0x90D3C22: open_tables(THD*, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) (sql_base.cc:5633)
==10846== by 0x90D4D30: open_tables_for_query(THD*, TABLE_LIST*, unsigned int) (sql_base.cc:6373)
==10846== by 0x915F571: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5069)
==10846== by 0x915883B: mysql_execute_command(THD*, bool) (sql_parse.cc:2748)
==10846== by 0x916051B: mysql_parse(THD*, Parser_state*) (sql_parse.cc:5508)
==10846== by 0x91556AA: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1425)
==10846== by 0x915460D: do_command(THD*) (sql_parse.cc:993)
==10846== by 0x9286FB8: handle_connection (connection_handler_per_thread.cc:301)
^ Found warnings in /home/ushastry/Downloads/mysql-5.7.10/mysql-test/var/log/mysqld.1.err
ok
