Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mariadb (sorry): fix missing pthread mutex init after calloc #661

Closed
wants to merge 455 commits into from

Conversation

sitano
Copy link

@sitano sitano commented Jul 31, 2024

... this is actual only for mariadb version ...

temeo and others added 30 commits May 12, 2020 15:10
    added conditional dependency to rpm spec
Conflicts:
	galera/tests/certification_check.cpp
	galera/tests/ist_check.cpp
	gcs/src/unit_tests/gcs_core_test.cpp
- Free Page pointers in PageStore page queue in PageStore destructor.
- Fixed buffer overflow errors in gcache_page_test.cpp.
Conflicts:
	galera/src/saved_state.cpp
	galera/tests/certification_check.cpp
	galera/tests/service_thd_check.cpp
	gcs/src/unit_tests/gcs_core_test.cpp
	gcs/src/unit_tests/gcs_defrag_test.cpp
	gcs/src/unit_tests/gcs_test_utils.cpp
ayurchen and others added 28 commits October 10, 2023 19:49
The building of RPMs assumes the code is already built. This may have
been done with CMake. Having the build depends here can fail if scons
isn't installed, despite is never used.
Sometime platform compilers are needed like: MariaDB/buildbot#190
Detection is just for the detection of sles. Remove other RPM distros.

Use this where the distro cannot be queried with rpm.

From /etc/SuSE-release
    SUSE Linux Enterprise Server 12 (s390x)
    VERSION = 12
    PATCHLEVEL = 5
    # This file is deprecated and will be removed in a future service pack or release.
    # Please check /etc/os-release for details about this release.

On SLES12:
 rpm --eval '%{dist}'
%{dist}

/etc/os-release
    NAME="SLES"
    VERSION="12-SP5"
    VERSION_ID="12.5"
    PRETTY_NAME="SUSE Linux Enterprise Server 12 SP5"
    ID="sles"
    ANSI_COLOR="0;32"
    CPE_NAME="cpe:/o:suse:sles:12:sp5"

So we use NAME/ID/VERSION_ID to form the required distro tag.
4.ee-failed-report-last-committed
Conflicts:
	galera/src/galera-sym.map
	galera/src/trx_handle.hpp
	galera/src/wsrep_provider.cpp
	galera/tests/certification_check.cpp
	gcs/src/gcs_group.cpp
The common bits of rpm -qi --provides for:
* libopenssl-devel
* libopenssl-3-devel
* libopenssl-1_1-devel

are:

pkgconfig(libcrypto)
pkgconfig(libopenssl)
pkgconfig(libssl)
pkgconfig(openssl)

Libssl seems the most accurate on usage.
We must read the 8-byte timeout expiration counter (using the
"timerfd" descriptor) every time when an EPOLLIN event occurs.
Otherwise, the timer may stop notifying the application of new
events, and all actions related to this timer will be frozen
on some systems; or vice versa, we will get an infinite loop
of notifications due to the constant readiness to read new data.
…devel-dep

sles/opensuse 15 dependency on ssl-devel
Without a /etc/os-release ID and VERSION_ID would be blank, so
lets just populate these with an unknown tag.
calls constructor for a mutex in a struct value init-ed with gu_calloc.

in path `gcs_core_create() -> gcs_group_init()`, the first one allocates
`gcs_core_t* core` with gu_calloc() whereas `gcs_code_t` has
`gcs_group_t group` with `gu::Mutex memb_mtx_`. After memory allocation
gu::Mutex constructor was not called that lead to an error on Darwin in
a call to pthread mutex lock.

Signed-off-by: Ivan Prisyazhnyy <[email protected]>
@sitano sitano closed this Jul 31, 2024
@sitano sitano changed the title fix missing pthread mutex init after calloc mariadb (sorry): fix missing pthread mutex init after calloc Jul 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.