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

Bumping openssl to 3.2.3 in openSUSE:Factory breaks main.init_connect

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 11.5.2
    • 11.4
    • SSL, Tests
    • OpenSUSE Tumbleweed

    Description

      We're trying to bump the openssl version in Factory to from 3.1.7 to 3.2.3.
      A test has been failing:

      Here is the log snippet of the test:

      [ 4766s] main.init_connect                        w1 [ fail ]
      [ 4766s]         Test ended at 2024-11-05 23:58:15
      [ 4766s]
      [ 4766s] CURRENT_TEST: main.init_connect
      [ 4766s] mysqltest: At line 50: query 'select @a' failed with wrong errno <Unknown> (2026): 'TLS/SSL error: Connection reset by peer (104)', instead of <Unknown> (2013)...
      [ 4766s]
      [ 4766s] The result from queries just before the failure was:
      [ 4766s] < snip >
      [ 4766s] @a
      [ 4766s] NULL
      [ 4766s] connection con0;
      [ 4766s] set global init_connect="drop table if exists t1; create table t1(a char(10));\
      [ 4766s] insert into t1 values ('\0');insert into t1 values('abc')";
      [ 4766s] create user 'user_1'@'localhost';
      [ 4766s] GRANT DROP,CREATE,SELECT,INSERT ON test.* TO 'user_1'@'localhost';
      [ 4766s] connect  con4,localhost,user_1,,test;
      [ 4766s] connection con4;
      [ 4766s] select hex(a) from t1;
      [ 4766s] hex(a)
      [ 4766s] 00
      [ 4766s] 616263
      [ 4766s] connection con0;
      [ 4766s] set GLOBAL init_connect="adsfsdfsdfs";
      [ 4766s] connect  con5,localhost,user_1,,test;
      [ 4766s] connection con5;
      [ 4766s] select @a;
      [ 4766s] ERROR 08S01: Aborted connection to db: 'test' user: 'user_1' host: 'localhost' (init_connect command failed)
      [ 4766s] select @a;
      [ 4766s]
      [ 4766s] More results from queries before failure can be found in /home/abuild/rpmbuild/BUILD/mariadb-11.5.2/build/mysql-test/var/1/log/init_connect.log
      [ 4766s]
      [ 4766s]  - saving '/home/abuild/rpmbuild/BUILD/mariadb-11.5.2/build/mysql-test/var/1/log/main.init_connect/' to '/home/abuild/rpmbuild/BUILD/mariadb-11.5.2/build/mysql-test/var/log/main.init_connect/'
      [ 4766s]
      [ 4766s] Retrying test main.init_connect, attempt(2/3)...
      [ 4766s]
      [ 4766s] ***Warnings generated in error logs during shutdown after running tests: main.init_connect
      [ 4766s] 
      [ 4766s] 2024-11-05 23:58:15 10 [Warning] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'adsfsdfsdfs' at line 1
      [ 4766s]
      

      I am not sure where to continue digging, as the test suite infra seem rather complex and I'm not super familiar with the mariadb codebase. Quite a few things changed between the SSL versions. Any suggestions?

      Attachments

        Activity

          ayankov Angel Yankov created issue -
          danblack Daniel Black added a comment - - edited

          I suspect something like the following will get past it

          diff --git a/mysql-test/main/init_connect.test b/mysql-test/main/init_connect.test
          index c210ea10850..cd7716e3188 100644
          --- a/mysql-test/main/init_connect.test
          +++ b/mysql-test/main/init_connect.test
          @@ -45,8 +45,8 @@ connection con5;
           select @a;
           # We got disconnected after receiving the above error message; any further
           # requests should fail with a notice that no one's listening to us.
          -# --error CR_SERVER_GONE_ERROR,CR_SERVER_LOST
          ---error 2013,2006
          +# --error CR_SERVER_GONE_ERROR,CR_SERVER_LOST,CR_SSL_CONNECTION_ERROR
          +--error 2013,2006,2026
           select @a;
           connection con0;
           drop table t1;
          

          We've got some debian:sid on openssl 3.3.2 and fedora:41 on openssl 3.2.2 without fault. I think a proper fix is going to take a bit more investigation. A user expecting one connection error vs and other probably isn't hugely critical.

          danblack Daniel Black added a comment - - edited I suspect something like the following will get past it diff --git a/mysql-test/main/init_connect.test b/mysql-test/main/init_connect.test index c210ea10850..cd7716e3188 100644 --- a/mysql-test/main/init_connect.test +++ b/mysql-test/main/init_connect.test @@ -45,8 +45,8 @@ connection con5; select @a; # We got disconnected after receiving the above error message; any further # requests should fail with a notice that no one's listening to us. -# --error CR_SERVER_GONE_ERROR,CR_SERVER_LOST ---error 2013,2006 +# --error CR_SERVER_GONE_ERROR,CR_SERVER_LOST,CR_SSL_CONNECTION_ERROR +--error 2013,2006,2026 select @a; connection con0; drop table t1; We've got some debian:sid on openssl 3.3.2 and fedora:41 on openssl 3.2.2 without fault. I think a proper fix is going to take a bit more investigation. A user expecting one connection error vs and other probably isn't hugely critical.

          Agree, it could be that a new OpenSSL reports an error differently and the user gets CR_SSL_CONNECTION_ERROR instead of CR_SERVER_LOST. CR_SSL_CONNECTION_ERROR doesn't look wrong in this context.

          serg Sergei Golubchik added a comment - Agree, it could be that a new OpenSSL reports an error differently and the user gets CR_SSL_CONNECTION_ERROR instead of CR_SERVER_LOST. CR_SSL_CONNECTION_ERROR doesn't look wrong in this context.
          serg Sergei Golubchik made changes -
          Field Original Value New Value
          Assignee Daniel Black [ danblack ]
          serg Sergei Golubchik made changes -
          Fix Version/s 11.4 [ 29301 ]
          Fix Version/s 11.6 [ 29515 ]
          julien.fritsch Julien Fritsch made changes -
          Fix Version/s 11.6(EOL) [ 29515 ]
          vlad.radu Vlad Radu made changes -
          Labels foundation

          People

            danblack Daniel Black
            ayankov Angel Yankov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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