1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-19 19:03:26 +03:00
Commit Graph

112 Commits

Author SHA1 Message Date
Sergei Golubchik
818af42f1d new valgrind suppression for ld.so
give mysqld more time to start under valgrind
2011-12-14 10:59:11 +01:00
Sergei Golubchik
d2755a2c9c 5.3->5.5 merge 2011-11-22 18:04:38 +01:00
Sergei Golubchik
0e007344ea mysql-5.5.18 merge 2011-11-03 19:17:05 +01:00
Sergei Golubchik
76f0b94bb0 merge with 5.3
sql/sql_insert.cc:
  CREATE ... IF NOT EXISTS may do nothing, but
  it is still not a failure. don't forget to my_ok it.
  ******
  CREATE ... IF NOT EXISTS may do nothing, but
  it is still not a failure. don't forget to my_ok it.
sql/sql_table.cc:
  small cleanup
  ******
  small cleanup
2011-10-19 21:45:18 +02:00
Michael Widenius
47d5a20b14 Automatic merge with 5.2 2011-10-05 16:56:17 +03:00
Michael Widenius
5f607a2c70 Automatic merge with 5.1 2011-10-05 16:53:35 +03:00
Michael Widenius
1351bef4df Fix for issue found in buildbot where mysqld.*.err files was missing
Added suppression message for valgrind failure found on OpenSuSE 11.1

mysql-test/mysql-test-run.pl:
  Fix for issue found in buildbot where mysqld.*.err files was missing
  Patch by Kristian Nielsen
mysql-test/valgrind.supp:
  Added suppression message for valgrind failure found on OpenSuSE 11.1
sql/mysqld.cc:
  Added missing space to comment
2011-10-05 16:37:05 +03:00
Tor Didriksen
0c5106fc65 Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
Post-push fix:
Replace fun:inline_mysql_file_write with '...' since it may be optimized away.
2011-09-05 16:04:33 +02:00
Tor Didriksen
6e3cee780c Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
Post-push fix:
Enable filesort pattern two, perfschema.selects failed.
2011-08-31 16:45:52 +02:00
Tor Didriksen
3a041c71a0 merge 5.1 => 5.5 2011-08-30 10:51:23 +02:00
Tor Didriksen
034db5cb82 Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
Post-push fix:
The functions write_keys() and find_all_keys() may have a slightly
different function signature, depending on compiler/platform/flags.
2011-08-30 10:19:36 +02:00
Tor Didriksen
d9ceec6631 Bug#12856915 adapt valgrind suppressions to 5.5 2011-08-29 10:07:18 +02:00
Tor Didriksen
a60790f4db merge 5.1 => 5.5 2011-08-29 09:50:27 +02:00
Tor Didriksen
0c7db7839b Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
Suppress the known warnings generated by filesort().

The real fix belongs to worklog 1509:
Pack values of non-sorted fields in the sort buffer
(which is basically the same issue, but in an optimization context:
 We are writing the entire sort buffer to disk, 
 including un-used space for varchar columns.)



mysql-test/valgrind.supp:
  Add new Memcheck suppressions for filesort.
sql/filesort.cc:
  Remove the ifdef HAVE_purify/bzero code, use valgrind suppressions instead.
2011-08-25 10:38:07 +02:00
Sergei Golubchik
49501b4ccb fix memory leaks and other problems found by safemalloc
client/mysql_upgrade.c:
  missing DBUG_RETURN
client/mysqladmin.cc:
  client plugin memory wasn't freed
client/mysqlcheck.c:
  client plugin memory, defaults, a result set, a command-line option value were not freed.
  missing DBUG_RETURN.
client/mysqldump.c:
  client plugin memory wasn't freed
client/mysqlslap.c:
  client plugin memory wasn't freed
client/mysqltest.cc:
  hopeless. cannot be fixed.
mysql-test/valgrind.supp:
  Bug#56666 is now fixed.
mysys/array.c:
  really, don't allocate if the caller didn't ask to.
mysys/my_init.c:
  safemalloc checks must be done at the very end
mysys/my_thr_init.c:
  not needed anymore
sql-common/client.c:
  memory leak
sql/log.cc:
  log_file was not closed, memory leak.
sql/mysqld.cc:
  fix bug#56666 (causing many P_S related memory leaks).
  close_active_mi() not called for --bootstrap, memory leak.
sql/sql_lex.cc:
  redo Lex->mi handling
sql/sql_lex.h:
  redo Lex->mi handling
sql/sql_plugin.cc:
  plugins having PLUGIN_VAR_MEMALLOC string variables have this variables allocated in every THD.
  The memory was freed in ~THD but only if plugin was still active. If plugin was unloaded the
  variable was not found and the memory was lost. By loading and unloading plugins an arbitrary
  amount of memory can be lost.
sql/sql_repl.cc:
  redo Lex->mi handling
sql/sql_yacc.yy:
  completely wrong handling of Lex->mi - run-time memory leak, by repeating the statement
  arbitrary amount of memory can be lost.
  
  Lex->mi.repl_ignore_server_ids_opt was allocated when parsing CHANGE MASTER,
  and freed after executing the statement. if parser failed on syntax (or another)
  error the statement was never executed. Lex->mi was simply bzero-ed for the next
  CHANGE MASTER  statement.
sql/table.cc:
  didn't compile
storage/perfschema/pfs_lock.h:
  Bug#56666 is fixed
2011-07-10 20:09:17 +02:00
Sergei Golubchik
9809f05199 5.5-merge 2011-07-02 22:08:51 +02:00
Kent Boortz
68f00a5686 Updated/added copyright headers 2011-06-30 17:37:13 +02:00
Kent Boortz
44135d4725 Updated/added copyright headers 2011-06-30 17:31:31 +02:00
Michael Widenius
de44b51e15 Fixed errors found in buildbot
mysql-test/suite/funcs_1/r/innodb_func_view.result:
  Updated results
mysql-test/suite/funcs_1/r/memory_func_view.result:
  Updated results
mysql-test/suite/funcs_1/r/myisam_func_view.result:
  Updated results
mysql-test/suite/pbxt/r/func_str.result:
  Updated error numbers
mysql-test/suite/pbxt/r/type_newdecimal.result:
  Updated error numbers
mysql-test/valgrind.supp:
  Added suppression for warning on Work (OpenSuse 11.3 64 bit)
2011-05-23 15:14:54 +03:00
Michael Widenius
f34be18938 Merge with MariaDB 5.2 2011-05-10 18:17:43 +03:00
Michael Widenius
1be5462d59 Merge with MariaDB 5.1 2011-05-03 19:10:10 +03:00
Michael Widenius
e415ba0fb2 Merge with MySQL 5.1.57/58
Moved some BSD string functions from Unireg
2011-05-02 20:58:45 +03:00
Michael Widenius
139a2b64bf Merge with 5.2 2011-03-09 15:47:59 +02:00
Michael Widenius
3358cdd504 Merge with 5.1 to get in changes from MySQL 5.1.55 2011-02-28 19:39:30 +02:00
Michael Widenius
6c610ed979 Fixed build issues
- Linking now with g++ instead of gcc with 'compile-dist' to solve problems with handlersocket/client
- Fixed bug in heap tables when doing handler read next-prev over last row


BUILD/compile-dist:
  - Linking now with g++ instead of gcc with 'compile-dist' to solve problems with handlersocket/client
cmd-line-utils/libedit/vi.c:
  Fixed compiler warning about not checking return value for write
mysql-test/r/index_intersect.result:
  Updated results (missed this file in my last push)
mysql-test/suite/handler/aria.result:
  Updated test results
mysql-test/suite/handler/handler.inc:
  Changed test to use read next/read prev on key where there are duplicates that can come in different order depending on system
  Added testing of read next-prev over last row and read prev-next around first row
mysql-test/suite/handler/heap.result:
  Updated test results
mysql-test/suite/handler/init.inc:
  More rows to test
mysql-test/suite/handler/innodb.result:
  Updated test results
mysql-test/suite/handler/interface.result:
  Updated test results
mysql-test/suite/handler/myisam.result:
  Updated test results
mysql-test/t/variables-big.test:
  Fixed test to not fail on windows
mysql-test/valgrind.supp:
  Removed not matching fun: to get rid of valgrind warning
storage/heap/hp_rfirst.c:
  Added state so that we know if we have an active position in the index.
storage/heap/hp_rkey.c:
  Added state so that we know if we have an active position in the index.
storage/heap/hp_rnext.c:
  Handle reading several next after finding the last row (this caused a crash before)
storage/heap/hp_rprev.c:
  Handle reading several prev after finding the first row (this caused a crash before)
storage/xtradb/buf/buf0buf.c:
  Fixed compiler warning about uninitialized value
2011-02-23 14:46:16 +02:00
Michael Widenius
39616eb9ef Fixed compiler warnings and some test failures found by buildbot
dbug/dbug.c:
  Fixed compiler warnings on windows
mysql-test/r/index_intersect_innodb.result:
  Don't print number of rows as this varies
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
  Update to use new State
mysql-test/suite/handler/heap.result:
  Update results
mysql-test/suite/handler/heap.test:
  Changed key used in test as the key 'b' will not guarantee order of the two last elements (as the key value is the same)
mysql-test/suite/pbxt/r/lock_multi.result:
  Update to use new State
mysql-test/t/index_intersect.test:
  Don't print number of rows as this varies
mysql-test/valgrind.supp:
  Added suppression for linux
mysys/hash.c:
  Fixed compiler warnings on windows
plugin/handler_socket/handlersocket/database.cpp:
  Fixed compiler warnings
sql-common/client_plugin.c:
  Changed variable to define to avoid compiler warnings when variable is not used
sql-common/my_time.c:
  Initialize all my_time elements to avoid compiler warnings
storage/oqgraph/ha_oqgraph.cc:
  Use right function (to avoid compiler warning)
storage/pbxt/src/table_xt.cc:
  Initialize variables (to avoid compiler warnings)
2011-02-23 02:06:58 +02:00
Vasil Dimov
0047afa3b2 Merge mysql-5.5-innodb -> mysql-5.5 2011-02-17 13:57:26 +02:00
Vasil Dimov
e10775a38a Extend the valgrind suppression to cover one more code path:
==3307== Invalid read of size 1
==3307==    at 0xA8389A: mach_read_from_4 (mach0data.ic:182)
==3307==    by 0xA833E3: buf_buddy_relocate (buf0buddy.c:450)
==3307==    by 0xA8451E: buf_buddy_free_low (buf0buddy.c:619)
==3307==    by 0x999326: buf_buddy_free (buf0buddy.ic:131)
==3307==    by 0x998B66: buf_page_get_gen (buf0buf.c:2968)
==3307==    by 0x9765D4: btr_cur_open_at_rnd_pos_func (btr0cur.c:985)
==3307==    by 0x97F5EB: btr_estimate_number_of_different_key_vals (btr0cur.c:3621)
==3307==    by 0x9C8694: dict_update_statistics (dict0dict.c:4312)
==3307==    by 0x8FCF85: row_update_statistics_if_needed (row0mysql.c:933)
==3307==    by 0x8FCEF8: row_insert_for_mysql (row0mysql.c:1240)
==3307==    by 0x8E8134: ha_innobase::write_row(unsigned char*) (ha_innodb.cc:4988)
==3307==    by 0x73CE6D: handler::ha_write_row(unsigned char*) (handler.cc:4776)
==3307==    by 0x6512DC: copy_data_between_tables(TABLE*, TABLE*, List<Create_field>&, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, enum_enable_or_disable, bool) (sql_table.cc:7017)
==3307==    by 0x65E1E1: mysql_alter_table(THD*, char*, char*, st_ha_create_information*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool) (sql_table.cc:6416)
==3307==    by 0x893920: Alter_table_statement::execute(THD*) (sql_alter.cc:106)
==3307==    by 0x5DDB3B: mysql_execute_command(THD*) (sql_parse.cc:4321)
2011-02-10 13:28:58 +02:00
Vasil Dimov
1751fd90a8 Adjust a suppression to cover more codepaths. 2011-02-08 07:53:37 +02:00
Vasil Dimov
da687193b6 Add one more Valgrind suppression to cover a different codepath 2011-02-07 19:54:09 +02:00
Vasil Dimov
fe40394908 Backport the fix for Bug#59875 Valgrind warning in buf0buddy.c from 5.5
This warning also happens in 5.1 with a slightly different codepath.
2011-02-07 16:45:37 +02:00
Vasil Dimov
97b11ffda5 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-02-07 11:18:59 +02:00
Vasil Dimov
165ed4f1a8 Use fun:* instead of obj:*/libz.so* because when the bundled zlib is
used (--with-zlib-dir=bundled) then there is no libz.so involved.
2011-02-07 11:13:54 +02:00
Vasil Dimov
2dc354d9d0 Fix Bug#59875 Valgrind warning in buf0buddy.c
Suppress a bogus valgrind warning.
2011-02-04 19:43:34 +02:00
Vasil Dimov
1ee3ce7187 Merge mysql-5.1-innodb -> mysql-5.5-innodb 2011-02-04 18:30:05 +02:00
Vasil Dimov
5082c4d1de Fix Bug#59874 Valgrind warning in InnoDB compression code
Add suppressions for a bogus valgrind warnings.
2011-02-04 12:46:47 +02:00
Michael Widenius
69fe020f01 Fixed bugs found by buildbot:
- Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
- Fixed compiler warnings
- Added a name for each thr_lock to get better error messages (This is needed to find out why 'archive.test' sometimes fails)


BUILD/SETUP.sh:
  Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
BUILD/build_mccge.sh:
  Use -Wno-uninitialized if -DFORCE_INIT_OF_VARS is not used, to avoid warnings about not initialized variables.
client/mysqltest.cc:
  Fixed bug in remove_files_wildcards (the orignal code never removed anything)
extra/libevent/devpoll.c:
  Fixed compiler warning
include/thr_lock.h:
  Added a name for each thr_lock to get better error messages.
mysql-test/suite/maria/t/maria3.test:
  Speed up test.
mysys/thr_lock.c:
  Added a name for each thr_lock to get better error messages.
  Added a second 'check_locks' to find if something goes wrong in 'wake_up_waiters'.
sql/lock.cc:
  Added a name for each thr_lock to get better error messages.
storage/xtradb/fil/fil0fil.c:
  Fixed compiler warning
2011-01-26 15:17:46 +02:00
Bjorn Munch
d651529112 Fixed copyright headers in mtr src files 2011-01-18 11:21:37 +01:00
Bjorn Munch
5a85609d6b Fixed copyright headers in mtr src files 2011-01-18 11:03:44 +01:00
Michael Widenius
2925335643 Added suppression for failure on opensuse 64 bit. 2011-01-14 16:51:18 +02:00
Vasil Dimov
be01dbf587 Merge mysql-5.5-innodb -> mysql-5.5 2011-02-08 19:28:00 +02:00
Marc Alff
15d0999462 Bug#58740 Valgrind warning in PFS (pfs_setup_actor.cc)
Valgrind gets confused by the call stack generated with optimized
builds, with inlined functions.
Reduced the stack context for the suppression in lf_pinbox_get_pins.
2011-02-04 08:26:30 -07:00
Kent Boortz
be6c3fd8aa Merge 2010-12-29 01:26:31 +01:00
Kent Boortz
4acfdb9df1 Merge 2010-12-29 00:47:05 +01:00
Kent Boortz
85323eda8a - Added/updated copyright headers
- Removed files specific to compiling on OS/2
- Removed files specific to SCO Unix packaging
- Removed "libmysqld/copyright", text is included in documentation
- Removed LaTeX headers for NDB Doxygen documentation
- Removed obsolete NDB files
- Removed "mkisofs" binaries
- Removed the "cvs2cl.pl" script
- Changed a few GPL texts to use "program" instead of "library"
2010-12-28 19:57:23 +01:00
Marc Alff
7f67060ef2 Valgrind 3.5.0 cleanup, continued 2010-12-07 15:13:27 +01:00
Marc Alff
2f228bd1f5 Valgrind 3.5.0 cleanup 2010-12-07 14:52:14 +01:00
Sergei Golubchik
65ca700def merge.
checkpoint.
does not compile.
2010-11-25 18:17:28 +01:00
Marc Alff
25bac73707 Added missing paterns 2010-09-27 18:23:54 -06:00
Marc Alff
bb04ac9734 Bug#56324 Race Condition while shutting down MySQL: "PSI_server"
Before this fix, the server could crash during shutdown,
due to race conditions, that occured when killing the server.

In particular, the performance schema instrumentation handle,
PSI_server, and the performance schema itself would be cleaned up
too soon, causing race conditions with a running kill server thread.

The specifics of the race condition found are that:
the main thread executing "PSI_server= NULL" can cause crashes in
other threads still running, which are executing
"if (PSI_server != NULL) PSI_server->xxx()"
as part of the performance schema instrumentation.

While the bug was reported for the kill server thread,
in theory the same crash could happen with the signal thread,
as found by code analysis.

The correct fix would be to only shutdown the performance schema
and set PSI_server to NULL after every other thread is guaranteed
to be completed, including the kill_server_thread.

However, due to the existing mysqld server design, this is not the case.
See in particular bug number 56666.

The work around used to fix this race condition is to simply not
perform the call to shutdown_performance_schema() when the server exits,
and to keep the PSI_server pointer unchanged.

This will cause memory leaks to be reported by tools like valgrind,
but no memory leak actually happen because the process is about to exit().

As a result, the file mysql-test/valgrind.supp has been updated
to filter out these false positive messages.

This code has been tested with running in a loop the following
tests in parallel, which have been known to fail with race conditions
in the past:
- rpl_change_master
- binlog_max_extension
- events_restart
- rpl_heartbeat_basic
and no crash of test failure has been seen with the changed code.
2010-09-09 15:33:35 -06:00