federated.federated_archive, federated.federated fails in valgrind 32bit

Bug #794840 reported by Stewart Smith on 2011-06-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
High
Unassigned
5.1
Fix Released
High
Unassigned
5.5
Fix Released
High
Unassigned

Bug Description

http://jenkins.percona.com/job/percona-server-5.5-valgrind/BUILD_TYPE=valgrind,Host=ubuntu-natty-32bit/3/consoleFull

federated.federated_archive w2 [ fail ] Found warnings/errors in server log file!
        Test ended at 2011-06-09 04:21:24
line
==9772== Uninitialised byte(s) found during client check request
==9772== at 0x8525ABB: buf_page_hash_get_low (buf0buf.ic:1041)
==9772== by 0x852E065: buf_page_get_gen (buf0buf.c:3494)
==9772== by 0x84EC5DA: trx_sys_file_format_max_read (trx0sys.c:1418)
==9772== by 0x84EF5B8: trx_sys_file_format_max_check (trx0sys.c:1466)
==9772== by 0x84D7786: innobase_start_or_create_for_mysql (srv0start.c:1834)
==9772== by 0x848FCDA: innobase_init(void*) (ha_innodb.cc:2858)
==9772== by 0x82D859D: ha_initialize_handlerton(st_plugin_int*) (handler.cc:462)
==9772== by 0x81BD3C7: plugin_initialize(st_plugin_int*) (sql_plugin.cc:1063)
==9772== by 0x81C2C5A: plugin_init(int*, char**, int) (sql_plugin.cc:1349)
==9772== by 0x8132B15: init_server_components() (mysqld.cc:3962)
==9772== by 0x8136781: mysqld_main(int, char**) (mysqld.cc:4634)
==9772== by 0x812B6B6: main (main.cc:24)
==9772== Address 0x92b5e38 is not stack'd, malloc'd or (recently) free'd
==9772== Uninitialised byte(s) found during client check request
==9772== at 0x852E93D: buf_page_get_gen (buf0buf.c:3774)
==9772== by 0x84EC5DA: trx_sys_file_format_max_read (trx0sys.c:1418)
==9772== by 0x84EF5B8: trx_sys_file_format_max_check (trx0sys.c:1466)
==9772== by 0x84D7786: innobase_start_or_create_for_mysql (srv0start.c:1834)
==9772== by 0x848FCDA: innobase_init(void*) (ha_innodb.cc:2858)
==9772== by 0x82D859D: ha_initialize_handlerton(st_plugin_int*) (handler.cc:462)
==9772== by 0x81BD3C7: plugin_initialize(st_plugin_int*) (sql_plugin.cc:1063)
==9772== by 0x81C2C5A: plugin_init(int*, char**, int) (sql_plugin.cc:1349)
==9772== by 0x8132B15: init_server_components() (mysqld.cc:3962)
==9772== by 0x8136781: mysqld_main(int, char**) (mysqld.cc:4634)
==9772== by 0x812B6B6: main (main.cc:24)
==9772== Address 0x92b5e38 is not stack'd, malloc'd or (recently) free'd

Related branches

Stewart Smith (stewart) wrote :

federated.federated looks to fail the same way.

summary: - federated.federated_archive fails in valgrind 32bit
+ federated.federated_archive, federated.federated fails in valgrind 32bit

Like for bug 794837, we need "mysql-5.5-trunk-valgrind" setup in Jenkins to find out if this is ours or upstream.

The bug is repeatable with -DHAVE_purify too.

The unitialized address is of bpage.flush_list in buf_page_hash_get_low. I have verified that this is not due struct padding.

bpage.list of InnoDB-Plugin is split into each dedicated list (UT_LIST_NODE_T)
bpage.free , bpage.flush_list and bpage.zip_list for more optimization.

So, at the case of "bpage.list", free list operation at buf_chunk_init() initialize the "bpage.list".
But, at split case, only "bpage.free" is initialized.

-----------------------
block->page.free.prev = NULL;
block->page.free.next = NULL;
block->page.zip_list.prev = NULL;
block->page.zip_list.next = NULL;
------------------------
I think, the lines should be added to buf_block_init() which called from buf_chunk_init()
to avoid complaining from valgrind/purify

I will fix soon

Oops
block->page.flush_list.prev = NULL;
block->page.flush_list.next = NULL;
block->page.zip_list.prev = NULL;
block->page.zip_list.next = NULL;

But I never think the bug is Critical.
The uninitialized values are never used.

If the bug fixed by the branch, I should fix also for 5.1
please inform the result

On Thu, 23 Jun 2011 07:45:22 -0000, Yasufumi Kinoshita <email address hidden> wrote:
> If the bug fixed by the branch, I should fix also for 5.1
> please inform the result

I've just set a valgrind run going in Jenkins on it:

http://jenkins.percona.com/view/Percona%20Server%205.5/job/percona-server-5.5-valgrind-param/2/

--
Stewart Smith

Stewart Smith (stewart) wrote :

It appears to be fixed for 5.5 with this branch, so I'll merge it for 5.5. Have also targeted to 5.1 so we can track 5.1 there too.

Thanks!

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-482

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers