Skip to content

Remove assertions and skip on missing or broken rrname, bailiwick, rdata on nmsg files#24

Open
regalk13 wants to merge 1 commit into
nextfrom
assertion-convert-fix
Open

Remove assertions and skip on missing or broken rrname, bailiwick, rdata on nmsg files#24
regalk13 wants to merge 1 commit into
nextfrom
assertion-convert-fix

Conversation

@regalk13
Copy link
Copy Markdown

Replaces fatal assert() crashes on invalid records (missing or empty rrname/bailiwick/...) with per-record skip so conversion continues past bad data. And add count_skipped counter reported alongside count_messages.

@regalk13 regalk13 self-assigned this Apr 29, 2026
Comment thread dnstable_convert.c
nmsg_message_destroy(&msg);
count_messages += 1;

if ((count_messages % STATS_INTERVAL) == 0)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest changing this to

if (((count_messages + count_skipped) % STATS_INTERVAL) == 0)

but otherwise, everything looks good

Copy link
Copy Markdown
Contributor

@cmikk cmikk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although I'm on board with replacing these assert() calls, this change risks silently discarding indicators of a potentially serious upstream issue.

Preferable alternatives would be:

  1. exit with a failure code rather than abort() on bad data,
  2. count bad data, and exit with a failure code if count_skipped > 0, or
  3. option 1, but with logging.

I would be open to making "skip and count invalid messages" a configurable non-default behavior.

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.

3 participants