Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w50w1-002o93-2r for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 12:32:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w50w0-006hu1-1D for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 12:32:36 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w50vz-006htt-38 for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 12:32:36 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w50vy-00000000mzD-2xBm for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 12:32:35 +0000 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-6618bc129acso1769116a12.2 for ; Tue, 24 Mar 2026 05:32:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774355553; cv=none; d=google.com; s=arc-20240605; b=Q6ZxIKq6huy6hLEirwSP6Ix2eKbIXXtot659CmepHlnTG40Zrg2jxopbudKV7HjPus A33Y0ZDCdvytEtzjvmDN3x2hks7Og3CVhMXeTvwyhuOO5+NcaxUTyn2PvGvP32tyjfog vmtRXQtCfI086DtC2ZEThg2dy2+EOEekjgnh2/fApsMdssljd6bpNGk4QM1s1qK0f6Ze 4bZ9dJ3IBWHoAcXaeLeCZD1dCmdP96Fex8KZVVXUgnInDzFr9U9wxInaA58XnGsWIn3F SjLM8pYAwKrtNYKqKj7/ssNgyElzKfFettUaARz99qerFHCrkMf5T8YYrNDmsOOZMi6n yXJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=lokzuzwfV/IXes6Y/qpmzWtiXcuDpFAQ07/ukgSzzis=; fh=nwNxTtLLPTU0ewfLM7SSbrjMajMl+wwnFkCY/fi90vE=; b=Ay1gQWohaYvOlQziP8cdgPCZTqM5t/i1cpeb2BzglhilO8vQ6PI8qCqpiN5ray/GOv oHvl8LzOm7gfN6JN7LiGYxrhS31aQIDe0xBEiihaPl9e1E6eNm/Hexd0VHZrxyWKOmCp oqdnhvIEmt4WQQdDOx1VREjZbDrn7u+GM1xQ/WbG8gsJVQDXnmiYZ1tRnI6Hy6Isgb0Z O/7orJWFt8vmu+L6iX0ZG6TFj+/PW97AF+tDQak+wiZvY5C7BzuBiGa6lhFpDwGmW/Di veG3liAtX5QlfaLM7CoIdiBX48Nain2GOKWnq2AxlcoX/UqF7+6KhgDNsE3zvOzswk2x h6NQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774355553; x=1774960353; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=lokzuzwfV/IXes6Y/qpmzWtiXcuDpFAQ07/ukgSzzis=; b=bLXroBVMHvLtvzud159dduSOmKr3ROpaW67v1zU9OzkSNTn3XMXWP3o0LSSrVL4KJ+ 4JJdnqlTw1qdjVqYHhUEXZWAljOy7cYv9pHWByc1ceYr08ZUbEt5xhgxenM/Nq5M32ky 6CFG83D5kGYKuy/WOOVB3dckf61MrumPZzQ35TUKIud+u+3qIiItJMFM2eMMI+m7VZ/n V4K/EgyAK7kyZ7T6kATSAVABsrOTgG2leaaZm3OjMrFubiryJD4oXc0opPLj6ydqL1tY fl5rAYn8nKnm2yMkTEJO3fuM5uGOeu7WSMJcX3qQuDdc3UU5/IMvdGXYRkBSstfMQRgn e5eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774355553; x=1774960353; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lokzuzwfV/IXes6Y/qpmzWtiXcuDpFAQ07/ukgSzzis=; b=RLcpBz6Fh19bqWzh0tec7PYCwyWnYz0Wf1RWS4gXfA/QrPfCDCUgKtUIk2VYHnzqe3 y5+eFlKXq8hVJv9BZdQ8cNYR3mSSVQLzo5BUQvSCMdwdkL9MgWRRcHHYtt37qv8cNcAl fqG0gZUM+rcb87kVioWmTVpVg0pGkufnC40kH2KeHWEARwIUbwRJwSX0pBXssHc1TwPZ LLVduCcNP6p8mdNt2zOGViMbu5vRpIJtfoATYKumkcFn21LnLwDsqhFyJORHOCpDqKmY EYrz5Jh3hWrfF1o9Te4GU1AdbpU6qpcNPMqwdtIrAmxMidI5vk0neun93jVxsuGK7uGW u5wQ== X-Gm-Message-State: AOJu0Yy+1PHOCkEfaAy90QZvKbxgqBg30xiyQdj4mJyIc1AgxtUf7I7W a0eiogq+xOwRwTf8ciQvhBqnxgs9oA0qBx6xc/4G+TPFh6PMAUrFaO5mEJmLOYtCD4UKLnazivv ujwysyZ2tq9t/vyq5W3RDaYwAfw4u37X69qPolls= X-Gm-Gg: ATEYQzwhacLUI9Mn1j8patDsOJTvbooFwW9f6ali9AnqdZZJjXqB7pfEBCaxK6nxPee brG3Km/IBwpV54A6XLb0kVPKO0yp3XFYW1RofJPS6UQz/IZRtTvjzGjdbTDLyIe262RMt/THuRu jO4SvztCiEwcdwdfoaDOJ0GHQsDqL4BBJF/n/R46/U9kHap3Batk316fvp7t73JdUv1ehiasHJW gR1M67ouBy14T687K991l49DNTwxowPHa+ece9M8Y6Lqc09OhktvTbOpXBMGuwoQg8I11w85Xcp 2bNqyDfu5YM30nKdDSL5LkuDDWZvcoEY8+1JaVcLOb8EBiYy+sjll+KZzA64HkZoCMKWTjo= X-Received: by 2002:a17:907:2597:b0:b96:eee1:bb66 with SMTP id a640c23a62f3a-b982f245b12mr752073366b.10.1774355552725; Tue, 24 Mar 2026 05:32:32 -0700 (PDT) MIME-Version: 1.0 From: Jianghua Yang Date: Tue, 24 Mar 2026 05:31:55 -0700 X-Gm-Features: AQROBzCzBK5XPRIdv5u5EZ4IIs_yW7FZAAxjkJt7hQeZP03cAB-2TQF-znmSPhQ Message-ID: Subject: BUG: test_bloomfilter error message reports wrong variable and wrong format specifier To: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000006d3a63064dc458a2" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000006d3a63064dc458a2 Content-Type: multipart/alternative; boundary="0000000000006d3a62064dc458a0" --0000000000006d3a62064dc458a0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, I found a small bug in src/test/modules/test_bloomfilter/test_bloomfilter.c, line 128. The current code: int64 nelements =3D PG_GETARG_INT64(1); int tests =3D PG_GETARG_INT32(3); if (tests <=3D 0) elog(ERROR, "invalid number of tests: %d", tests); if (nelements < 0) elog(ERROR, "invalid number of elements: %d", tests); The second elog has two issues: 1. It checks nelements but prints tests. For example, with nelements =3D -1 and tests =3D 1, the error message would be "invalid number of elements: 1" =E2=80=94 which is misleading when debugg= ing. 2. nelements is int64, so the format specifier should be INT64_FORMAT rather than %d. Using %d for int64 is undefined behavior on 32-bit platforms. The fix: if (nelements < 0) elog(ERROR, "invalid number of elements: " INT64_FORMAT, nelements); A patch is attached. Regards, Jianghua Yang --0000000000006d3a62064dc458a0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

