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

WolfSSL breaks binlog_encryption.binlog_incident

Details

    Description

      All 3 variants of the test binlog_encryption.binlog_incident will fail if WITH_SSL=bundled is being used. This test did not fail with the previous built-in SSL library (YaSSL). The bundled library was changed in MDEV-18531.

      I have repeated this with GCC 8.3.0, Clang 7.0.1 and Clang 8.0.0.

      10.4 e32212c63c9675591e9c4b15c1bce9f61ec02eb8

      CURRENT_TEST: binlog_encryption.binlog_incident
      mysqltest: In included file "./suite/binlog/include/binlog_incident.inc": 
      included from /mariadb/10.4/mysql-test/suite/binlog_encryption/binlog_incident.test at line 3:
      At line 41: query 'REPLACE INTO t1 VALUES (4)' failed: 1026: Error writing file 'master-bin' (errno: 11 "Resource temporarily unavailable")
      

      Attachments

        Issue Links

          Activity

            Elkin, I reassigned that to you because it is unobvious what fails, and it will be much easier for you to tell what is wrong. WolfSSL does not do system calls, strace looks pretty similar, no specific errors there.

            wlad Vladislav Vaintroub added a comment - Elkin , I reassigned that to you because it is unobvious what fails, and it will be much easier for you to tell what is wrong. WolfSSL does not do system calls, strace looks pretty similar, no specific errors there.

            Relevant part of strace for WolfSSL (filtered futex, gettimeofday, clock_gettime noise)

            80671 recvfrom(44, "\3REPLACE INTO t1 VALUES (4)", 27, MSG_DONTWAIT, NULL, NULL) = 27
            80671 write(19, "\t\t    10 Query\tREPLACE INTO t1 V"..., 42) = 42
            80671 write(67, "\271\366\335-\332B\243\315\325*\0\0\0\336\252|\253\31xm\5\347\\s\240\211\24\f\n\17(\322"..., 110) = 110
            80671 close(3)                          = 0
            80671 open("./master-bin.index", O_RDWR|O_CREAT|O_CLOEXEC, 0660) = 3
            80671 getcwd("/home/wlad/10.4-wolf/mysql-test/var/mysqld.1/data", 4096) = 50
            80671 lseek(3, 0, SEEK_END)             = 20
            80671 lseek(3, 0, SEEK_CUR)             = 20
            80671 open("./master-bin.~rec~", O_RDWR|O_CREAT|O_CLOEXEC, 0660) = 75
            80671 lseek(75, 0, SEEK_CUR)            = 0
            80671 lseek(75, 0, SEEK_END)            = 0
            80671 close(75)                         = 0
            80671 unlink("./master-bin.~rec~")      = 0
            80671 unlink("./master-bin.~rec~")      = -1 ENOENT (No such file or directory)
            80671 open("./master-bin.~rec~", O_RDWR|O_CREAT|O_CLOEXEC, 0660) = 75
            80671 lseek(75, 0, SEEK_CUR)            = 0
            80671 write(75, "./master-bin.000002\n", 20) = 20
            80671 stat("./master-bin.000002", 0x7f15756d42a0) = -1 ENOENT (No such file or directory)
            80671 open("./master-bin.000002", O_WRONLY|O_CREAT|O_CLOEXEC, 0660) = 76
            80671 getcwd("/home/wlad/10.4-wolf/mysql-test/var/mysqld.1/data", 4096) = 50
            80671 lseek(76, 0, SEEK_CUR)            = 0
            80671 lseek(76, 0, SEEK_CUR)            = 0
            80671 open("/dev/urandom", O_RDONLY)    = 77
            80671 read(77, ":\324u\313\25\260\366\304\354\223Mo\234\5\273qA\332Q\34\323\372\222:\3605\24W\375`O\270"..., 52) = 52
            80671 close(77)                         = 0
            80671 write(76, "\376bin\326\335\353\\\17\1\0\0\0\374\0\0\0\0\1\0\0\1\0\4\00010.4.6-"..., 383) = 383
            80671 write(3, "./master-bin.000002\n", 20) = 20
            80671 close(75)                         = 0
            80671 unlink("./master-bin.~rec~")      = 0
            80671 pwrite64(67, "\0", 1, 21)         = 1
            80671 close(67)                         = 0
            80671 sendto(44, "]\0\0\1\377\2\4#HY000Error writing file "..., 97, MSG_DONTWAIT, NULL, 0) = 97
            80671 recvfrom(44, 0x7f150019caf0, 4, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
            80671 poll([{fd=44, events=POLLIN|POLLPRI}], 1, 28800000) = 1 ([{fd=44, revents=POLLIN|POLLHUP}])
            80671 recvfrom(44, "\1\0\0\0", 4, MSG_DONTWAIT, NULL, NULL) = 4
            80671 recvfrom(44, "\1", 1, MSG_DONTWAIT, NULL, NULL) = 1
            80671 write(19, "\t\t    10 Quit\t\n", 15) = 15
            80671 close(44)                         = 0
            

            wlad Vladislav Vaintroub added a comment - Relevant part of strace for WolfSSL (filtered futex, gettimeofday, clock_gettime noise) 80671 recvfrom(44, "\3REPLACE INTO t1 VALUES (4)", 27, MSG_DONTWAIT, NULL, NULL) = 27 80671 write(19, "\t\t 10 Query\tREPLACE INTO t1 V"..., 42) = 42 80671 write(67, "\271\366\335-\332B\243\315\325*\0\0\0\336\252|\253\31xm\5\347\\s\240\211\24\f\n\17(\322"..., 110) = 110 80671 close(3) = 0 80671 open("./master-bin.index", O_RDWR|O_CREAT|O_CLOEXEC, 0660) = 3 80671 getcwd("/home/wlad/10.4-wolf/mysql-test/var/mysqld.1/data", 4096) = 50 80671 lseek(3, 0, SEEK_END) = 20 80671 lseek(3, 0, SEEK_CUR) = 20 80671 open("./master-bin.~rec~", O_RDWR|O_CREAT|O_CLOEXEC, 0660) = 75 80671 lseek(75, 0, SEEK_CUR) = 0 80671 lseek(75, 0, SEEK_END) = 0 80671 close(75) = 0 80671 unlink("./master-bin.~rec~") = 0 80671 unlink("./master-bin.~rec~") = -1 ENOENT (No such file or directory) 80671 open("./master-bin.~rec~", O_RDWR|O_CREAT|O_CLOEXEC, 0660) = 75 80671 lseek(75, 0, SEEK_CUR) = 0 80671 write(75, "./master-bin.000002\n", 20) = 20 80671 stat("./master-bin.000002", 0x7f15756d42a0) = -1 ENOENT (No such file or directory) 80671 open("./master-bin.000002", O_WRONLY|O_CREAT|O_CLOEXEC, 0660) = 76 80671 getcwd("/home/wlad/10.4-wolf/mysql-test/var/mysqld.1/data", 4096) = 50 80671 lseek(76, 0, SEEK_CUR) = 0 80671 lseek(76, 0, SEEK_CUR) = 0 80671 open("/dev/urandom", O_RDONLY) = 77 80671 read(77, ":\324u\313\25\260\366\304\354\223Mo\234\5\273qA\332Q\34\323\372\222:\3605\24W\375`O\270"..., 52) = 52 80671 close(77) = 0 80671 write(76, "\376bin\326\335\353\\\17\1\0\0\0\374\0\0\0\0\1\0\0\1\0\4\00010.4.6-"..., 383) = 383 80671 write(3, "./master-bin.000002\n", 20) = 20 80671 close(75) = 0 80671 unlink("./master-bin.~rec~") = 0 80671 pwrite64(67, "\0", 1, 21) = 1 80671 close(67) = 0 80671 sendto(44, "]\0\0\1\377\2\4#HY000Error writing file "..., 97, MSG_DONTWAIT, NULL, 0) = 97 80671 recvfrom(44, 0x7f150019caf0, 4, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) 80671 poll([{fd=44, events=POLLIN|POLLPRI}], 1, 28800000) = 1 ([{fd=44, revents=POLLIN|POLLHUP}]) 80671 recvfrom(44, "\1\0\0\0", 4, MSG_DONTWAIT, NULL, NULL) = 4 80671 recvfrom(44, "\1", 1, MSG_DONTWAIT, NULL, NULL) = 1 80671 write(19, "\t\t 10 Quit\t\n", 15) = 15 80671 close(44) = 0

            People

              wlad Vladislav Vaintroub
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.