STACK_DIRECTION = 1 means stack grow upwards
STACK_DIRECTION = -1 means stack grow downwards
In the majority of modern architectures, stack grows downwards. So set
STACK_DIRECTION = 1 is not right. But the failure is not exposed before,
mysqld can start normally, and simple runtime operation like create db,
table, select info, works well. But it is exposed after commit [1] is
merged, mysqld will start failed with error:
2025-02-12 3:18:19 0 [ERROR] Could not open mysql.plugin table: "Thread stack overrun: 16752824 bytes used of a 299008 byte stack, and 81920 bytes needed
Since commit [2], mariadb started to determine the default
STACK_DIRECTION in CMake based on the ISA, and we have set correct
CMAKE_SYSTEM_PROCESSOR in cmake.bbclass, so just don't pass it.
[1] bddbef3573
[2] d0abbdf56e
[3] https://jira.mariadb.org/browse/MDEV-36051
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit cdd8b41d6e3b20ca562df49aa0710f07a6218f20)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This upgrade includes fix for CVE-2023-52969, CVE-2023-52970
and CVE-2023-52971
Changelog:
https://mariadb.com/kb/en/mariadb-10-11-12-changelog/
refresh 0001-Add-missing-includes-cstdint-and-cstdio.patch
Droped mm_malloc.patch and ppc-remove-glibc-dep.patch (Commit ID:
dff354e7df)
as these changes are available in 10.11.12
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
As the change [1] introduced in 10.11.7, there comes below configure failure:
| -- Performing Test HAVE_SYSTEM_LIBFMT
| CMake Error: try_run() invoked in cross-compiling mode, please set the following cache variables appropriately:
| HAVE_SYSTEM_LIBFMT_EXITCODE (advanced)
| For details see /build/tmp-glibc/work/core2-64-wrs-linux/mariadb/10.11.7/build/TryRunResults.cmake
| -- Performing Test HAVE_SYSTEM_LIBFMT - Failed
[snip]
Considering [1] is mainly used to test fmt 10.0.0 failure and we use libfmt
10.2.1 now, so define "-DHAVE_SYSTEM_LIBFMT_EXITCODE=0" as workaround [2] to
fix the above configure error.
Remove the problematic assert lines to fix the below build failure on 32bit
arm as the next 10.11 release will bring the assert back in a way that works
on 32-bit arm [3].
In file included from TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_test.c:38:
TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_fw.c:1438:3: error: 'compile_time_assert' declared as an array with a negative size
1438 | compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1] b5c367cd88
[2] https://jira.mariadb.org/browse/MDEV-30694
[3] https://jira.mariadb.org/browse/MDEV-33429
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Having useradd class inherited for the -native recipe makes no sense and
emit this kind of warning during reproducibility test:
stdio: WARNING: QA Issue: mariadb-native: native/nativesdk class is not inherited last, this can result in unexpected behaviour. Classes inherited after native/nativesdk: useradd-staticids.bbclass [native-last]
So, move the useradd inherit and associated variables to the target side
of the recipe.
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Rebase patch 0001-Add-missing-includes-cstdint-and-cstdio.patch to
the new version.
After the commit [1] introduced in the new version, there is below
build failure though uca-dump installed as [2], so copy the uca-dump
to the right place to fix the below failure.
make[2]: *** No rule to make target 'strings/uca-dump', needed by 'strings/ctype-uca1400data.h'. Stop.
[1] 6f6fa3bec2
[2] https://git.openembedded.org/meta-openembedded/commit/?id=1f69de300fd3b772830432eedeb2b055396494a6
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).
This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.
This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
5 (26%) meta-xfce
6 (50%) meta-perl
15 (42%) meta-webserver
21 (36%) meta-gnome
25 (57%) meta-filesystems
26 (43%) meta-initramfs
45 (45%) meta-python
47 (55%) meta-multimedia
312 (63%) meta-networking
756 (61%) meta-oe
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Remove the backported patch mariadb-openssl3.patch as the logic
is included in the new version.
Add zstd to DEPENDS as below commit [1] introduced.
770cf22 CONC-575: Support for MySQL zstd compression
[1] 770cf2286a
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Rework the patch to fix the build failure with bundled openssl and
the missing part [1] already included in mariadb 10.8.x [2].
Add PACKAGECONFIG:remove:pn-mariadb = " openssl" to local.conf
$ bitbake mariadb
| /buildpath/mariadb/10.7.3-r0/mariadb-10.7.3/mysys_ssl/my_crypt.cc:18:
| /buildpath/mariadb/10.7.3-r0/mariadb-10.7.3/mysys_ssl/my_crypt.cc: In member function 'virtual int MyCTX_nopad::init(const EVP_CIPHER*, int, const uchar*, uint, const uchar*, uint)':
| /buildpath/mariadb/10.7.3-r0/mariadb-10.7.3/include/my_global.h:387:74: error: narrowing conversion of '-1' from 'int' to 'long unsigned int' [-Wnarrowing]
387 | typedef char compile_time_assert[(X) ? 1 : -1] _attribute_((unused)); \
[1] 7cd965af92
[2] d42c2efbaa
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
clang complains about alignments on 64bit atomics and falls back to
using these functions from libatomic. And the configure part does not
detect this condition and thinks that system can support 64bit atomics
just fine.
clang needs this patch to fix
| pfs_instr.cc:(.text+0x10a5): undefined reference to `__atomic_fetch_add_8'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Mingli Yu <mingli.yu@windriver.com>
cmakery fails to detect openSSL and falls back to use wolfSSL which is
bundled with mariadb, therefore fix openSSL support fixes from fedora
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Mingli Yu <mingli.yu@windriver.com>
Remove two patches which are already included in new version and rebase
one patch to new version and add lzo rdepends to fix below qa issue. [1]
ERROR: mariadb-10.7.3-r0 do_package_qa: QA Issue: /usr/lib64/plugin/provider_lzo.so contained in package mariadb-server requires liblzo2.so.2()(64bit), but no providers found in RDEPENDS:mariadb-server? [file-rdeps]
Add gnutls to depends to fix below error and fmt to depends [2]
| Could NOT find GnuTLS (missing: GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)
[1] bf8b699f64
[2] 284ed64336
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Backport a patch [1] to fix the below mariadb crash issue which related to
compatibility with openssl 3.x.
# mysql_install_db --basedir=/usr
Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
/usr/bin/mysql_install_db: line 525: 430 Aborted "$mysqld_bootstrap" $defaults $defaults_group_suffix "$mysqld_opt" --bootstrap $silent_startup "--basedir=$basedir" "--datadir=$ldata" --log-warnings=0 --enforce-storage-engine="" "--plugin-dir=${plugindir}" $args --max_allowed_packet=8M --net_buffer_length=16K
Installation of system tables failed! Examine the logs in
/var/log/mysqld.log or /var/lib/mysql for more information.
[snip]
# cat /var/log/mysqld.log
[snip]
Thread pointer: 0x55e203ab6d98
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 = 0x7ffd0c35dd18 thread_stack 0x49000
/usr/sbin/mariadbd(my_print_stacktrace+0x2e)[0x55e2027e533e]
/usr/sbin/mariadbd(handle_fatal_signal+0x478)[0x55e20233eac8]
libc_sigaction.c:0(__restore_rt)[0x7fbdf353b8f0]
nptl/pthread_kill.c:46(__pthread_kill_internal)[0x7fbdf3586693]
posix/raise.c:27(__GI_raise)[0x7fbdf353b846]
stdlib/abort.c:81(__GI_abort)[0x7fbdf35267a3]
posix/libc_fatal.c:161(__GI___libc_fatal)[0x7fbdf357ae50]
debug/fortify_fail.c:25(__GI___fortify_fail)[0x7fbdf3613c4a]
:0(__stack_chk_fail_local)[0x7fbdf3613c14]
/usr/sbin/mariadbd(+0xacc8b5)[0x55e20253f8b5]
mysys_ssl/my_md5.cc:92(my_md5)[0x55e202203533]
/usr/sbin/mariadbd(_Z17mysql_create_viewP3THDP10TABLE_LIST21enum_view_create_mode+0x9e1)[0x55e2021f44b1]
/usr/sbin/mariadbd(_Z21mysql_execute_commandP3THDb+0x2249)[0x55e202131f79]
/usr/sbin/mariadbd(_Z11mysql_parseP3THDPcjP12Parser_state+0x1d8)[0x55e202135098]
sql/table.cc:5635(TABLE_LIST::calc_md5(char const*))[0x55e20213546e]
sql/sql_class.h:1219(Query_arena::memdup(void const*, unsigned long))[0x55e202073dee]
nptl/libc_start_call_main.h:58(__libc_start_call_main)[0x7fbdf352751b]
csu/libc-start.c:128(call_init)[0x7fbdf35275cc]
/usr/sbin/mariadbd(_start+0x25)[0x55e2020686b5]
[snip]
[1] 1b238e3435
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop patches such as 0001-disable-ucontext-on-musl.patch is used to
patch include/my_context.h which is deleted in 10.6.x [1] and rebase one
patch to avoid fuzz warnings.
[1] 32a29afea7
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The previous SRC_URI only stores the latest source tarball and we
will meet do_fetch issue if not upgrade timely.
Update the SRC_URI which stores all versions to fix some warning
like below:
WARNING: mariadb-10.5.9-r0 do_fetch: Failed to fetch URL https://downloads.mariadb.org/interstitial/mariadb-10.5.9/source/mariadb-10.5.9.tar.gz, attempting MIRRORS if available
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is the result of automated script (0.9.1) conversion:
oe-core/scripts/contrib/convert-overrides.py .
converting the metadata to use ":" as the override character instead of "_".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
The log-error item which defined in my.cnf is "/var/log/mysqld.err"
previouly and it's not consistent with which created in install_db
service file which will call mysql-systemd-start to create the file
"/var/log/mysqld.log".
And it fails when boot with sysvinit as below:
$ service mysqld start
Starting MariaDB.210727 04:05:03 mysqld_safe Logging to '/var/log/mysqld.err'.
210727 04:05:03 mysqld_safe Starting mariadbd daemon with databases from /var/lib/mysql
/usr/bin/mysqld_safe_helper: Can't create/write to file '/var/log/mysqld.err' (Errcode: 13 "Permission denied")
So make the log-error item consistent to fix the above failure
and also remove the related workaround when boot with systemd.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
It fails to start install_db.service when install mariadb-setupdb from a
package repo via dnf:
root@qemux86-64:~# systemctl status install_db
x install_db.service - Install MySQL Community Server Database
Loaded: loaded (/lib/systemd/system/install_db.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2021-07-09 02:55:12 UTC; 5s ago
Process: 504 ExecStart=/usr/bin/mysql-systemd-start pre (code=exited, status=203/EXEC)
Main PID: 504 (code=exited, status=203/EXEC)
Jul 09 02:55:12 qemux86-64 systemd[1]: Starting Install MySQL Community Server Database...
Jul 09 02:55:12 qemux86-64 systemd[504]: install_db.service: Failed to locate executable /usr/bin/mysql-systemd-start: No such file or directo>
Jul 09 02:55:12 qemux86-64 systemd[504]: install_db.service: Failed at step EXEC spawning /usr/bin/mysql-systemd-start: No such file or direct>
Jul 09 02:55:12 qemux86-64 systemd[1]: install_db.service: Main process exited, code=exited, status=203/EXEC
Jul 09 02:55:12 qemux86-64 systemd[1]: install_db.service: Failed with result 'exit-code'.
Jul 09 02:55:12 qemux86-64 systemd[1]: Failed to start Install MySQL Community Server Database.
The scripts required by install_db.service are packaged in
mariadb-server which depends on mariadb-setupdb already. So move the
scripts to mariadb-setupdb to make sure start install_db.service
successfully. And move creating user 'mysql' in mariadb-setupdb as well.
Packageconfig 'setupdb' has been useless from last upgrade, so remove it
at same time.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This way, mariadb does not depend on mariadb-native anymore.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
musl finds this problem in sources where its missing to include
needed system header for ssize_t
Fixes
wsrep-lib/include/wsrep/gtid.hpp:80:5: error: unknown type name 'ssize_t'; did you mean 'size_t'?
ssize_t scan_from_c_str(const char* buf, size_t buf_len,
^~~~~~~
size_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop fix-a-building-failure.patch because upstream has made is narrower
to apply to emulator builds and not just any cross compiling builds
Add missing dependency on boost
Signed-off-by: Khem Raj <raj.khem@gmail.com>
newer 32bit arches e.g. RV32 and ARC do not have __NR_io_getevents
syscall and have started of with 64bit time_t so there is no 32bit
version
Signed-off-by: Khem Raj <raj.khem@gmail.com>