=C2=A0 I found a small bug in src/test/modules/= test_bloomfilter/test_bloomfilter.c, line 128.

=C2=A0 The current co= de:

=C2=A0 int64 =C2=A0 nelements =3D PG_GETARG_INT64(1);
=C2=A0 = int =C2=A0 =C2=A0 tests =3D PG_GETARG_INT32(3);

=C2=A0 if (tests <= ;=3D 0)
=C2=A0 =C2=A0 =C2=A0 elog(ERROR, "invalid number of tests: = %d", tests);

=C2=A0 if (nelements < 0)
=C2=A0 =C2=A0 =C2= =A0 elog(ERROR, "invalid number of elements: %d", tests);

= =C2=A0 The second elog has two issues:

=C2=A0 1. It checks nelements= but prints tests. For example, with
=C2=A0 nelements =3D -1 and tests = =3D 1, the error message would be
=C2=A0 "invalid number of element= s: 1" =E2=80=94 which is misleading when debugging.
=C2=A0 2. nelem= ents is int64, so the format specifier should be
=C2=A0 INT64_FORMAT rat= her than %d. Using %d for int64 is
=C2=A0 undefined behavior on 32-bit p= latforms.

=C2=A0 The fix:

=C2=A0 if (nelements < 0)
=C2= =A0 =C2=A0 =C2=A0 elog(ERROR, "invalid number of elements: " INT6= 4_FORMAT, nelements);

=C2=A0 A patch is attached.

=C2=A0 Rega= rds,
=C2=A0 Jianghua Yang
--0000000000006d3a62064dc458a0-- --0000000000006d3a63064dc458a2 Content-Type: application/octet-stream; name="v1-0001-Fix-wrong-variable-and-format-specifier-in-test_b.patch" Content-Disposition: attachment; filename="v1-0001-Fix-wrong-variable-and-format-specifier-in-test_b.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn4lflxf0 RnJvbSAyMjc3ZmRkMDAxNzVlNjE1OGI2ODYzYzNjNTdhNWJmNzMwODIzMzNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaWFuZ2h1YSBZYW5nIDx5amhqc3R6QGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCAyMyBNYXIgMjAyNiAxODoyOTo0OSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggdjFdIEZp eCB3cm9uZyB2YXJpYWJsZSBhbmQgZm9ybWF0IHNwZWNpZmllciBpbgogdGVzdF9ibG9vbWZpbHRl ciBlcnJvciBtZXNzYWdlCgpXaGVuIGNoZWNraW5nIGZvciBhbiBpbnZhbGlkIG51bWJlciBvZiBl bGVtZW50cywgdGhlIGVycm9yIG1lc3NhZ2UKaW5jb3JyZWN0bHkgcmVwb3J0ZWQgdGhlIHZhbHVl IG9mIHRoZSAndGVzdHMnIHZhcmlhYmxlIGluc3RlYWQgb2YKJ25lbGVtZW50cycuICBBZGRpdGlv bmFsbHksICduZWxlbWVudHMnIGlzIG9mIHR5cGUgaW50NjQsIHNvIHRoZQpmb3JtYXQgc3BlY2lm aWVyIHNob3VsZCBiZSBJTlQ2NF9GT1JNQVQgcmF0aGVyIHRoYW4gJWQuCgpBdXRob3I6IEppYW5n aHVhIFlhbmcgPHlqaGpzdHpAZ21haWwuY29tPgotLS0KIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9i bG9vbWZpbHRlci90ZXN0X2Jsb29tZmlsdGVyLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVz L3Rlc3RfYmxvb21maWx0ZXIvdGVzdF9ibG9vbWZpbHRlci5jIGIvc3JjL3Rlc3QvbW9kdWxlcy90 ZXN0X2Jsb29tZmlsdGVyL3Rlc3RfYmxvb21maWx0ZXIuYwppbmRleCA0ZTA3MjE4MzYwNC4uZGY0 MTA2NjEzOGMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbWZpbHRlci90 ZXN0X2Jsb29tZmlsdGVyLmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Jsb29tZmlsdGVy L3Rlc3RfYmxvb21maWx0ZXIuYwpAQCAtMTI1LDcgKzEyNSw3IEBAIHRlc3RfYmxvb21maWx0ZXIo UEdfRlVOQ1RJT05fQVJHUykKIAkJZWxvZyhFUlJPUiwgImludmFsaWQgbnVtYmVyIG9mIHRlc3Rz OiAlZCIsIHRlc3RzKTsKIAogCWlmIChuZWxlbWVudHMgPCAwKQotCQllbG9nKEVSUk9SLCAiaW52 YWxpZCBudW1iZXIgb2YgZWxlbWVudHM6ICVkIiwgdGVzdHMpOworCQllbG9nKEVSUk9SLCAiaW52 YWxpZCBudW1iZXIgb2YgZWxlbWVudHM6ICIgSU5UNjRfRk9STUFULCBuZWxlbWVudHMpOwogCiAJ Zm9yIChpID0gMDsgaSA8IHRlc3RzOyBpKyspCiAJewotLSAKMi41MC4xIChBcHBsZSBHaXQtMTU1 KQoK --0000000000006d3a63064dc458a2--