It appears the linker is eliding the section that libqb's "linker magic"
expects when the linker detects that the compiled program doesn't
actually use that section, which seems completely reasonable for the
linker to do. This seems to be a case of libqb trying to be "clever" by
relying on an implementation detail of the linker, which is bad.
A slightly adjusted test program, to actually use the libqb log
functions, does not reproduce the problem, e.g.:
#include <qb/qblog.h>
QB_LOG_INIT_DATA(test);
int main(int argc, char* argv[])
{
qb_log_init("test", LOG_USER, LOG_INFO);
qb_log(LOG_ERR, "test\n");
qb_log_fini();
return 0;
}
Compiling that with or without -DQB_KILL_ATTRIBUTE_SECTION results in the
message "test" logged to syslog when run, so it appears safe to compile
pacemaker (and any other programs using libqb that show this problem) with that
define, to work around this issue.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1915828
Title:
pacemaker fails to release clustered filesystem dlm locks on failover
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pacemaker/+bug/1915828/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs