Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-8020

innodb.innodb-mdev-7055 produces valgrind warnings in buildbot

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5(EOL)
    • 5.5.43
    • Tests
    • None

    Description

      It's been discussed earlier, but the has been no progress so far.

      http://buildbot.askmonty.org/buildbot/builders/work-amd64-valgrind/builds/7050/steps/test/logs/stdio

      innodb.innodb-mdev-7055 'innodb_plugin'  w1 [ fail ]  Found warnings/errors in server log file!
              Test ended at 2015-04-16 03:36:08
      line
      ==2731== Thread 14:
      ==2731== Syscall param pwrite64(buf) points to uninitialised byte(s)
      ==2731==    at 0x4E3C3C8: ??? (in /lib64/libpthread-2.9.so)
      ==2731==    by 0x9C320E2: os_file_write_func (os0file.c:2409)
      ==2731==    by 0x9C37157: pfs_os_aio_func (os0file.ic:246)
      ==2731==    by 0x9BFA927: fil_io (fil0fil.c:4706)
      ==2731==    by 0x9C24217: log_group_write_buf (log0log.c:1416)
      ==2731==    by 0x9C25119: log_write_up_to (log0log.c:1598)
      ==2731==    by 0x9CA9D4B: trx_commit_complete_for_mysql (trx0trx.c:1724)
      ==2731==    by 0x9C5BDFC: innobase_commit(handlerton*, THD*, bool) (ha_innodb.cc:2951)
      ==2731==    by 0x74E033: commit_one_phase_2(THD*, bool, THD_TRANS*, bool) (handler.cc:1407)
      ==2731==    by 0x74E1DA: ha_commit_one_phase(THD*, bool) (handler.cc:1390)
      ==2731==    by 0x74EB5D: ha_commit_trans(THD*, bool) (handler.cc:1278)
      ==2731==    by 0x6BC730: trans_commit_stmt(THD*) (transaction.cc:345)
      ==2731==    by 0x5C9917: mysql_execute_command(THD*) (sql_parse.cc:4574)
      ==2731==    by 0x5CF2C4: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5909)
      ==2731==    by 0x5D1A29: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1079)
      ==2731==    by 0x5D22DD: do_command(THD*) (sql_parse.cc:793)
      ==2731==  Address 0xb3a829d is 82,541 bytes inside a block of size 1,049,240 alloc'd
      ==2731==    at 0x4C25DD6: malloc (vg_replace_malloc.c:270)
      ==2731==    by 0x9CB1513: ut_malloc_low (ut0mem.c:115)
      ==2731==    by 0x9C2D090: mem_heap_create_block (mem0mem.c:333)
      ==2731==    by 0x9C2D3C2: mem_heap_create_func (mem0mem.ic:439)
      ==2731==    by 0x9C2D730: mem_alloc_func (mem0mem.ic:525)
      ==2731==    by 0x9C2466A: log_init (log0log.c:894)
      ==2731==    by 0x9C97D34: innobase_start_or_create_for_mysql (srv0start.c:1450)
      ==2731==    by 0x9C560D5: innobase_init(void*) (ha_innodb.cc:2611)
      ==2731==    by 0x74BADB: ha_initialize_handlerton(st_plugin_int*) (handler.cc:470)
      ==2731==    by 0x5D9772: plugin_initialize(st_mem_root*, st_plugin_int*, int*, char**, bool) (sql_plugin.cc:1372)
      ==2731==    by 0x5DB53B: plugin_init(int*, char**, int) (sql_plugin.cc:1661)
      ==2731==    by 0x52629C: init_server_components() (mysqld.cc:4335)
      ==2731==    by 0x5274AB: mysqld_main(int, char**) (mysqld.cc:4934)
      ==2731==    by 0x6244585: (below main) (in /lib64/libc-2.9.so)
      ==2731== Use of uninitialised value of size 8
      ==2731==    at 0xBF53E1: my_wc_mb_latin1 (ctype-latin1.c:383)
      ==2731==    by 0x647B85: copy_and_convert(char*, unsigned int, charset_info_st const*, char const*, unsigned int, charset_info_st const*, unsigned int*) (sql_string.cc:847)
      ==2731==    by 0x52F14E: Protocol::net_store_data_cs(unsigned char const*, unsigned long, charset_info_st const*, charset_info_st const*) (protocol.cc:118)
      ==2731==    by 0x52F3CF: Protocol_text::store(Field*) (protocol.cc:1175)
      ==2731==    by 0x530248: Protocol::send_result_set_row(List<Item>*) (protocol.cc:903)
      ==2731==    by 0x58C238: select_send::send_data(List<Item>&) (sql_class.cc:2370)
      ==2731==    by 0x5FE8FD: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:18019)
      ==2731==    by 0x5F599C: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:17130)
      ==2731==    by 0x5F853C: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:16950)
      ==2731==    by 0x61C24C: do_select(JOIN*, List<Item>*, TABLE*, Procedure*) (sql_select.cc:16573)
      ==2731==    by 0x625447: JOIN::exec() (sql_select.cc:2871)
      ==2731==    by 0x6278A4: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3092)
      ==2731==    by 0x6284F3: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
      ==2731==    by 0x5C393C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4689)
      ==2731==    by 0x5CC711: mysql_execute_command(THD*) (sql_parse.cc:2234)
      ==2731==    by 0x5CF2C4: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5909)
      ==2731== Conditional jump or move depends on uninitialised value(s)
      ==2731==    at 0x647B89: copy_and_convert(char*, unsigned int, charset_info_st const*, char const*, unsigned int, charset_info_st const*, unsigned int*) (sql_string.cc:847)
      ==2731==    by 0x52F14E: Protocol::net_store_data_cs(unsigned char const*, unsigned long, charset_info_st const*, charset_info_st const*) (protocol.cc:118)
      ==2731==    by 0x52F3CF: Protocol_text::store(Field*) (protocol.cc:1175)
      ==2731==    by 0x530248: Protocol::send_result_set_row(List<Item>*) (protocol.cc:903)
      ==2731==    by 0x58C238: select_send::send_data(List<Item>&) (sql_class.cc:2370)
      ==2731==    by 0x5FE8FD: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:18019)
      ==2731==    by 0x5F599C: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:17130)
      ==2731==    by 0x5F853C: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:16950)
      ==2731==    by 0x61C24C: do_select(JOIN*, List<Item>*, TABLE*, Procedure*) (sql_select.cc:16573)
      ==2731==    by 0x625447: JOIN::exec() (sql_select.cc:2871)
      ==2731==    by 0x6278A4: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3092)
      ==2731==    by 0x6284F3: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
      ==2731==    by 0x5C393C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4689)
      ==2731==    by 0x5CC711: mysql_execute_command(THD*) (sql_parse.cc:2234)
      ==2731==    by 0x5CF2C4: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5909)
      ==2731==    by 0x5D1A29: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1079)
      ==2731== Conditional jump or move depends on uninitialised value(s)
      ==2731==    at 0x647B60: copy_and_convert(char*, unsigned int, charset_info_st const*, char const*, unsigned int, charset_info_st const*, unsigned int*) (sql_string.cc:849)
      ==2731==    by 0x52F14E: Protocol::net_store_data_cs(unsigned char const*, unsigned long, charset_info_st const*, charset_info_st const*) (protocol.cc:118)
      ==2731==    by 0x52F3CF: Protocol_text::store(Field*) (protocol.cc:1175)
      ==2731==    by 0x530248: Protocol::send_result_set_row(List<Item>*) (protocol.cc:903)
      ==2731==    by 0x58C238: select_send::send_data(List<Item>&) (sql_class.cc:2370)
      ==2731==    by 0x5FE8FD: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:18019)
      ==2731==    by 0x5F599C: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:17130)
      ==2731==    by 0x5F853C: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:16950)
      ==2731==    by 0x61C24C: do_select(JOIN*, List<Item>*, TABLE*, Procedure*) (sql_select.cc:16573)
      ==2731==    by 0x625447: JOIN::exec() (sql_select.cc:2871)
      ==2731==    by 0x6278A4: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3092)
      ==2731==    by 0x6284F3: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
      ==2731==    by 0x5C393C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4689)
      ==2731==    by 0x5CC711: mysql_execute_command(THD*) (sql_parse.cc:2234)
      ==2731==    by 0x5CF2C4: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5909)
      ==2731==    by 0x5D1A29: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1079)
      ==2731== Conditional jump or move depends on uninitialised value(s)
      ==2731==    at 0x647B68: copy_and_convert(char*, unsigned int, charset_info_st const*, char const*, unsigned int, charset_info_st const*, unsigned int*) (sql_string.cc:849)
      ==2731==    by 0x52F14E: Protocol::net_store_data_cs(unsigned char const*, unsigned long, charset_info_st const*, charset_info_st const*) (protocol.cc:118)
      ==2731==    by 0x52F3CF: Protocol_text::store(Field*) (protocol.cc:1175)
      ==2731==    by 0x530248: Protocol::send_result_set_row(List<Item>*) (protocol.cc:903)
      ==2731==    by 0x58C238: select_send::send_data(List<Item>&) (sql_class.cc:2370)
      ==2731==    by 0x5FE8FD: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:18019)
      ==2731==    by 0x5F599C: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:17130)
      ==2731==    by 0x5F853C: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:16950)
      ==2731==    by 0x61C24C: do_select(JOIN*, List<Item>*, TABLE*, Procedure*) (sql_select.cc:16573)
      ==2731==    by 0x625447: JOIN::exec() (sql_select.cc:2871)
      ==2731==    by 0x6278A4: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3092)
      ==2731==    by 0x6284F3: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
      ==2731==    by 0x5C393C: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4689)
      ==2731==    by 0x5CC711: mysql_execute_command(THD*) (sql_parse.cc:2234)
      ==2731==    by 0x5CF2C4: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5909)
      ==2731==    by 0x5D1A29: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1079)
      ^ Found warnings in /var/lib/buildbot/maria-slave/work-opensuse-amd64/build/mysql-test/var/1/log/mysqld.1.err

      It's the only test that currently fails in the valgrind builder on 5.5, so it would be really nice to have it fixed.

      Attachments

        Issue Links

          Activity

            Log writes are done using static block sizes, clearly sometimes the end of the block is not initialized. However, this code is not familiar to me and my fix tries did not resolve the issue.

            jplindst Jan Lindström (Inactive) added a comment - Log writes are done using static block sizes, clearly sometimes the end of the block is not initialized. However, this code is not familiar to me and my fix tries did not resolve the issue.

            Serg: Any suggestions how to find where exactly the unused bytes from block(s) remain uninitialized ?

            jplindst Jan Lindström (Inactive) added a comment - Serg: Any suggestions how to find where exactly the unused bytes from block(s) remain uninitialized ?

            I don't know this code either. In cases like that (when there's a lot of unfamiliar code) I'm trying to reduce the amount of code to look at. With git bisect you can find what exactly commit has introduced the bug. Hopefully it'll be small enough to understand what went wrong.

            serg Sergei Golubchik added a comment - I don't know this code either. In cases like that (when there's a lot of unfamiliar code) I'm trying to reduce the amount of code to look at. With git bisect you can find what exactly commit has introduced the bug. Hopefully it'll be small enough to understand what went wrong.

            People

              jplindst Jan Lindström (Inactive)
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.