This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgNeels Hofmeyr has submitted this change and it was merged. Change subject: bssgp_fc_test: sanitizer: free msgb context when done ...................................................................... bssgp_fc_test: sanitizer: free msgb context when done Print remaining msgbs when done, then free the entire tall_msgb_context. To be able to do that, call msgb_talloc_ctx_init() and use its return value. A subsequent patch will fix a known mem leak and add assertions for 0b in 1 blocks remaining in the tall_msgb_context. Helps fix sanitizer build on debian 9. Change-Id: I67d347ab2642b0bfc27b21b44231a7f3146ff641 --- M tests/gb/bssgp_fc_test.c M tests/gb/bssgp_fc_tests.ok 2 files changed, 12 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved diff --git a/tests/gb/bssgp_fc_test.c b/tests/gb/bssgp_fc_test.c index 6e4f747..7a75a4d 100644 --- a/tests/gb/bssgp_fc_test.c +++ b/tests/gb/bssgp_fc_test.c @@ -130,6 +130,7 @@ uint32_t pdu_length = 10; /* octets */ uint32_t pdu_count = 20; /* messages */ int c; + void *tall_msgb_ctx; static const struct option long_options[] = { { "bucket-size-max", 1, 0, 's' }, @@ -144,6 +145,8 @@ osmo_init_logging(&info); log_set_use_color(osmo_stderr_target, 0); log_set_print_filename(osmo_stderr_target, 0); + + tall_msgb_ctx = msgb_talloc_ctx_init(NULL, 0); while ((c = getopt_long(argc, argv, "s:r:d:l:c:", long_options, NULL)) != -1) { @@ -184,6 +187,11 @@ bucket_leak_rate, max_queue_depth, pdu_length, pdu_count); test_fc(bucket_size_max, bucket_leak_rate, max_queue_depth, pdu_length, pdu_count); + printf("msgb ctx: %zu b in %zu blocks (0 b in 1 block == just the context)\n", + talloc_total_size(tall_msgb_ctx), + talloc_total_blocks(tall_msgb_ctx)); + /* KNOWN BUG: expecting 0b in 1 block, but a full queue is still a mem leak */ + talloc_free(tall_msgb_ctx); printf("===== BSSGP flow-control test END\n\n"); exit(EXIT_SUCCESS); diff --git a/tests/gb/bssgp_fc_tests.ok b/tests/gb/bssgp_fc_tests.ok index f8fca3c..d146843 100644 --- a/tests/gb/bssgp_fc_tests.ok +++ b/tests/gb/bssgp_fc_tests.ok @@ -56,6 +56,7 @@ 30: FC OUT Nr 13 40: FC OUT Nr 14 50: FC OUT Nr 15 +msgb ctx: 685 b in 6 blocks (0 b in 1 block == just the context) ===== BSSGP flow-control test END ===== BSSGP flow-control test START @@ -121,6 +122,7 @@ 80: FC OUT Nr 18 90: FC OUT Nr 19 100: FC OUT Nr 20 +msgb ctx: 0 b in 1 blocks (0 b in 1 block == just the context) ===== BSSGP flow-control test END ===== BSSGP flow-control test START @@ -166,6 +168,7 @@ -> -5: PDU too large, msg dropped. 0: FC IN Nr 20 -> -5: PDU too large, msg dropped. +msgb ctx: 0 b in 1 blocks (0 b in 1 block == just the context) ===== BSSGP flow-control test END ===== BSSGP flow-control test START @@ -226,5 +229,6 @@ 30: FC OUT Nr 13 40: FC OUT Nr 14 50: FC OUT Nr 15 +msgb ctx: 685 b in 6 blocks (0 b in 1 block == just the context) ===== BSSGP flow-control test END -- To view, visit https://gerrit.osmocom.org/4871 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I67d347ab2642b0bfc27b21b44231a7f3146ff641 Gerrit-PatchSet: 3 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder