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

Bug #794840 reported by Stewart Smith
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

Revision history for this message
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
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

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

Revision history for this message
Stewart Smith (stewart) wrote :
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

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.

Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

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

Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

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;

Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

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

Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

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

Revision history for this message
Stewart Smith (stewart) wrote : Re: [Bug 794840] Re: federated.federated_archive, federated.federated fails in valgrind 32bit

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

Revision history for this message
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!

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.