Source: mariadb-10.6
Version: 1:10.6.9-1
Followup-For: Bug #1024041
Tags: patch

Hi,

The patch attached is trying to fix the ftbfs issue due to atomic issue
on riscv64. 

But unfortunately, it fails at last due to test failed:

```
worker[1] mysql-test-run: WARNING: Process [mysqld.1 - pid: 157466, winpid: 
157466] died after mysql-test-run waited 11.48 seconds for 
/<<PKGBUILDDIR>>/builddir/mysql-test/var/1/run/mysqld.1.pid to be created.
main.bind_address_resolution             w1 [ fail ]
        Test ended at 2022-11-14 07:39:39

CURRENT_TEST: main.bind_address_resolution


Failed to start mysqld.1
mysqltest failed but provided no output


 - saving 
'/<<PKGBUILDDIR>>/builddir/mysql-test/var/1/log/main.bind_address_resolution/' 
to '/<<PKGBUILDDIR>>/builddir/mysql-test/var/log/main.bind_address_resolution/'

Retrying test main.bind_address_resolution, attempt(2/3)...

***Warnings generated in error logs during shutdown after running tests: 
main.bind_address_resolution

2022-11-14  7:39:39 0 [ERROR] Can't start server: Bind on TCP/IP port. Got 
error: 98: Address already in use
2022-11-14  7:39:39 0 [ERROR] Do you already have another server running on 
port: 16020 ?
2022-11-14  7:39:39 0 [ERROR] Aborting
Warning: Memory not freed: 280

main.ctype_cp932_binlog_row              w2 [ pass ]    275
...
worker[1] mysql-test-run: WARNING: Process [mysqld.1 - pid: 157575, winpid: 
157575] died after mysql-test-run waited 11.47 seconds for 
/<<PKGBUILDDIR>>/builddir/mysql-test/var/1/run/mysqld.1.pid to be created.
main.bind_address_resolution             w1 [ retry-fail ]
        Test ended at 2022-11-14 07:39:54

CURRENT_TEST: main.bind_address_resolution


Failed to start mysqld.1
mysqltest failed but provided no output


 - saving 
'/<<PKGBUILDDIR>>/builddir/mysql-test/var/1/log/main.bind_address_resolution/' 
to '/<<PKGBUILDDIR>>/builddir/mysql-test/var/log/main.bind_address_resolution/'

Test main.bind_address_resolution has failed 2 times, no more retries!

***Warnings generated in error logs during shutdown after running tests: 
main.bind_address_resolution

2022-11-14  7:39:54 0 [ERROR] Can't start server: Bind on TCP/IP port. Got 
error: 98: Address already in use
2022-11-14  7:39:54 0 [ERROR] Do you already have another server running on 
port: 16020 ?
2022-11-14  7:39:54 0 [ERROR] Aborting
Warning: Memory not freed: 280
...
main.flush_logs_not_windows              w4 [ fail ]
        Test ended at 2022-11-14 07:50:00

CURRENT_TEST: main.flush_logs_not_windows
mysqltest: At line 10: query 'flush logs' succeeded - should have failed with 
error ER_CANT_CREATE_FILE (1004)...

The result from queries just before the failure was:
flush logs;

 - saving 
'/<<PKGBUILDDIR>>/builddir/mysql-test/var/4/log/main.flush_logs_not_windows/' 
to '/<<PKGBUILDDIR>>/builddir/mysql-test/var/log/main.flush_logs_not_windows/'

Retrying test main.flush_logs_not_windows, attempt(2/3)...

main.order_by_optimizer                  w2 [ pass ]    132
main.flush_logs_not_windows              w4 [ retry-fail ]
        Test ended at 2022-11-14 07:50:02

CURRENT_TEST: main.flush_logs_not_windows
mysqltest: At line 10: query 'flush logs' succeeded - should have failed with 
error ER_CANT_CREATE_FILE (1004)...

The result from queries just before the failure was:
flush logs;

 - saving 
'/<<PKGBUILDDIR>>/builddir/mysql-test/var/4/log/main.flush_logs_not_windows/' 
to '/<<PKGBUILDDIR>>/builddir/mysql-test/var/log/main.flush_logs_not_windows/'

Test main.flush_logs_not_windows has failed 2 times, no more retries!

...
Completed: Failed 4/1000 tests, 99.60% were successful.

Failing test(s): main.bind_address_resolution main.flush_logs_not_windows

The log files in var/log may give you some hint of what went wrong.

If you want to report this error, please read first the documentation
at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html

Errors/warnings were found in logfiles during server shutdown after running the
following sequence(s) of tests:
    main.bind_address_resolution
    main.bind_address_resolution
159 tests were skipped, 69 by the test itself.

mysql-test-run: *** ERROR: there were failing test cases

```

I use `sbuild` to build the package and whiletime I noticed there is
port 16020 running from mariadb.

Could you help to have a look?  There is one portbox for riscv64. If you
have trouble to use it, I can add your pubkey into my riscv64 hardware
to have a look.
Please let me know if there is any issues.


-- 
Regards,
--
  Bo YU

--- debian/rules	2022-09-26 06:43:39.000000000 +0800
+++ ../../mariadb-10.6-10.6.10/debian/rules	2022-11-14 11:08:54.333220338 +0800
@@ -4,6 +4,11 @@
 # https://wiki.debian.org/Hardening
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
+# Link with libatomic on riscv64 to get access to the __atomic_*_1 functions
+ifeq ($(DEB_HOST_ARCH),riscv64)
+    export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
+endif
+
 # Disable LTO on Ubuntu, see LP: #1970634 and https://jira.mariadb.org/browse/MDEV-25633
 ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes), yes)
     export DEB_BUILD_MAINT_OPTIONS += optimize=-lto

Attachment: signature.asc
Description: PGP signature

Reply via email to