• Davi Arnaut's avatar
    Bug#37003 Tests sporadically crashes with embedded server · fb8f32d0
    Davi Arnaut authored
    The problem was that when a embedded linked version of mysqltest
    crashed there was no way to obtain a stack trace if no core file
    is available. Another problem is that the embedded version of
    libmysql was not behaving (crash) the same as the non-embedded with
    respect to sending commands to a explicitly closed connection.
    
    The solution is to generate a mysqltest's stack trace on crash
    and to enable "reconnect" if the connection handle was explicitly
    closed so the behavior matches the non-embedded one.
    
    client/CMakeLists.txt:
      Link mysys to mysqltest.
    client/Makefile.am:
      Link mysys to mysqltest.
    client/mysqltest.c:
      Add fatal signal handling with backtracing for Unix and Windows.
    configure.in:
      Add check for weak symbols support and remove a spurious word.
    include/Makefile.am:
      Add new header with prototype for stack tracing functions.
    include/my_stacktrace.h:
      Add new header with prototype for stack tracing functions.
    libmysqld/CMakeLists.txt:
      stack tracing is now part of mysys.
    libmysqld/Makefile.am:
      stack tracing is now part of mysys.
    libmysqld/lib_sql.cc:
      Re-connect if connection was explicitly closed. This is
      done to match the behavior of the non-embeded libmysql.
    mysql-test/t/sql_low_priority_updates_func.test:
      Test expects parallelism between queries that cannot be
      guaranteed under embedded.
    mysys/CMakeLists.txt:
      Add stacktrace to mysys.
    mysys/Makefile.am:
      Add stacktrace to mysys.
    mysys/stacktrace.c:
      Move stacktrace to mysys and add weak symbol for the
      C++ name de-mangling function so that it can later be
      overridden in C++ code. Also add my_ prefix to exported
      functions.
    sql/CMakeLists.txt:
      stacktrace was moved to mysys.
    sql/Makefile.am:
      stacktrace was moved to mysys.
    sql/mysqld.cc:
      Add my_ prefix to mysys functions.
    fb8f32d0
CMakeLists.txt 2.61 KB