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

Window functions: embedded server fails to start due to error code conflicts

Details

    Description

      In window functions tree, embedded mtr fails like so:

      ./mysql-test-run --embedded t/alias.test 
      ...
      Installing system database...
       
      ==============================================================================
       
      TEST                                      RESULT   TIME (ms) or COMMENT
      --------------------------------------------------------------------------
       
      worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
      main.alias                               [ fail ]
              Test ended at 2016-03-31 13:23:14
       
      CURRENT_TEST: main.alias
      mysqltest: Can't initialize MySQL server
      

      The failure comes from here

        #0  my_error_register (get_errmsgs=0x555555d69448 <get_server_errmsgs()>, first=1000, last=2001) at /home/psergey/dev-git/10.2-window-funcs-r10/mysys/my_error.c:245
        #1  0x0000555555d695ad in init_errmessage () at /home/psergey/dev-git/10.2-window-funcs-r10/sql/derror.cc:106
        #2  0x00005555559ceaa7 in init_common_variables () at /home/psergey/dev-git/10.2-window-funcs-r10/libmysqld/../sql/mysqld.cc:4515
        #3  0x00005555559d4e9b in init_embedded_server (argc=125, argv=0x5555575b1e18, groups=0x555556ab2300 <embedded_server_groups>) at /home/psergey/dev-git/10.2-window-funcs-r10/libmysqld/lib_sql.cc:559
        #4  0x00005555559b9063 in mysql_server_init (argc=7, argv=0x555556ca5540 <embedded_server_args>, groups=0x555556ab2300 <embedded_server_groups>) at /home/psergey/dev-git/10.2-window-funcs-r10/libmysql/libmysql.c:181
        #5  0x000055555597c7b3 in main (argc=18, argv=0x7fffffffe018) at /home/psergey/dev-git/10.2-window-funcs-r10/client/mysqltest.cc:8974
      

      We are in

      my_error_register (get_errmsgs=0x555555d69448 <get_server_errmsgs()>, first=1000, last=2001)
      

      Trying to register server error messages with codes in [1000, 2000] range.

      The problem is that error code 2000 is already used by the client error messages:

      (gdb) p my_errmsgs_list->meh_next[0]
        $71 = {meh_next = 0x0, get_errmsgs = 0x555555be708d <get_client_errmsgs>, meh_first = 2000, meh_last = 2061}
      

      Attachments

        Issue Links

          Activity

            Discussed with sanja, he has confirmed that this issue exist. The danger of running out of error message codes was discussed by him and either monty or serg.

            psergei Sergei Petrunia added a comment - Discussed with sanja , he has confirmed that this issue exist. The danger of running out of error message codes was discussed by him and either monty or serg .

            Merged with Monty's fix for error messages. Pushed into the feature tree.

            psergei Sergei Petrunia added a comment - Merged with Monty's fix for error messages. Pushed into the feature tree.

            People

              psergei Sergei Petrunia
              psergei Sergei Petrunia
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.