[MDEV-677] LP:635691 - OQGraph valgrind warnings when running a Random Query Generator test Created: 2010-10-22  Updated: 2013-11-22  Resolved: 2013-11-22

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.3.9
Fix Version/s: 5.5.35, 5.2.15, 5.3.13

Type: Bug Priority: Minor
Reporter: Philip Stoev (Inactive) Assignee: Arjen Lentz
Resolution: Won't Fix Votes: 0
Labels: Launchpad

Attachments: XML File LPexportBug635691.xml     Zip Archive LPexportBug635691_bug635691-log.zip     File LPexportBug635691_bug635691.init     File LPexportBug635691_bug635691.yy    

 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



 Comments   
Comment by Philip Stoev (Inactive) [ 2010-09-11 ]

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

Comment by Philip Stoev (Inactive) [ 2010-09-11 ]

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

Comment by Philip Stoev (Inactive) [ 2010-09-11 ]

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

Comment by Philip Stoev (Inactive) [ 2010-09-11 ]

Init file for oqgraph
LPexportBug635691_bug635691.init

Comment by Philip Stoev (Inactive) [ 2010-09-11 ]

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

Comment by Philip Stoev (Inactive) [ 2010-09-11 ]

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

Comment by Rasmus Johansson (Inactive) [ 2010-10-22 ]

Launchpad bug id: 635691

Comment by Arjen Lentz [ 2013-11-22 ]

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).

Comment by Sergei Golubchik [ 2013-11-22 ]

Will be fixed in 10.0 with OQGraph v3.

Generated at Thu Feb 08 06:30:32 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.