Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-12614

Connect Crash with DECIMAL column

    XMLWordPrintable

    Details

      Description

      A customer deployment is getting a crash:

      170417 20:35:57 [ERROR] mysqld got signal 11 ;
      This could be because you hit a bug. It is also possible that this binary
      or one of the libraries it was linked against is corrupt, improperly built,
      or misconfigured. This error can also be caused by malfunctioning hardware.
       
      To report this bug, see https://mariadb.com/kb/en/reporting-bugs
       
      We will try our best to scrape up some info that will hopefully help
      diagnose the problem, but since we have already crashed,
      something is definitely wrong and this may fail.
       
      Server version: 10.1.19-MariaDB-enterprise
      key_buffer_size=16777216
      read_buffer_size=131072
      max_used_connections=39
      max_threads=302
      thread_count=6
      It is possible that mysqld could use up to
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 679718 K bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      Thread pointer: 0x0x7c64e38e7008
      Attempting backtrace. You can use the following information to find out
      where mysqld died. If you see no messages after this, something went
      terribly wrong...
      stack_bottom = 0x7f2dc88b9cb0 thread_stack 0x40000
      (my_addr_resolve failure: fork)
      /usr/sbin/mysqld(my_print_stacktrace+0x2e) [0x7f44f76e1eee]
      /usr/sbin/mysqld(handle_fatal_signal+0x2d5) [0x7f44f72050f5]
      /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/amd64/server/libjvm.so(+0x86f85d) [0x7f2c5ad7385d]
      /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/amd64/server/libjvm.so(JVM_handle_linux_signal+0x1b1) [0x7f2c5ad783b1]
      /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/lib/amd64/server/libjvm.so(+0x868748) [0x7f2c5ad6c748]
      /lib64/libpthread.so.0(+0xf100) [0x7f44f681f100]
      /var/lib/mysql/lib64/mysql/plugin/ha_connect.so(ha_connect::info(unsigned int)+0x53) [0x7f44ed8ec9f3]
      /usr/sbin/mysqld(+0x49c369) [0x7f44f70ec369]
      /usr/sbin/mysqld(+0x48fd66) [0x7f44f70dfd66]
      /usr/sbin/mysqld(get_all_tables(THD*, TABLE_LIST*, Item*)+0x7eb) [0x7f44f70f306b]
      /usr/sbin/mysqld(get_schema_tables_result(JOIN*, enum_schema_table_state)+0x28e) [0x7f44f70f476e]
      /usr/sbin/mysqld(JOIN::exec_inner()+0x6bd) [0x7f44f70dacad]
      /usr/sbin/mysqld(JOIN::exec()+0x54) [0x7f44f70dd134]
      /usr/sbin/mysqld(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*)+0x112) [0x7f44f70d97d2]
      /usr/sbin/mysqld(handle_select(THD*, LEX*, select_result*, unsigned long)+0x245) [0x7f44f70da2b5]
      /usr/sbin/mysqld(+0x429291) [0x7f44f7079291]
      /usr/sbin/mysqld(mysql_execute_command(THD*)+0x5f8f) [0x7f44f70855bf]
      /usr/sbin/mysqld(mysql_parse(THD*, char*, unsigned int, Parser_state*)+0x352) [0x7f44f7088f52]
      /usr/sbin/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x25db) [0x7f44f708c42b]
      /usr/sbin/mysqld(do_command(THD*)+0x169) [0x7f44f708cca9]
      /usr/sbin/mysqld(do_handle_one_connection(THD*)+0x18a) [0x7f44f715380a]
      /usr/sbin/mysqld(handle_one_connection+0x40) [0x7f44f71539e0]
      /lib64/libpthread.so.0(+0x7dc5) [0x7f44f6817dc5]
      /lib64/libc.so.6(clone+0x6d) [0x7f44f4c3a1cd]
      

      Prior to that crash, we were seeing errors like this:

      rnd_next CONNECT: Value 39241345239110.007812 too long for string of length 20
      rnd_next CONNECT: Value 65951840738000.007812 too long for string of length 20
      

      To reproduce the crash, all we needed to do was use Connect/JDBC to connect to a table that had a DECIMAL(18,3) column, and then insert data that maximized the column, e.g., 22,345,678,901,234.560.

      "Smaller" values seemed to have worked, but not sure where the break point is.

      Thanks!

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              bertrandop Olivier Bertrand
              Reporter:
              wfong Will Fong
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: