Re: [ClusterLabs] [Announce] libqb 10.rc3 release
On 26/02/16 07:58, Jan Pokorný wrote: > On 26/02/16 14:27 +0900, Keisuke MORI wrote: >> As of libqb-1.0rc3, Pacemaker fails to build upon it with the gcc >> warnings as below. >> There was no such a problem until 1.0rc2, and it seems that the >> changes in the pull request #175 is related. >> >> https://github.com/ClusterLabs/libqb/pull/175 >> >> {{{ >> [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# rpm -qa | grep libqb >> libqb-1.0rc3-1.el7.x86_64 >> libqb-devel-1.0rc3-1.el7.x86_64 >> >> [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# git checkout >> Pacemaker-1.1.14 >> HEAD is now at 70404b0... Merge pull request #892 from kgaillot/1.1 >> [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# make release >> (snip) >> In file included from ../../include/crm_internal.h:33:0, >> from ipc.c:19: >> ipc.c: In function 'crm_ipcs_flush_events': >> ../../include/crm/common/logging.h:140:23: error: format '%d' expects >> argument of type 'int', but argument 10 has type 'ssize_t' >> [-Werror=format=] >> static struct qb_log_callsite *trace_cs = NULL; \ >>^ >> ../../include/crm/common/logging.h:254:37: note: in expansion of macro >> 'do_crm_log_unlikely' >> # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, >> fmt , ##args) >> ^ >> [...] > > Looks like that PR of mine turned out to be generally a good thing as it > effectively discovers wrong printf-format usage compared to the actual > arguments, exactly according to what you report :-) > > Will take care of the problematic code in Pacemaker. > > Good work :-) Chrissie ___ Users mailing list: Users@clusterlabs.org http://clusterlabs.org/mailman/listinfo/users Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org
Re: [ClusterLabs] [Announce] libqb 10.rc3 release
On 26/02/16 08:58 +0100, Jan Pokorný wrote: > On 26/02/16 14:27 +0900, Keisuke MORI wrote: >> As of libqb-1.0rc3, Pacemaker fails to build upon it with the gcc >> warnings as below. >> There was no such a problem until 1.0rc2, and it seems that the >> changes in the pull request #175 is related. >> >> https://github.com/ClusterLabs/libqb/pull/175 >> >> {{{ >> [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# rpm -qa | grep libqb >> libqb-1.0rc3-1.el7.x86_64 >> libqb-devel-1.0rc3-1.el7.x86_64 >> >> [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# git checkout >> Pacemaker-1.1.14 >> HEAD is now at 70404b0... Merge pull request #892 from kgaillot/1.1 >> [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# make release >> (snip) >> In file included from ../../include/crm_internal.h:33:0, >> from ipc.c:19: >> ipc.c: In function 'crm_ipcs_flush_events': >> ../../include/crm/common/logging.h:140:23: error: format '%d' expects >> argument of type 'int', but argument 10 has type 'ssize_t' >> [-Werror=format=] >> static struct qb_log_callsite *trace_cs = NULL; \ >>^ >> ../../include/crm/common/logging.h:254:37: note: in expansion of macro >> 'do_crm_log_unlikely' >> # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, >> fmt , ##args) >> ^ >> [...] > > Looks like that PR of mine turned out to be generally a good thing as it > effectively discovers wrong printf-format usage compared to the actual > arguments, exactly according to what you report :-) > > Will take care of the problematic code in Pacemaker. https://github.com/ClusterLabs/pacemaker/pull/939 -- Jan (Poki) pgpaNFhZ0yryR.pgp Description: PGP signature ___ Users mailing list: Users@clusterlabs.org http://clusterlabs.org/mailman/listinfo/users Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org
Re: [ClusterLabs] [Announce] libqb 10.rc3 release
On 25/02/16 13:24 +, Christine Caulfield wrote: > I am pleased to announce the third 1.0 release candidate release of > libqb. Huge thanks to all those who have contributed to this release. Once again, there are EPEL/Fedora builds for convenient testing: https://copr.fedorainfracloud.org/coprs/jpokorny/libqb/build/163316/ Note that upsteam spec file was used (make libqb.spec), only with a slight adjustment of the Version & Release tags + pointing Source0 to https://github.com/ClusterLabs/libqb/releases/download/v1.0rc3/libqb-1.0rc3.tar.xz This time around, all users of libqb are strongly advised to try building with this version of libqb to discover potential misuse of printf-like format string vs. actual arguments serving for substitution within it. This is due to the newly introduced annotation to give the compiler a hint about the printf-like semantics of the arguments to particular functions: https://github.com/ClusterLabs/libqb/pull/175 Warm thanks to Keisuke-san for pointing the possible issues arising from this coding defensive measure, as he was first to report failure to build Pacemaker as a direct consequence (I am fixing that right now): http://oss.clusterlabs.org/pipermail/users/2016-February/002375.html -- Jan (Poki) pgpQS2GXKuRde.pgp Description: PGP signature ___ Users mailing list: Users@clusterlabs.org http://clusterlabs.org/mailman/listinfo/users Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org
Re: [ClusterLabs] [Announce] libqb 10.rc3 release
On 26/02/16 14:27 +0900, Keisuke MORI wrote: > As of libqb-1.0rc3, Pacemaker fails to build upon it with the gcc > warnings as below. > There was no such a problem until 1.0rc2, and it seems that the > changes in the pull request #175 is related. > > https://github.com/ClusterLabs/libqb/pull/175 > > {{{ > [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# rpm -qa | grep libqb > libqb-1.0rc3-1.el7.x86_64 > libqb-devel-1.0rc3-1.el7.x86_64 > > [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# git checkout > Pacemaker-1.1.14 > HEAD is now at 70404b0... Merge pull request #892 from kgaillot/1.1 > [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# make release > (snip) > In file included from ../../include/crm_internal.h:33:0, > from ipc.c:19: > ipc.c: In function 'crm_ipcs_flush_events': > ../../include/crm/common/logging.h:140:23: error: format '%d' expects > argument of type 'int', but argument 10 has type 'ssize_t' > [-Werror=format=] > static struct qb_log_callsite *trace_cs = NULL; \ >^ > ../../include/crm/common/logging.h:254:37: note: in expansion of macro > 'do_crm_log_unlikely' > # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, > fmt , ##args) > ^ > [...] Looks like that PR of mine turned out to be generally a good thing as it effectively discovers wrong printf-format usage compared to the actual arguments, exactly according to what you report :-) Will take care of the problematic code in Pacemaker. -- Jan (Poki) pgp2pRrOiPRpq.pgp Description: PGP signature ___ Users mailing list: Users@clusterlabs.org http://clusterlabs.org/mailman/listinfo/users Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org
Re: [ClusterLabs] [Announce] libqb 10.rc3 release
Hi, As of libqb-1.0rc3, Pacemaker fails to build upon it with the gcc warnings as below. There was no such a problem until 1.0rc2, and it seems that the changes in the pull request #175 is related. https://github.com/ClusterLabs/libqb/pull/175 {{{ [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# rpm -qa | grep libqb libqb-1.0rc3-1.el7.x86_64 libqb-devel-1.0rc3-1.el7.x86_64 [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# git checkout Pacemaker-1.1.14 HEAD is now at 70404b0... Merge pull request #892 from kgaillot/1.1 [root@build-centos71 pacemaker ((Pacemaker-1.1.14))]# make release (snip) In file included from ../../include/crm_internal.h:33:0, from ipc.c:19: ipc.c: In function 'crm_ipcs_flush_events': ../../include/crm/common/logging.h:140:23: error: format '%d' expects argument of type 'int', but argument 10 has type 'ssize_t' [-Werror=format=] static struct qb_log_callsite *trace_cs = NULL; \ ^ ../../include/crm/common/logging.h:254:37: note: in expansion of macro 'do_crm_log_unlikely' # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, fmt , ##args) ^ ipc.c:497:13: note: in expansion of macro 'crm_trace' crm_trace("Event %d to %p[%d] (%d compressed bytes) sent", ^ ../../include/crm/common/logging.h:140:23: error: format '%d' expects argument of type 'int', but argument 10 has type 'ssize_t' [-Werror=format=] static struct qb_log_callsite *trace_cs = NULL; \ ^ ../../include/crm/common/logging.h:254:37: note: in expansion of macro 'do_crm_log_unlikely' # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, fmt , ##args) ^ ipc.c:500:13: note: in expansion of macro 'crm_trace' crm_trace("Event %d to %p[%d] (%d bytes) sent: %.120s", ^ ../../include/crm/common/logging.h:140:23: error: format '%s' expects argument of type 'char *', but argument 11 has type 'void *' [-Werror=format=] static struct qb_log_callsite *trace_cs = NULL; \ ^ ../../include/crm/common/logging.h:254:37: note: in expansion of macro 'do_crm_log_unlikely' # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, fmt , ##args) ^ ipc.c:500:13: note: in expansion of macro 'crm_trace' crm_trace("Event %d to %p[%d] (%d bytes) sent: %.120s", ^ ../../include/crm/common/logging.h:140:23: error: format '%d' expects argument of type 'int', but argument 12 has type 'ssize_t' [-Werror=format=] static struct qb_log_callsite *trace_cs = NULL; \ ^ ../../include/crm/common/logging.h:254:37: note: in expansion of macro 'do_crm_log_unlikely' # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, fmt , ##args) ^ ipc.c:512:9: note: in expansion of macro 'crm_trace' crm_trace("Sent %d events (%d remaining) for %p[%d]: %s (%d)", ^ ipc.c: In function 'crm_ipcs_sendv': ../../include/crm/common/logging.h:140:23: error: format '%d' expects argument of type 'int', but argument 8 has type 'ssize_t' [-Werror=format=] static struct qb_log_callsite *trace_cs = NULL; \ ^ ../../include/crm/common/logging.h:254:37: note: in expansion of macro 'do_crm_log_unlikely' # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, fmt , ##args) ^ ipc.c:661:13: note: in expansion of macro 'crm_trace' crm_trace("Response %d sent, %d bytes to %p[%d]", header->qb.id, rc, c->ipcs, c->pid); ^ ipc.c: In function 'crm_ipc_close': ../../include/crm/common/logging.h:140:23: error: format '%p' expects a matching 'void *' argument [-Werror=format=] static struct qb_log_callsite *trace_cs = NULL; \ ^ ../../include/crm/common/logging.h:254:37: note: in expansion of macro 'do_crm_log_unlikely' # define crm_trace(fmt, args...) do_crm_log_unlikely(LOG_TRACE, fmt , ##args) ^ ipc.c:831:9: note: in expansion of macro 'crm_trace' crm_trace("Disconnecting %s IPC connection %p (%p.%p)", client->name, client, client->ipc); ^ cc1: all warnings being treated as errors gmake[4]: *** [ipc.lo] Error 1 gmake[4]: *** Waiting for unfinished jobs (snip) }}} 2016-02-25 22:24 GMT+09:00 Christine Caulfield : > I am pleased to announce the third 1.0 release candidate release of > libqb. Huge thanks to all those who have contributed to this release. > > There are a couple of tiny things to tidy up before 1.0 so I'm going to > try and close the release off by the end of next week (5th march) unless > anything serious comes in. > > Changes from 1.0rc3 are mainly detail ones apart fr
[ClusterLabs] [Announce] libqb 10.rc3 release
I am pleased to announce the third 1.0 release candidate release of libqb. Huge thanks to all those who have contributed to this release. There are a couple of tiny things to tidy up before 1.0 so I'm going to try and close the release off by the end of next week (5th march) unless anything serious comes in. Changes from 1.0rc3 are mainly detail ones apart from one extra logging feature. Feature: allow changing the identifier for syslog (+tests) ipc: Set send and receive buffer sizes ipc: Set buffer size used by ipcs service ipc: Return -errno when getsockopt/setsockopt fails example: fix simplelog usage message log: defined value as an index-pointer after static slots log: convert log target defined values into enum values log: better (fixed) documentation for funcs returning "slot" index log: refactor static target slots state initialization log: convert few more instances to use enum qb_log_target_slot log: qblog.h unify descriptions before the code examples CI: Multiple fixes doc: Fix typos and reword several parts to be clearer build: misc spec file cleanups build: Add gcc pragmas for printf formats build: grab "dependent_headers" from respective Makefile.am build: header-based man pages: dependent_headers - blacklist build: header-based man pages: include also qbdefs.h+qbrb.h build: GCC < 4.6 does not support diagnostic push/pop pragmas build: fix man3 pages not installed The current release tarball is here: https://github.com/ClusterLabs/libqb/releases/download/v1.0rc3/libqb-1.0rc3.tar.gz The github repository is here: https://github.com/ClusterLabs/libqb Please report bugs and issues in bugzilla: https://bugzilla.redhat.com ___ Users mailing list: Users@clusterlabs.org http://clusterlabs.org/mailman/listinfo/users Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org