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

LP:635691 - OQGraph valgrind warnings when running a Random Query Generator test

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 5.3.9
    • Fix Version/s: 5.5.35, 5.3.13, 5.2.15
    • Component/s: None
    • Labels:

      Description

      When running a RQG test under valgrind against Maria 5.2, the following valgrind warnings were reported:

      ==6713== Conditional jump or move depends on uninitialised value(s)
      ==6713==    at 0x4E3427E: open_query::oqgraph::modify_edge(open_query::oqgraph::current_row_st, unsigned long long*, unsigned long long*, double*, bool) (graphcore.cc:648)
      ==6713==    by 0x4E2C47D: ha_oqgraph::update_row(unsigned char const*, unsigned char*) (ha_oqgraph.cc:545)
      ==6713==    by 0x83AA698: handler::ha_update_row(unsigned char const*, unsigned char*) (handler.cc:4869)
      ==6713==    by 0x832D9B5: mysql_update(THD*, TABLE_LIST*, List<Item>&, List<Item>&, Item*, unsigned int, st_order*, unsigned long long, enum_duplicates, bool) (sql_update.cc:652)
      ==6713==    by 0x8282B3C: mysql_execute_command(THD*) (sql_parse.cc:3120)
      ==6713==    by 0x828BB46: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6055)
      ==6713==    by 0x827DCA6: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1204)
      ==6713==    by 0x827D102: do_command(THD*) (sql_parse.cc:898)
      ==6713==    by 0x827A1EB: handle_one_connection (sql_connect.cc:1154)
      ==6713==    by 0xBEA918: start_thread (in /lib/libpthread-2.12.so)
      ==6713==    by 0xB2CCBD: clone (in /lib/libc-2.12.so)
      ==6713==
      ==6713== Conditional jump or move depends on uninitialised value(s)
      ==6713==    at 0x4E34732: open_query::oqgraph::insert_edge(unsigned long long, unsigned long long, double, bool) (graphcore.cc:558)
      ==6713==    by 0x4E2BE63: ha_oqgraph::write_row(unsigned char*) (ha_oqgraph.cc:463)
      ==6713==    by 0x83AA526: handler::ha_write_row(unsigned char*) (handler.cc:4846)
      ==6713==    by 0x8318C31: write_record(THD*, st_table*, st_copy_info*) (sql_insert.cc:1638)
      ==6713==    by 0x831CE56: select_insert::send_data(List<Item>&) (sql_insert.cc:3223)
      ==6713==    by 0x8305EC2: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:12612)
      ==6713==    by 0x83040C7: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:11788)
      ==6713==    by 0x8303D4A: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:11660)
      ==6713==    by 0x83038AA: do_select(JOIN*, List<Item>*, st_table*, Procedure*) (sql_select.cc:11416)
      ==6713==    by 0x82ECB8F: JOIN::exec() (sql_select.cc:2328)
      ==6713==    by 0x82ED2AC: 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:2528)
      ==6713==    by 0x82E5B40: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:280)
      ==6713==    by 0x82833D6: mysql_execute_command(THD*) (sql_parse.cc:3290)
      ==6713==    by 0x828BB46: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6055)
      ==6713==    by 0x827DCA6: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1204)
      ==6713==    by 0x827D102: do_command(THD*) (sql_parse.cc:898)
      ==6713==
      ==6713== Conditional jump or move depends on uninitialised value(s)
      ==6713==    at 0x4E2BEC3: ha_oqgraph::write_row(unsigned char*) (ha_oqgraph.cc:468)
      ==6713==    by 0x83AA526: handler::ha_write_row(unsigned char*) (handler.cc:4846)
      ==6713==    by 0x8318C31: write_record(THD*, st_table*, st_copy_info*) (sql_insert.cc:1638)
      ==6713==    by 0x831CE56: select_insert::send_data(List<Item>&) (sql_insert.cc:3223)
      ==6713==    by 0x8305EC2: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:12612)
      ==6713==    by 0x83040C7: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:11788)
      ==6713==    by 0x8303D4A: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:11660)
      ==6713==    by 0x83038AA: do_select(JOIN*, List<Item>*, st_table*, Procedure*) (sql_select.cc:11416)
      ==6713==    by 0x82ECB8F: JOIN::exec() (sql_select.cc:2328)
      ==6713==    by 0x82ED2AC: 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:2528)
      ==6713==    by 0x82E5B40: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:280)
      ==6713==    by 0x82833D6: mysql_execute_command(THD*) (sql_parse.cc:3290)
      ==6713==    by 0x828BB46: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6055)
      ==6713==    by 0x827DCA6: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1204)
      ==6713==    by 0x827D102: do_command(THD*) (sql_parse.cc:898)
      ==6713==    by 0x827A1EB: handle_one_connection (sql_connect.cc:1154)
      

      bzr version-info:

      revision-id: <email address hidden>
      date: 2010-08-26 16:20:27 +0300
      build-date: 2010-09-11 14:52:18 +0300
      revno: 2849
      branch-nick: maria-5.2
      

      The test case will be uploaded shortly

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            philipstoev Philip Stoev added a comment -

            Valgrind also reports various memory leaks.
            valgrind log
            LPexportBug635691_bug635691-log.zip

            Show
            philipstoev Philip Stoev added a comment - Valgrind also reports various memory leaks. valgrind log LPexportBug635691_bug635691-log.zip
            Hide
            philipstoev Philip Stoev added a comment -

            Re: Misc valgrind warnings when running a Random Query Generator test
            Valgrind also reports various memory leaks.

            Show
            philipstoev Philip Stoev added a comment - Re: Misc valgrind warnings when running a Random Query Generator test Valgrind also reports various memory leaks.
            Hide
            philipstoev Philip Stoev added a comment -

            Init file for oqgraph
            LPexportBug635691_bug635691.init

            Show
            philipstoev Philip Stoev added a comment - Init file for oqgraph LPexportBug635691_bug635691.init
            Hide
            philipstoev Philip Stoev added a comment -

            Re: Misc valgrind warnings when running a Random Query Generator test

            Show
            philipstoev Philip Stoev added a comment - Re: Misc valgrind warnings when running a Random Query Generator test
            Hide
            philipstoev Philip Stoev added a comment -

            To reproduce, please obtain the Random Query Generator

            bzr branch lp:randgen

            and then run the following command line, tailored to your environment:

            perl runall.pl \
            --grammar=bug635691yy
            -mysqld=-init-file=/home/philips/bzr/randgen-oqgraph/conf/oqgraph/bug635691.init
            --basedir=/home/philips/bzr/maria-5.2/
            -mysqld=-plugin-load=oqgraph_engine.so
            -mysqld=-plugin-dir=/home/philips/bzr/maria-5.2/storage/oqgraph/.libs
            --queries=10K
            --valgrind
            --threads=2

            You can disregard any output from the test framework and instead directly monitor the server error log for valgrind warnings. You can interrupt the test with Ctrl+C and initiate a mysqld shutdown using the mysqladmin tool in order to observe the valgrind warnings that are printed when the server exists.

            More information about the tool is available from http://forge.mysql.com/RandomQueryGenerator
            RQG grammar file
            LPexportBug635691_bug635691.yy

            Show
            philipstoev Philip Stoev added a comment - To reproduce, please obtain the Random Query Generator bzr branch lp:randgen and then run the following command line, tailored to your environment: perl runall.pl \ --grammar=bug635691yy - mysqld= -init-file=/home/philips/bzr/randgen-oqgraph/conf/oqgraph/bug635691.init --basedir=/home/philips/bzr/maria-5.2/ - mysqld= -plugin-load=oqgraph_engine.so - mysqld= -plugin-dir=/home/philips/bzr/maria-5.2/storage/oqgraph/.libs --queries=10K --valgrind --threads=2 You can disregard any output from the test framework and instead directly monitor the server error log for valgrind warnings. You can interrupt the test with Ctrl+C and initiate a mysqld shutdown using the mysqladmin tool in order to observe the valgrind warnings that are printed when the server exists. More information about the tool is available from http://forge.mysql.com/RandomQueryGenerator RQG grammar file LPexportBug635691_bug635691.yy
            Hide
            philipstoev Philip Stoev added a comment -

            Re: Misc valgrind warnings when running a Random Query Generator test
            To reproduce, please obtain the Random Query Generator

            bzr branch lp:randgen

            and then run the following command line, tailored to your environment:

            perl runall.pl \
            --grammar=bug635691yy
            -mysqld=-init-file=/home/philips/bzr/randgen-oqgraph/conf/oqgraph/bug635691.init
            --basedir=/home/philips/bzr/maria-5.2/
            -mysqld=-plugin-load=oqgraph_engine.so
            -mysqld=-plugin-dir=/home/philips/bzr/maria-5.2/storage/oqgraph/.libs
            --queries=10K
            --valgrind
            --threads=2

            You can disregard any output from the test framework and instead directly monitor the server error log for valgrind warnings. You can interrupt the test with Ctrl+C and initiate a mysqld shutdown using the mysqladmin tool in order to observe the valgrind warnings that are printed when the server exists.

            More information about the tool is available from http://forge.mysql.com/RandomQueryGenerator

            Show
            philipstoev Philip Stoev added a comment - Re: Misc valgrind warnings when running a Random Query Generator test To reproduce, please obtain the Random Query Generator bzr branch lp:randgen and then run the following command line, tailored to your environment: perl runall.pl \ --grammar=bug635691yy - mysqld= -init-file=/home/philips/bzr/randgen-oqgraph/conf/oqgraph/bug635691.init --basedir=/home/philips/bzr/maria-5.2/ - mysqld= -plugin-load=oqgraph_engine.so - mysqld= -plugin-dir=/home/philips/bzr/maria-5.2/storage/oqgraph/.libs --queries=10K --valgrind --threads=2 You can disregard any output from the test framework and instead directly monitor the server error log for valgrind warnings. You can interrupt the test with Ctrl+C and initiate a mysqld shutdown using the mysqladmin tool in order to observe the valgrind warnings that are printed when the server exists. More information about the tool is available from http://forge.mysql.com/RandomQueryGenerator
            Hide
            ratzpo Rasmus Johansson added a comment -

            Launchpad bug id: 635691

            Show
            ratzpo Rasmus Johansson added a comment - Launchpad bug id: 635691
            Hide
            arjen Arjen Lentz added a comment -

            Serg, this is of course an OQGRAPH v2 issue - they should not exist in v3 but in any case then the debugging data will look different and it should be a new issue.

            I don't have sufficient permission in JIRA to change the status of this issue accordingly (even as assignee).

            Show
            arjen Arjen Lentz added a comment - Serg, this is of course an OQGRAPH v2 issue - they should not exist in v3 but in any case then the debugging data will look different and it should be a new issue. I don't have sufficient permission in JIRA to change the status of this issue accordingly (even as assignee).
            Hide
            serg Sergei Golubchik added a comment -

            Will be fixed in 10.0 with OQGraph v3.

            Show
            serg Sergei Golubchik added a comment - Will be fixed in 10.0 with OQGraph v3.

              People

              • Assignee:
                arjen Arjen Lentz
                Reporter:
                philipstoev Philip Stoev
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: