- 20 May, 2010 1 commit
-
-
Marko Mäkelä authored
TO DO: Enable this in CMake-based builds. ------------------------------------------------------------ revno: 3474 revision-id: marko.makela@oracle.com-20100520104042-ma2nsscqdvwoph8k parent: marko.makela@oracle.com-20100519081618-h38q02qxuvcowbtk committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Thu 2010-05-20 13:40:42 +0300 message: Bug#53593: Add some instrumentation to improve Valgrind sensitivity BUILD/*: Add valgrind_configs=--with-valgrind. BUILD/*: Remove -USAFEMALLOC from valgrind_flags. configure.in: Add AC_ARG_WITH(valgrind) and HAVE_VALGRIND. include/my_sys.h: Define a number of MEM_ wrappers for VALGRIND_ functions. include/my_sys.h: Make TRASH do MEM_UNDEFINED(). include/m_string.h: Remove unused macro bzero_if_purify(A,B). _mymalloc(): Declare MEM_UNDEFINED() on the allocated memory. _myfree(): Declare MEM_NOACCESS() on the freed memory. storage/innobase/include/univ.i: Enable UNIV_DEBUG_VALGRIND based on HAVE_VALGRIND rather than HAVE_purify. Possible things to do: * In my_global.h, remove the defined(HAVE_purify) condition from the _WIN32 uint3korr(). * In my_global.h *int*korr(), use | instead of + in order to keep the Valgrind V bits accurate * Consider replacing HAVE_purify with HAVE_VALGRIND * Use VALGRIND_CREATE_BLOCK, VALGRIND_DISCARD in mem_root and similar places
-
- 19 May, 2010 8 commits
-
-
Vasil Dimov authored
-
Alexander Nozdrin authored
(make relies GNU extentions). The patch was partially backport from 6.0. Original comment: bug#30708: make relies GNU extensions. Now that we no longer use BitKeeper we can safely remove the SCCS handling with no loss of functionality.
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
from 6.0 to trunk-bugfixing.
-
Sunny Bains authored
-
Sunny Bains authored
bug. The code has been changed to work around it. To reprocude the bug simply revert this change and build the binary with: GCC Using built-in specs. Target: i686-apple-darwin10 Configured with: /var/tmp/gcc/gcc-5659~1/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 Thread model: posix gcc version 4.2.1 (Apple Inc. build 5659) export LDFLAGS='-g -arch i386' export CFLAGS='-g -no-cpp-precomp -arch i386 -O2' export CXXFLAGS='-g -no-cpp-precomp -arch i386 -O2' ./configure --enable-thread-safe-client --enable-local-infile --with-pic --with-client-ldflags=-static --with-mysqld-ldflags=-static --with-zlib-dir=bundled --without-ndb-debug --with-big-tables --with-ssl --with-readline --with-embedded-server --with-archive-storage-engine --with-blackhole-storage-engine --with-csv-storage-engine --with-example-storage-engine --with-federated-storage-engine --with-partition --with-extra-charsets=all --with-innodb --with-ndbcluster --with-libevent --target=i386-apple-darwin --program-transform-name= Approved by Marko on IM.
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3472 revision-id: marko.makela@oracle.com-20100519080743-5myf1g7v6pfysidt parent: marko.makela@oracle.com-20100519080152-h3555oqmu3wo95so committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-05-19 11:07:43 +0300 message: Make UNIV_DEBUG Valgrind friendly. Use | instead of +, and mask out the dont-care bits in debug assertions.
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3471 revision-id: marko.makela@oracle.com-20100519080152-h3555oqmu3wo95so parent: marko.makela@oracle.com-20100519075843-4gl3uijo6cwjtcf9 committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-05-19 11:01:52 +0300 message: Silence some more bogus Valgrind warnings on non-32-bit systems. (Bug #53307)
-
- 18 May, 2010 9 commits
-
-
Inaam Rana authored
-
Andrei Elkin authored
-
Vasil Dimov authored
-
Vasil Dimov authored
Author: Marko
-
Vasil Dimov authored
==31182== Conditional jump or move depends on uninitialised value(s) ==31182== at 0xA9188B: longest_match (deflate.c:1143) ==31182== by 0xA92C19: deflate_slow (deflate.c:1595) ==31182== by 0xA90C6B: deflate (deflate.c:790) ==31182== by 0x9B447B: page_zip_compress (page0zip.c:1342) ==31182== by 0x9A8540: page_cur_insert_rec_zip_reorg (page0cur.c:1174) ==31182== by 0x9A8998: page_cur_insert_rec_zip (page0cur.c:1279) ==31182== by 0x9214F9: page_cur_tuple_insert (page0cur.ic:264) ==31182== by 0x9221A2: btr_cur_optimistic_insert (btr0cur.c:1314) ==31182== by 0x9C99EB: row_ins_index_entry_low (row0ins.c:2087) ==31182== by 0x9C9DFB: row_ins_index_entry (row0ins.c:2167) ==31182== by 0x9CA057: row_ins_index_entry_step (row0ins.c:2252) ==31182== by 0x9CA0FD: row_ins (row0ins.c:2384) ==31182== by 0x9CA760: row_ins_step (row0ins.c:2494) ==31182== by 0x8CBF7E: row_insert_for_mysql (row0mysql.c:1138) ==31182== by 0x8BCF32: ha_innobase::write_row(unsigned char*) (ha_innodb.cc:4929) ==31182== by 0x736E03: handler::ha_write_row(unsigned char*) (handler.cc:4682)
-
Vasil Dimov authored
innodb.innodb-zip [ fail ] Found warnings/errors in server log file! Test ended at 2010-05-17 16:41:25 line ==31182== Thread 13: ==31182== Conditional jump or move depends on uninitialised value(s) ==31182== at 0xA9193F: longest_match (deflate.c:1143) ==31182== by 0xA92C19: deflate_slow (deflate.c:1595) ==31182== by 0xA90C6B: deflate (deflate.c:790) ==31182== by 0x928A07: btr_store_big_rec_extern_fields (btr0cur.c:4092) ==31182== by 0x9C9B90: row_ins_index_entry_low (row0ins.c:2119) ==31182== by 0x9C9DFB: row_ins_index_entry (row0ins.c:2167) ==31182== by 0x9CA057: row_ins_index_entry_step (row0ins.c:2252) ==31182== by 0x9CA0FD: row_ins (row0ins.c:2384) ==31182== by 0x9CA760: row_ins_step (row0ins.c:2494) ==31182== by 0x8CBF7E: row_insert_for_mysql (row0mysql.c:1138) ==31182== by 0x8BCF32: ha_innobase::write_row(unsigned char*) (ha_innodb.cc:4929) ==31182== by 0x736E03: handler::ha_write_row(unsigned char*) (handler.cc:4682) ==31182== by 0x5B0EEE: write_record(THD*, TABLE*, st_copy_info*) (sql_insert.cc:1670) ==31182== by 0x5B129D: select_insert::send_data(List<Item>&) (sql_insert.cc:3279) ==31182== by 0x5F31ED: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:12428) ==31182== by 0x5F9B9B: evaluate_join_record(JOIN*, st_join_table*, int) (sql_select.cc:11632)
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3468 revision-id: marko.makela@oracle.com-20100518130658-rd00ql7h02ooakh1 parent: marko.makela@oracle.com-20100514131050-mkhlvlui1u52irob committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-05-18 16:06:58 +0300 message: Work around Bug #53750 in innodb_bug48024.test
-
Andrei Elkin authored
-
Andrei Elkin authored
-
- 17 May, 2010 4 commits
-
-
Alexander Nozdrin authored
That was a pure test issue -- filter implementation in Perl did not work on some platform (the bug occurred on Windows Server 2008 with Cygwin Perl 5.10.0).
-
Alexander Nozdrin authored
in a multiquery packet): fix NDB test failures.
-
Jimmy Yang authored
rb://339, approved by Sunny Bains.
-
Vasil Dimov authored
==2229== Uninitialised byte(s) found during client check request ==2229== at 0x9A599D: buf_page_get_gen (buf0buf.c:3003) ==2229== by 0x9D58CD: fsp_header_init (fsp0fsp.c:974) ==2229== by 0x95BEAE: innobase_start_or_create_for_mysql (srv0start.c:1537) ==2229== by 0x91DDBB: innobase_init(void*) (ha_innodb.cc:2409) ==2229== by 0x73AF1F: ha_initialize_handlerton(st_plugin_int*) (handler.cc:475) ==2229== by 0x5DBAE3: plugin_initialize(st_plugin_int*) (sql_plugin.cc:1057) ==2229== by 0x5DD185: plugin_init(int*, char**, int) (sql_plugin.cc:1343) ==2229== by 0x53830A: init_server_components() (mysqld.cc:4141) ==2229== by 0x539048: mysqld_main(int, char**) (mysqld.cc:4742) ==2229== by 0x52D412: main (main.cc:24) ==2229== Address 0x998B00C is not stack'd, malloc'd or (recently) free'd ==2229== (Memcheck does not allow error to be suppressed) Approved by: Marko (rb://345)
-
- 16 May, 2010 2 commits
-
-
Andrei Elkin authored
removing disabled line for rpl_row_create_table due to Bug#45576. Anyway, the test is still there because of Bug#51574
-
Andrei Elkin authored
pushing to next-mr-bugfixing from working branch
-
- 14 May, 2010 5 commits
-
-
Alexander Nozdrin authored
multiquery packet). Background: - a query can contain multiple SQL statements; - the server frees resources allocated to process a query when the whole query is handled. In other words, resources allocated to process one SQL statement from a multi-statement query are freed when all SQL statements are handled. The problem was that the parser allocated a buffer of size of the whole query for each SQL statement in a multi-statement query. Thus, if a query had many SQL-statements (so, the query was long), but each SQL statement was short, ther parser tried to allocate huge amount of memory (number of small SQL statements * length of the whole query). The memory was allocated for a so-called "cpp buffer", which is intended to store pre-processed SQL statement -- SQL text without version specific comments. The fix is to allocate memory for the "cpp buffer" once for all SQL statements (once for a query).
-
Vasil Dimov authored
-
Vasil Dimov authored
to own the kernel mutex in fill_trx_row().
-
Marko Mäkelä authored
Post-merge fixes: Remove the MYSQL_VERSION_ID checks, because they only apply to the InnoDB Plugin. Fix potential race condition accessing trx->op_info and trx->detailed_error. ------------------------------------------------------------ revno: 3466 revision-id: marko.makela@oracle.com-20100514130815-ym7j7cfu88ro6km4 parent: marko.makela@oracle.com-20100514130228-n3n42nw7ht78k0wn committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: mysql-5.1-innodb2 timestamp: Fri 2010-05-14 16:08:15 +0300 message: Make the InnoDB FOREIGN KEY parser understand multi-statements. (Bug #48024) Also make InnoDB thinks that /*/ only starts a comment. (Bug #53644). This fixes the bugs in the InnoDB Plugin. ha_innodb.h: Use trx_query_string() instead of trx_query() when available (MySQL 5.1.42 or later). innobase_get_stmt(): New function, to retrieve the currently running SQL statement. struct trx_struct: Remove mysql_query_str. Use innobase_get_stmt() instead. dict_strip_comments(): Add and observe the parameter sql_length. Treat /*/ as the start of a comment. dict_create_foreign_constraints(), row_table_add_foreign_constraints(): Add the parameter sql_length.
-
Alexander Nozdrin authored
for ALTER TABLE, LOAD DATA). ROW_COUNT is now assigned according to the following rules: - In my_ok(): - for DML statements: to the number of affected rows; - for DDL statements: to 0. - In my_eof(): to -1 to indicate that there was a result set. We derive this semantics from the JDBC specification, where int java.sql.Statement.getUpdateCount() is defined to (sic) "return the current result as an update count; if the result is a ResultSet object or there are no more results, -1 is returned". - In my_error(): to -1 to be compatible with the MySQL C API and MySQL ODBC driver. - For SIGNAL statements: to 0 per WL#2110 specification. Zero is used since that's the "default" value of ROW_COUNT in the diagnostics area. sql/protocol.cc: Fix a typo. sql/sql_class.h: - Introduce THD::get_row_count_func() / THD::set_row_count_func(); - Remove the CF_HAS_ROW_COUNT define sql/sql_parse.cc: CF_HAS_ROW_COUNT was eliminated.
-
- 13 May, 2010 2 commits
-
-
Vasil Dimov authored
-
Vasil Dimov authored
This is a followup to the fix of Bug#51920 Innodb connections in row lock wait ignore KILL until lock wait timeout in that fix (rb://279) the behavior was changed to honor when a trx is interrupted during lock wait, but the returned error code was still "lock wait timeout" when it should be "interrupted". This change fixes the non-deterministically failing test binlog.binlog_killed, that failed like this: binlog.binlog_killed 'stmt' [ fail ] Test ended at 2010-05-12 11:39:08 CURRENT_TEST: binlog.binlog_killed mysqltest: At line 208: query 'reap' failed with wrong errno 1205: 'Lock wait timeout exceeded; try restarting transaction', instead of 0... Approved by: Sunny Bains (rb://344)
-
- 12 May, 2010 9 commits
-
-
Sunny Bains authored
forgotten when I reverted the kernel mutex split patch.
-
Vasil Dimov authored
jimmy.yang@oracle.com-20100512153945-zg3suquj1ps6xn5z
-
Jimmy Yang authored
rb://335, Approved by Sunny Bains
-
Jonathan Perkin authored
-
Jonathan Perkin authored
-
Jonathan Perkin authored
- Update/fix file layouts for each package type, add new types for native package formats including deb, rpm and svr4. - Build all plugins, including debug versions - Update compiler flags to match current release - Add missing @VAR@ expansions - Install correct mysqclient library symlinks - Fix icc/ia64 builds - Fix install of libmysqld-debug - Don't include mysql_embedded - Remove unpackaged manual pages to avoid missing files warnings - Don't install mtr's test suite
-
Jonathan Perkin authored
with other merges from the old distribution-specific spec file. - update copyright notices - remove __os_install_post override, it was only necessary as a hack to build debuginfo packages - now that we no longer make them we can revert to the distribution macro which likely has other useful bits we might want - remove _unpackaged_files_terminate_build override, we want to know of any orphaned files - include native distribution support - no longer build separate debuginfo RPMs, instead just include debug/symbols in all binaries, which is more useful for support - include support for building commercial RPMs, requires a commercial source tree - remove cluster RPM support, we don't build them from this source tree - use CMake for building, and update package lists to match the new install layout/files. Remove any options which were only useful for automake builds (e.g. yassl/zlib). - other minor cleanups
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3462 revision-id: marko.makela@oracle.com-20100512104212-e2h9n1obxjb8tfg4 parent: marko.makela@oracle.com-20100512060922-oh716ugpukfakwvh committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: mysql-5.1-innodb timestamp: Wed 2010-05-12 13:42:12 +0300 message: ha_innobase::add_index(): Reset trx->error_state in error handling. (Bug #53591)
-
Vasil Dimov authored
Support returning 512 and 511 pages for the buffer pool size, this is undeterministic and probably depends on alignment issues. The default buffer pool size is 8M (512) pages, which is set in include/default_mysqld.cnf. So the previous "replace_result 8192 8191" had no effect.
-