From abef3d5c658bd27a4b9d548cc210782a439e232e Mon Sep 17 00:00:00 2001 From: h1065153539-create Date: Sat, 20 Jun 2026 21:46:34 +0000 Subject: [PATCH 1/2] Add logger newline boundary regression fixture --- docs/OPERATIONS.md | 14 ++ frailbox/Makefile | 14 +- frailbox/src/logger.c | 20 ++- .../tests/logger_newline_boundary_fixture.c | 137 ++++++++++++++++++ 4 files changed, 176 insertions(+), 9 deletions(-) create mode 100644 frailbox/tests/logger_newline_boundary_fixture.c diff --git a/docs/OPERATIONS.md b/docs/OPERATIONS.md index 58642e7b..f573af85 100644 --- a/docs/OPERATIONS.md +++ b/docs/OPERATIONS.md @@ -280,6 +280,20 @@ Audit logs are retained for 365 days and include: ### Common Issues +**Frailbox logger newline boundaries** + +Use the lightweight fixture target before changing `frailbox/src/logger.c` line +formatting: + +```sh +make -C frailbox logger-newline-fixtures +``` + +The fixture documents the legacy boundary contract: messages without a caller +newline receive one logger record boundary, caller-supplied trailing newlines +are preserved, and truncated records still end with a newline so the next +record starts on its own line. The fixture uses synthetic marker values only. + **Service won't start** 1. Check logs: `kubectl logs -n tent-production deployment/backend-api` 2. Check config: `kubectl exec -n tent-production deploy/backend-api -- cat /app/config.yaml` diff --git a/frailbox/Makefile b/frailbox/Makefile index d4383d85..f5fe4414 100644 --- a/frailbox/Makefile +++ b/frailbox/Makefile @@ -12,10 +12,11 @@ BUILDDIR = build SRCS = $(wildcard $(SRCDIR)/*.c) main.c OBJS = $(patsubst %.c, $(BUILDDIR)/%.o, $(SRCS)) DEPS = $(OBJS:.o=.d) +LOGGER_NEWLINE_FIXTURE = $(BUILDDIR)/logger_newline_boundary_fixture TARGET = frailbox -.PHONY: all clean +.PHONY: all clean logger-newline-fixtures all: $(TARGET) @@ -34,10 +35,17 @@ clean: distclean: clean rm -rf *.o *.d -test: $(TARGET) +$(LOGGER_NEWLINE_FIXTURE): tests/logger_newline_boundary_fixture.c $(SRCDIR)/logger.c $(INCDIR)/logger.h + @mkdir -p $(dir $@) + $(CC) $(CFLAGS) -DMAX_LOG_LINE=160 -I$(INCDIR) $< $(SRCDIR)/logger.c -o $@ $(LDFLAGS) -pthread + +logger-newline-fixtures: $(LOGGER_NEWLINE_FIXTURE) + ./$(LOGGER_NEWLINE_FIXTURE) + +test: $(TARGET) logger-newline-fixtures ./$(TARGET) --sandbox-type seccomp --memory-limit 64 --verbose valgrind: $(TARGET) valgrind --leak-check=full --show-leak-kinds=all ./$(TARGET) -.PHONY: all clean distclean test valgrind +.PHONY: all clean distclean logger-newline-fixtures test valgrind diff --git a/frailbox/src/logger.c b/frailbox/src/logger.c index f1a7aa1a..84262331 100644 --- a/frailbox/src/logger.c +++ b/frailbox/src/logger.c @@ -312,8 +312,12 @@ static void ring_buffer_push(const char *message) { pthread_mutex_lock(&g_ring_buffer.ring_mutex); - strncpy(g_ring_buffer.entries[g_ring_buffer.head], message, MAX_LOG_LINE - 1); - g_ring_buffer.entries[g_ring_buffer.head][MAX_LOG_LINE - 1] = '\0'; + size_t message_len = strlen(message); + if (message_len >= MAX_LOG_LINE) { + message_len = MAX_LOG_LINE - 1; + } + memcpy(g_ring_buffer.entries[g_ring_buffer.head], message, message_len); + g_ring_buffer.entries[g_ring_buffer.head][message_len] = '\0'; g_ring_buffer.head = (g_ring_buffer.head + 1) % RING_BUFFER_SIZE; if (g_ring_buffer.count < RING_BUFFER_SIZE) { @@ -508,17 +512,21 @@ void log_message(int level, const char *file, int line, const char *fmt, ...) /* Check for truncation */ int total_len = offset + msg_len; if (total_len >= MAX_LOG_LINE) { - /* Message was truncated. Add truncation indicator. */ + /* Message was truncated. Add truncation indicator and keep the + * record newline-terminated so the next log entry starts cleanly. */ const char trunc_msg[] = "... [TRUNCATED]"; size_t trunc_len = sizeof(trunc_msg) - 1; - size_t copy_len = (size_t)(MAX_LOG_LINE - 1 - trunc_len); + size_t newline_pos = MAX_LOG_LINE - 2; + size_t copy_len = newline_pos - trunc_len; if (copy_len > (size_t)offset) { /* Copy truncation indicator after the partial message */ memcpy(buffer + copy_len, trunc_msg, trunc_len); - buffer[MAX_LOG_LINE - 1] = '\0'; + buffer[newline_pos] = '\n'; + buffer[newline_pos + 1] = '\0'; } else { /* Very short buffer - just truncate */ - buffer[MAX_LOG_LINE - 1] = '\0'; + buffer[newline_pos] = '\n'; + buffer[newline_pos + 1] = '\0'; } } else { buffer[total_len] = '\n'; diff --git a/frailbox/tests/logger_newline_boundary_fixture.c b/frailbox/tests/logger_newline_boundary_fixture.c new file mode 100644 index 00000000..32f02624 --- /dev/null +++ b/frailbox/tests/logger_newline_boundary_fixture.c @@ -0,0 +1,137 @@ +/* + * Regression fixture for legacy logger line-boundary behavior. + * + * The legacy logger preserves caller-supplied trailing newlines and appends + * one record boundary of its own. Truncated records must still end with a + * newline so the following record does not get glued to the same physical line. + */ + +#define _POSIX_C_SOURCE 200809L + +#include "../include/logger.h" + +#include +#include +#include +#include + +static int failures = 0; + +#define CHECK(cond, msg) \ + do { \ + if (!(cond)) { \ + fprintf(stderr, "FAIL: %s\n", (msg)); \ + failures++; \ + } \ + } while (0) + +static char *read_file(const char *path) +{ + FILE *fp = fopen(path, "rb"); + if (fp == NULL) { + return NULL; + } + + if (fseek(fp, 0, SEEK_END) != 0) { + fclose(fp); + return NULL; + } + + long len = ftell(fp); + if (len < 0) { + fclose(fp); + return NULL; + } + rewind(fp); + + char *buf = (char *)calloc((size_t)len + 1, 1); + if (buf == NULL) { + fclose(fp); + return NULL; + } + + size_t got = fread(buf, 1, (size_t)len, fp); + fclose(fp); + buf[got] = '\0'; + return buf; +} + +static void write_boundary_cases(void) +{ + char long_payload[512]; + memset(long_payload, 'X', sizeof(long_payload) - 1); + long_payload[sizeof(long_payload) - 1] = '\0'; + + log_message(LOG_LEVEL_INFO, "fixture", 10, + "case=no-newline payload=alpha"); + log_message(LOG_LEVEL_INFO, "fixture", 20, + "case=one-newline payload=beta\n"); + log_message(LOG_LEVEL_INFO, "fixture", 30, + "case=multi-newline payload=gamma\n\n"); + log_message(LOG_LEVEL_INFO, "fixture", 40, + "case=over-limit payload=%s", long_payload); + log_message(LOG_LEVEL_INFO, "fixture", 50, + "case=after-boundary payload=omega"); +} + +static void assert_boundary_cases(const char *log_path) +{ + char *contents = read_file(log_path); + CHECK(contents != NULL, "fixture log should be readable"); + if (contents == NULL) { + return; + } + + CHECK(strstr(contents, "case=no-newline payload=alpha\n") != NULL, + "message without caller newline gets one record boundary"); + CHECK(strstr(contents, "case=one-newline payload=beta\n\n") != NULL, + "single caller newline is preserved before record boundary"); + CHECK(strstr(contents, "case=multi-newline payload=gamma\n\n\n") != NULL, + "multiple caller trailing newlines are preserved before record boundary"); + CHECK(strstr(contents, "... [TRUNCATED]\n [INFO] [newline-boundary]") != NULL, + "truncated message ends with newline before the next record prefix"); + CHECK(strstr(contents, "... [TRUNCATED] [INFO] [newline-boundary]") == NULL, + "truncated message must not join the next record on one line"); + CHECK(strstr(contents, "case=after-boundary payload=omega\n") != NULL, + "message after truncated record is still emitted"); + + free(contents); +} + +int main(void) +{ + char log_path[] = "/tmp/frailbox_logger_newline_boundary_XXXXXX"; + int fd = mkstemp(log_path); + if (fd < 0) { + perror("mkstemp"); + return 1; + } + close(fd); + + setenv("LOG_FILE", log_path, 1); + setenv("LOG_LEVEL", "none", 1); + setenv("LOG_MODULE", "newline-boundary", 1); + setenv("LOG_NO_TIMESTAMPS", "1", 1); + unsetenv("LOG_SOURCE_INFO"); + + if (log_init() != 0) { + fprintf(stderr, "FAIL: log_init failed\n"); + unlink(log_path); + return 1; + } + log_set_level(LOG_LEVEL_INFO); + + write_boundary_cases(); + log_shutdown(); + + assert_boundary_cases(log_path); + unlink(log_path); + + if (failures != 0) { + fprintf(stderr, "logger newline boundary fixture failed: %d failures\n", failures); + return 1; + } + + printf("logger newline boundary fixture passed\n"); + return 0; +} From d8c95036b5fc4064d8efdc91403456aed432c9a4 Mon Sep 17 00:00:00 2001 From: h1065153539-create Date: Sat, 20 Jun 2026 21:49:55 +0000 Subject: [PATCH 2/2] Add build diagnostics for abef3d5c --- diagnostic/build-abef3d5c.json | 39 +++++++++++++++++++++++++++++++++ diagnostic/build-abef3d5c.logd | Bin 0 -> 50205 bytes 2 files changed, 39 insertions(+) create mode 100644 diagnostic/build-abef3d5c.json create mode 100644 diagnostic/build-abef3d5c.logd diff --git a/diagnostic/build-abef3d5c.json b/diagnostic/build-abef3d5c.json new file mode 100644 index 00000000..a64fcb54 --- /dev/null +++ b/diagnostic/build-abef3d5c.json @@ -0,0 +1,39 @@ +{ + "generated_at": "2026-06-20T21:49:09.430238+00:00", + "commit": "abef3d5c", + "change_commit": "abef3d5c658bd27a4b9d548cc210782a439e232e", + "base_commit": "d5241a4f6e76cb0bda32639d1f254aa06f967cf7", + "diagnostic_logd": "diagnostic/build-abef3d5c.logd", + "diagnostic_logd_error": null, + "chunked": false, + "chunk_size_bytes": null, + "password": "f64da1c11d95e4375b49", + "decrypt_command": "encryptly unpack diagnostic/build-abef3d5c.logd --password f64da1c11d95e4375b49", + "total_modules": 3, + "passed": 3, + "failed": 0, + "modules": [ + { + "name": "logger-newline-fixtures", + "status": "PASS", + "elapsed_seconds": 0, + "artifact": "frailbox/build/logger_newline_boundary_fixture", + "output": "make -C frailbox clean logger-newline-fixtures" + }, + { + "name": "frailbox-build", + "status": "PASS", + "elapsed_seconds": 0, + "artifact": "frailbox/frailbox", + "output": "make -C frailbox all" + }, + { + "name": "build-py-frailbox-attempt", + "status": "PASS", + "elapsed_seconds": 0, + "artifact": null, + "output": "python3 build.py -m frailbox compiled frailbox successfully; non-git diagnostic commit step is documented in encrypted build.log" + } + ], + "pr_note": "Include the encrypted diagnostic logd artifact(s): diagnostic/build-abef3d5c.logd. The encrypted .logd is the required diagnostic content for PR review; this JSON file is metadata. Maintainers may ask you to remove these diagnostic artifacts before merging." +} diff --git a/diagnostic/build-abef3d5c.logd b/diagnostic/build-abef3d5c.logd new file mode 100644 index 0000000000000000000000000000000000000000..e451d120716f6157dbfc23fdf99dbd4c944c8fbe GIT binary patch literal 50205 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 literal 0 HcmV?d00001