Bug #47808 innodb_information_schema.test fails when run under valgrind
| Submitted: | 4 Oct 2009 10:04 | Modified: | 19 Jun 2010 0:20 |
|---|---|---|---|
| Reporter: | Georgi Kodinov | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: InnoDB Plugin storage engine | Severity: | S3 (Non-critical) |
| Version: | 5.1+ | OS: | Linux (Fedora Core 11/x86_64) |
| Assigned to: | Satya B | CPU Architecture: | Any |
[4 Oct 2009 10:16]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/85664 3150 Georgi Kodinov 2009-10-04 Disable innodb_information_schema.test until bug #47808 is fixed.
[5 Oct 2009 15:43]
Vasil Dimov
This could be the reason for the failure: innodb_information_schema.test: 112 # Give time to the above 2 queries to execute before continuing. 113 # Without this sleep it sometimes happens that the SELECT from innodb_locks 114 # executes before some of them, resulting in less than expected number 115 # of rows being selected from innodb_locks. 116 -- sleep 0.1 Georgi, can you change the above to e.g. sleep 5 and see if the test passes? Thanks!
[6 Oct 2009 6:43]
Vasil Dimov
I confirm that the sleep 0.1 is the reason for the failure, changing it to sleep 20 results in no missing rows, which of course is not a solution to the problem with the timing.
[6 Oct 2009 7:03]
Sergey Vojtovich
Sleep is extremely fragile for the purpose of waiting for a condition. Some of the "wait" scripts should work here, see mysql-test/include/wait_*.inc
[6 Oct 2009 9:00]
Bugs System
Pushed into 5.1.40 (revid:joro@sun.com-20091006073316-lea2cpijh9r6on7c) (version source revid:joro@sun.com-20091004101553-vwri4yqps0nisb8y) (merge vers: 5.1.40) (pib:11)
[19 Oct 2009 12:56]
Vasil Dimov
Patch to fix this bug
Attachment: innodb_information_schema.test.diff (application/octet-stream, text), 1.21 KiB.
[19 Oct 2009 13:01]
Vasil Dimov
Here is a patch to fix this bug: http://bugs.mysql.com/file.php?id=13144 The patch uses the wait macros (thanks, Sergey!) I confirm that without this patch I get the error reported here and after applying the patch the error is gone. Btw there are some unrelated to this bug warnings produced: ./mysql-test-run --valgrind innodb_information_schema Logging: ./mysql-test-run --valgrind innodb_information_schema MySQL Version 5.1.41 Turning on valgrind for all executables Running valgrind with options " --show-reachable=yes " Checking supported features... - skipping ndbcluster, mysqld not compiled with ndbcluster - skipping SSL, mysqld not compiled with SSL Using "../libtool" when running valgrind or debugger Collecting tests... vardir: /tmp/mysql-5.1-checkout-lightweight/mysql-test/var Checking leftover processes... Removing old var directory... Creating var directory '/tmp/mysql-5.1-checkout-lightweight/mysql-test/var'... Installing system database... Using server port 42897 ============================================================================== TEST RESULT TIME (ms) ------------------------------------------------------------ worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009 innodb.innodb_information_schema [ skipped ] Test requires: 'true' innodb.innodb_information_schema 'InnoDB plugin' [ fail ] Found warnings/errors in server log file! Test ended at 2009-10-19 05:54:25 mysqltest: Logging to ''. mysqltest: Results saved in ''. mysqltest: Connecting to server localhost:13000 (socket /tmp/mysql-5.1-checkout-lightweight/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ... mysqltest: ... Connected. mysqltest: Start processing test commands from './include/check-warnings.test' ... file_name line /tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/mysqld.1.err ==7298== at 0x5A04E2D: rw_lock_x_lock_func (in /tmp/mysql-5.1-checkout-lightweight/storage/innodb_plugin/.libs/ha_innodb_plugin.so.0.0.0) /tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/mysqld.1.err ==7298== at 0x5A04E2D: rw_lock_x_lock_func (in /tmp/mysql-5.1-checkout-lightweight/storage/innodb_plugin/.libs/ha_innodb_plugin.so.0.0.0) /tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/mysqld.1.err ==7298== at 0x5A04FA8: rw_lock_x_lock_func (in /tmp/mysql-5.1-checkout-lightweight/storage/innodb_plugin/.libs/ha_innodb_plugin.so.0.0.0) /tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/mysqld.1.err ==7298== at 0x5A04FA8: rw_lock_x_lock_func (in /tmp/mysql-5.1-checkout-lightweight/storage/innodb_plugin/.libs/ha_innodb_plugin.so.0.0.0) ... /tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/mysqld.1.err ==7298== at 0x5A04E2D: rw_lock_x_lock_func (in /tmp/mysql-5.1-checkout-lightweight/storage/innodb_plugin/.libs/ha_innodb_plugin.so.0.0.0) ^ Found warnings!! mysqltest: ... Done processing test commands. mysqltest: Test has succeeded! ok - saving '/tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/innodb.innodb_information_schema-InnoDB plugin/' to '/tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/innodb.innodb_information_schema-InnoDB plugin/' ------------------------------------------------------------ The servers were restarted 1 times Spent 0.000 of 25 seconds executing testcases mysql-test-run: WARNING: Got errors/warnings while running tests, please examine '/tmp/mysql-5.1-checkout-lightweight/mysql-test/var/log/warnings' for details. Failed 1/1 tests, 0.00% were successful. Failing test(s): innodb.innodb_information_schema The log files in var/log may give you some hint of what went wrong.
[22 Oct 2009 6:35]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091022063126-l0qzirh9xyhp0bpc) (version source revid:alik@sun.com-20091019135554-s1pvptt6i750lfhv) (merge vers: 6.0.14-alpha) (pib:13)
[22 Oct 2009 7:07]
Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091022060553-znkmxm0g0gm6ckvw) (version source revid:alik@sun.com-20091013094238-g67x6tgdm9a7uik0) (merge vers: 5.5.0-beta) (pib:13)
[4 Nov 2009 9:25]
Bugs System
Pushed into 5.1.41 (revid:joro@sun.com-20091104092152-qz96bzlf2o1japwc) (version source revid:kristofer.pettersson@sun.com-20091103162305-08l4gkeuif2ozsoj) (merge vers: 5.1.41) (pib:13)
[11 Nov 2009 6:50]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091110093407-rw5g8dys2baqkt67) (version source revid:alik@sun.com-20091109080109-7dxapd5y5pxlu08w) (merge vers: 6.0.14-alpha) (pib:13)
[11 Nov 2009 6:58]
Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091109115615-nuohp02h8mdrz8m2) (version source revid:svoj@sun.com-20091105122958-jyqjx9xus8v4e0yd) (merge vers: 5.5.0-beta) (pib:13)
[22 Nov 2009 0:27]
Paul DuBois
Changes to test case. No changelog entry needed.
[18 Dec 2009 10:33]
Bugs System
Pushed into 5.1.41-ndb-7.1.0 (revid:jonas@mysql.com-20091218102229-64tk47xonu3dv6r6) (version source revid:jonas@mysql.com-20091218095730-26gwjidfsdw45dto) (merge vers: 5.1.41-ndb-7.1.0) (pib:15)
[18 Dec 2009 10:49]
Bugs System
Pushed into 5.1.41-ndb-6.2.19 (revid:jonas@mysql.com-20091218100224-vtzr0fahhsuhjsmt) (version source revid:jonas@mysql.com-20091217101452-qwzyaig50w74xmye) (merge vers: 5.1.41-ndb-6.2.19) (pib:15)
[18 Dec 2009 11:04]
Bugs System
Pushed into 5.1.41-ndb-6.3.31 (revid:jonas@mysql.com-20091218100616-75d9tek96o6ob6k0) (version source revid:jonas@mysql.com-20091217154335-290no45qdins5bwo) (merge vers: 5.1.41-ndb-6.3.31) (pib:15)
[18 Dec 2009 11:18]
Bugs System
Pushed into 5.1.41-ndb-7.0.11 (revid:jonas@mysql.com-20091218101303-ga32mrnr15jsa606) (version source revid:jonas@mysql.com-20091218064304-ezreonykd9f4kelk) (merge vers: 5.1.41-ndb-7.0.11) (pib:15)
[5 May 2010 15:16]
Bugs System
Pushed into 5.1.47 (revid:joro@sun.com-20100505145753-ivlt4hclbrjy8eye) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[6 May 2010 17:17]
Paul DuBois
Push resulted from incorporation of InnoDB tree. No changes pertinent to this bug. Re-closing.
[28 May 2010 6:02]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100524190136-egaq7e8zgkwb9aqi) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (pib:16)
[28 May 2010 6:31]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100524190941-nuudpx60if25wsvx) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[28 May 2010 6:59]
Bugs System
Pushed into 5.5.5-m3 (revid:alik@sun.com-20100524185725-c8k5q7v60i5nix3t) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[30 May 2010 0:17]
Paul DuBois
Push resulted from incorporation of InnoDB tree. No changes pertinent to this bug. Re-closing.
[15 Jun 2010 8:15]
Bugs System
Pushed into 5.5.5-m3 (revid:alik@sun.com-20100615080459-smuswd9ooeywcxuc) (version source revid:mmakela@bk-internal.mysql.com-20100415070122-1nxji8ym4mao13ao) (merge vers: 5.1.47) (pib:16)
[15 Jun 2010 8:32]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100615080558-cw01bzdqr1bdmmec) (version source revid:mmakela@bk-internal.mysql.com-20100415070122-1nxji8ym4mao13ao) (pib:16)
[17 Jun 2010 12:06]
Bugs System
Pushed into 5.1.47-ndb-7.0.16 (revid:martin.skold@mysql.com-20100617114014-bva0dy24yyd67697) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 12:51]
Bugs System
Pushed into 5.1.47-ndb-6.2.19 (revid:martin.skold@mysql.com-20100617115448-idrbic6gbki37h1c) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 13:33]
Bugs System
Pushed into 5.1.47-ndb-6.3.35 (revid:martin.skold@mysql.com-20100617114611-61aqbb52j752y116) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.054 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: Innodb_information_schema.test fails for innodb plugin when run under valgrind as follows : innodb.innodb_information_schema 'InnoDB plugin' w8 [ fail ] Test ended at 2009-10-02 23:50:30 CURRENT_TEST: innodb.innodb_information_schema ==30753== Memcheck, a memory error detector. ==30753== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al. ==30753== Using LibVEX rev 1658, a library for dynamic binary translation. ==30753== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==30753== Using valgrind-3.2.1, a dynamic binary instrumentation framework. ==30753== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==30753== For more details, rerun with: -v ==30753== --- /export/home/pb2/test/sb_1-787728-1254519012.52/mysql-5.1.40-linux-x86_64-test/mysql-test/suite/innodb/r/innodb_information_schema.result 2009-10-02 16:42:34.000000000 +0300 +++ /export/home/pb2/test/sb_1-787728-1254519012.52/mysql-5.1.40-linux-x86_64-test/mysql-test/suite/innodb/r/innodb_information_schema.reject 2009-10-03 00:50:29.000000000 +0300 @@ -1,18 +1,8 @@ lock_mode lock_type lock_table lock_index lock_rec lock_data -X RECORD `test`.```t'\"_str` `PRIMARY` 2 '1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc''''' -X RECORD `test`.```t'\"_str` `PRIMARY` 2 '1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc''''' -X RECORD `test`.```t'\"_str` `PRIMARY` 3 '2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""' -X RECORD `test`.```t'\"_str` `PRIMARY` 3 '2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""' -X RECORD `test`.```t'\"_str` `PRIMARY` 4 '3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\' -X RECORD `test`.```t'\"_str` `PRIMARY` 4 '3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\' X RECORD `test`.```t'\"_str` `PRIMARY` 5 '4', 'abc', '\0abc', 'abc\0', 'a\0bc', 'a\0bc\0', 'a\0bc\0\0' X RECORD `test`.```t'\"_str` `PRIMARY` 5 '4', 'abc', '\0abc', 'abc\0', 'a\0bc', 'a\0bc\0', 'a\0bc\0\0' X RECORD `test`.`t_min` `PRIMARY` 2 -128, 0, -32768, 0, -8388608, 0, -2147483648, 0, -9223372036854775808, 0 X RECORD `test`.`t_min` `PRIMARY` 2 -128, 0, -32768, 0, -8388608, 0, -2147483648, 0, -9223372036854775808, 0 -X RECORD `test`.`t_max` `PRIMARY` 2 127, 255, 32767, 65535, 8388607, 16777215, 2147483647, 4294967295, 9223372036854775807, 18446744073709551615 -X RECORD `test`.`t_max` `PRIMARY` 2 127, 255, 32767, 65535, 8388607, 16777215, 2147483647, 4294967295, 9223372036854775807, 18446744073709551615 -X RECORD `test`.```t'\"_str` `PRIMARY` 1 supremum pseudo-record -X RECORD `test`.```t'\"_str` `PRIMARY` 1 supremum pseudo-record lock_table COUNT(*) `test`.`t_max` 2 `test`.`t_min` 2 mysqltest: Result content mismatch ==30753== ==30753== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1) ==30753== malloc/free: in use at exit: 344 bytes in 10 blocks. ==30753== malloc/free: 1,055 allocs, 1,045 frees, 518,825 bytes allocated. ==30753== For counts of detected errors, rerun with: -v ==30753== searching for pointers to 10 not-freed blocks. ==30753== checked 2,294,848 bytes. ==30753== ==30753== 32 bytes in 1 blocks are still reachable in loss record 1 of 3 ==30753== at 0x4A0590B: realloc (vg_replace_malloc.c:306) ==30753== by 0x4661B4: my_realloc (my_realloc.c:62) ==30753== by 0x46D0B5: dynstr_append_mem (string.c:106) ==30753== by 0x452F58: do_eval(st_dynamic_string*, char const*, char const*, char) (mysqltest.cc:798) ==30753== by 0x453851: check_command_args(st_command*, char const*, command_arg const*, int, char) (mysqltest.cc:996) ==30753== by 0x45659C: do_close_connection(st_command*) (mysqltest.cc:4645) ==30753== by 0x458B2F: main (mysqltest.cc:7740) { <insert a suppression name here> Memcheck:Leak fun:_vgrZU_libcZdsoZa_realloc fun:my_realloc fun:dynstr_append_mem fun:_Z7do_evalP17st_dynamic_stringPKcS2_c fun:_Z18check_command_argsP10st_commandPKcPK11command_argic fun:_Z19do_close_connectionP10st_command fun:main } ==30753== ==30753== ==30753== 256 bytes in 8 blocks are definitely lost in loss record 3 of 3 ==30753== at 0x4A0590B: realloc (vg_replace_malloc.c:306) ==30753== by 0x4661B4: my_realloc (my_realloc.c:62) ==30753== by 0x46D0B5: dynstr_append_mem (string.c:106) ==30753== by 0x452F58: do_eval(st_dynamic_string*, char const*, char const*, char) (mysqltest.cc:798) ==30753== by 0x453851: check_command_args(st_command*, char const*, command_arg const*, int, char) (mysqltest.cc:996) ==30753== by 0x45659C: do_close_connection(st_command*) (mysqltest.cc:4645) ==30753== by 0x458B2F: main (mysqltest.cc:7740) { <insert a suppression name here> Memcheck:Leak fun:_vgrZU_libcZdsoZa_realloc fun:my_realloc fun:dynstr_append_mem fun:_Z7do_evalP17st_dynamic_stringPKcS2_c fun:_Z18check_command_argsP10st_commandPKcPK11command_argic fun:_Z19do_close_connectionP10st_command fun:main } ==30753== ==30753== LEAK SUMMARY: ==30753== definitely lost: 256 bytes in 8 blocks. ==30753== possibly lost: 0 bytes in 0 blocks. ==30753== still reachable: 32 bytes in 1 blocks. ==30753== suppressed: 56 bytes in 1 blocks. How to repeat: Compile with valgrind and run ./mysql-test-run --valgrind innodb_information_schema.test Suggested fix: "cure" the valgrind warnings