1. 21 Sep, 2010 2 commits
  2. 17 Sep, 2010 4 commits
  3. 15 Sep, 2010 2 commits
    • Marc Alff's avatar
      Bug#56761 Segfault on CHECKSUM TABLE performance_schema.EVENTS_WAITS_HISTORY EXTENDED · 2e4717ff
      Marc Alff authored
      Before this fix, the server could crash inside a memcpy when reading data
      from the EVENTS_WAITS_CURRENT / HISTORY / HISTORY_LONG  tables.
      
      The root cause is that the length used in a memcpy could be corrupted,
      when another thread writes data in the wait record being read.
      Reading unsafe data is ok, per design choice, and the code does sanitize
      the data in general, but did not sanitize the length given to memcpy.
      
      The fix is to also sanitize the schema name / object name / file name
      length when extracting the data to produce a row.
      2e4717ff
    • Olav Sandstaa's avatar
      Fix for Bug#54478 "mysqld crashes during boot when running mtr with --debug option" · 93e7e5f9
      Olav Sandstaa authored
            
      The crash during boot was caused by a DBUG_PRINT statement in fill_schema_schemata() (in
      sql_show.cc). This DBUG_PRINT statement contained several instances of %s in the format 
      string and for one of these we gave a NULL pointer as the argument. This caused the
      call to vsnprintf() to crash when running on Solaris.
            
      The fix for this problem is to replace the call to vsnprintf() with my_vsnprintf()
      which handles that a NULL pointer is passed as argumens for %s.
      
      This patch also extends my_vsnprintf() to support %i in the format string.
      93e7e5f9
  4. 14 Sep, 2010 1 commit
  5. 13 Sep, 2010 1 commit
  6. 10 Sep, 2010 1 commit
  7. 09 Sep, 2010 8 commits
    • Marc Alff's avatar
      Bug#56324 Race Condition while shutting down MySQL: "PSI_server" · 2779f0aa
      Marc Alff authored
      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.
      2779f0aa
    • Marc Alff's avatar
      Bug#56521 Assertion failed: (m_state == 2), function allocated_to_free, pfs_lock.h (138) · c9ab025d
      Marc Alff authored
      Before this fix, it was possible to build the server:
      - with the performance schema
      - with a dummy implementation of my_atomic (MY_ATOMIC_MODE_DUMMY).
      
      In this case, the resulting binary will just crash,
      as this configuration is not supported.
      
      This fix enforces that the build will fail with a compilation error in this
      configuration, instead of resulting in a broken binary.
      c9ab025d
    • Marc Alff's avatar
      local merge · 712a8a2e
      Marc Alff authored
      712a8a2e
    • Tor Didriksen's avatar
      fix typo in previous patch · 9751b77b
      Tor Didriksen authored
      9751b77b
    • Vasil Dimov's avatar
      Fix compiler warnings about unused parameters: · 71b92807
      Vasil Dimov authored
      mysys/my_sync.c: In function 'my_sync_dir':
      mysys/my_sync.c:103:29: error: unused parameter 'dir_name'
      mysys/my_sync.c:103:43: error: unused parameter 'my_flags'
      mysys/my_sync.c: In function 'my_sync_dir_by_file':
      mysys/my_sync.c:144:37: error: unused parameter 'file_name'
      mysys/my_sync.c:144:52: error: unused parameter 'my_flags'
      71b92807
    • Vasil Dimov's avatar
      Fix a compiler warning in my_gethwaddr.c:67: · 0f27e7e0
      Vasil Dimov authored
      mysys/my_gethwaddr.c: In function 'my_gethwaddr':
      mysys/my_gethwaddr.c:67:11: error: pointer targets in assignment differ in signedness
      0f27e7e0
    • Davi Arnaut's avatar
      Bug#53251: mysql_library_init fails on second execution with embedded library · 3028e734
      Davi Arnaut authored
      Add a virtual destructor. Class has virtual functions.
      3028e734
    • Evgeny Potemkin's avatar
      Auto-merged. · 89b53f99
      Evgeny Potemkin authored
      89b53f99
  8. 08 Sep, 2010 3 commits
    • Marc Alff's avatar
      Bug#56528 Increased server footprint with MTR · 92c6d9fc
      Marc Alff authored
      With recent changes in the performance schema default sizing parameters,
      the memory used by a mysqld binary increased accordingly.
      
      This negatively affects the MTR test suite,
      because running several tests in parallel now consumes more ressources.
      
      The fix is to leave the default production values unchanged,
      and to configure the MTR environment to limit memory
      used when running tests in the test suite, which is ok
      because only a few objects are typically used within a test script.
      
      This fix:
      - changed the default configuration in MTR to use less memory
      - adjusted the performance schema tests accordingly
      
      Note that 1,000 mutex instances was too short and caused test failures
      in the past in team trees, so the default used is now 10,000 in MTR.
      
      The amount of memory used by the performance schema itself
      can be observed with the statement SHOW ENGINE PERFORMANCE_SCHEMA STATUS
      92c6d9fc
    • Alexey Botchkov's avatar
      merging. · 9c1fffab
      Alexey Botchkov authored
      9c1fffab
    • Alexey Botchkov's avatar
      merging. · 406c5a17
      Alexey Botchkov authored
      406c5a17
  9. 07 Sep, 2010 1 commit
    • Evgeny Potemkin's avatar
      Bug#56271: Wrong comparison result with STR_TO_DATE function · e408bf4e
      Evgeny Potemkin authored
      The Item_func_str_to_date class wasn't providing correct integer DATETIME
      representation as expected. This led to wrong comparison result and didn't
      allowed the STR_TO_DATE function to be used with indexes.
      Also, STR_TO_DATE function was inconsisted on throwing warnings/errors.
      Fixed now.
      
      val_int and result_as_longlong methods were added to the Item_func_str_to_date
      class. 
      e408bf4e
  10. 06 Sep, 2010 2 commits
    • Alfranio Correia's avatar
      BUG#55415 wait_for_update_bin_log enters a condition but does not leave · 95116114
      Alfranio Correia authored
            
      In sql/log.c, member function wait_for_update_bin_log, a condition is entered with
      THD::enter_cond but is not exited. This might leave dangling references to the
      mutex/condition in the per-thread information area.
            
      To fix the problem, we call exit_cond to properly remove references to the mutex,
      LOCK_log.
      95116114
    • Mats Kindahl's avatar
      Bug #55966: "plugin" tests fail in 5.5 · 788d3c45
      Mats Kindahl authored
      On Solaris with version 3.4.6, the ha_example.so shared library is built
      with DTrace and the server is built without DTrace support. This occurs
      because dtrace.cmake disables DTrace support for 3.4.6, but still set
      HAVE_DTRACE, which causes probes_mysql.h to include probes_mysql_dtrace.h
      instead of probes_mysql_nodtrace.h.
      
      This patch fixes this by not setting HAVE_DTRACE on Solaris for GCC 3.4.6.
      788d3c45
  11. 02 Sep, 2010 3 commits
    • Vladislav Vaintroub's avatar
      Small fixes in CMake: · 08e1a5b7
      Vladislav Vaintroub authored
       create data dir correctly in initial_database target on Windows
       handle case where INSTALL_MYSQLTESTDIR is empty (e.g someone does not want
       to install tests)
      08e1a5b7
    • Alexey Botchkov's avatar
      Bug#53251 mysql_library_init fails on second execution with embedded library · 3886c3a4
      Alexey Botchkov authored
                thread-specific variables weren't set when we load error message files.
      
      per-file comments:
        libmysqld/lib_sql.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
            we need to call my_thread_init() once more. Normally it's called at the my_init()
            stage but that doesn't happen on the second my_init() call.
      
        sql/derror.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
           use default errors for the embedded server.
      
        sql/mysqld.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
              unregister server errors in clean_up(). Without it the error list contains
              that on the second mysql_server_init() which is not good.
      
        sql/set_var.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
              sys_var::cleanup() call instead of the destructor
      
        sql/set_var.h
      Bug#53251      mysql_library_init fails on second execution with embedded library
              sys_var::cleanup() introduced instead of the destructor
              
        sql/sys_vars.h
      Bug#53251      mysql_library_init fails on second execution with embedded library
              Sys_var_charptr::cleanup() implemented
      3886c3a4
    • Marc Alff's avatar
      Bug#55873 short startup options do not work in 5.5 · b9e063ca
      Marc Alff authored
      Merge cleanup, fixed a build warning:
      
      my_getopt.c:156: warning: 'opt_found' may be used uninitialized in this function
      b9e063ca
  12. 01 Sep, 2010 5 commits
    • Alexey Botchkov's avatar
      merging. · 236f1a6d
      Alexey Botchkov authored
      236f1a6d
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5. · 7405361b
      Alexander Nozdrin authored
      7405361b
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-stage. · afe9d44c
      Alexander Nozdrin authored
      afe9d44c
    • Alexey Botchkov's avatar
      Bug#54861 Additional connections not handled properly in mtr --embedded · 26119c13
      Alexey Botchkov authored
              When in embedded-serve mode, mysqltest tried to run '--send' commands in the separate thread.
              That upsets some engines (InnoDB particularly) as the transaction has to be executed in the same
              thread completely. So i implemented some different approach. So we create one separate thread for
              each connection and execute all the queries of this connection inside it. Looks even simpler than it was
              for me.
      
      per-file comments:
        client/mysqltest.cc
      Bug#54861      Additional connections not handled properly in mtr --embedded
              Now the connection has one running connection_thread() attached. And sends all the
              query and read-result requests to it.
      26119c13
    • Alexey Botchkov's avatar
      Bug#54906 Inconsistent license of libmysqld · a3340044
      Alexey Botchkov authored
             made libmysqld/Makefile.am to have same licence as libmysqld/CMakeLists.txt
      
      per-file comments:
        libmysqld/Makefile.am
      Bug#54906      Inconsistent license of libmysqld
              Added GPL license header instead of Library GPL.
      a3340044
  13. 31 Aug, 2010 3 commits
  14. 30 Aug, 2010 4 commits