From fb45970bbb07f82115e14b1e3a355b40bd2f494d Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 16:36:28 -0400 Subject: [PATCH] Add comprehensive thread exit monitoring and signal handling for debugging thread crashes --- VERSION | 2 +- event_miner | Bin 157416 -> 157864 bytes event_miner.c | 180 +++++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 171 insertions(+), 11 deletions(-) diff --git a/VERSION b/VERSION index a2e1aa9..baec65a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.27 +0.1.28 diff --git a/event_miner b/event_miner index 7ff11f70aa4562d4285bb56ac2de5b8674c3ce43..1ed7c46eb4917b6882c0829e3f565fe2bb15177f 100755 GIT binary patch literal 157864 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 literal 157416 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%0Aov$<) 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 S<)5FV%k$$TCVRNuCh$KiuOOuW diff --git a/event_miner.c b/event_miner.c index 9de33b5..a7f5605 100644 --- a/event_miner.c +++ b/event_miner.c @@ -16,6 +16,8 @@ #include #include #include +#include +#include #include "nostr_core_lib/nostr_core/nostr_common.h" // Common definitions and init/cleanup #include "nostr_core_lib/nostr_core/nip001.h" // Basic protocol functions #include "nostr_core_lib/nostr_core/nip013.h" // Proof-of-work functions @@ -27,6 +29,18 @@ #define DEFAULT_THREADS 4 #define DEFAULT_POW 2 +// Thread exit codes +#define THREAD_EXIT_SUCCESS 0 // Found solution or normal completion +#define THREAD_EXIT_STOPPED 1 // Stopped by main thread +#define THREAD_EXIT_ERROR 2 // Error occurred + +// Global variables for debugging +static volatile sig_atomic_t g_signal_received = 0; +static volatile int g_shutdown_requested = 0; +static pthread_t* g_thread_handles = NULL; +static int g_thread_count = 0; +static void* g_worker_contexts = NULL; // Will be cast to mining_context_t* + // Forward declarations for callbacks typedef struct mining_context mining_context_t; @@ -89,6 +103,13 @@ static void* miner_thread(void* arg); static int mine_event(mining_context_t* ctx); static void cleanup_context(mining_context_t* ctx); +// Signal handling and debugging functions +static void signal_handler(int sig); +static void install_signal_handlers(void); +static void log_thread_exit(int thread_id, void* exit_status, const char* reason); +static const char* get_signal_name(int sig); +static void emergency_shutdown(void); + // Callback implementations static void solution_found_callback(cJSON* solution, void* user_data); static void verbose_pow_callback(int current_difficulty, uint64_t nonce, void* user_data); @@ -244,6 +265,90 @@ static char* read_stdin_json(void) { return buffer; } +// Signal handling and debugging functions +static const char* get_signal_name(int sig) { + switch (sig) { + case SIGSEGV: return "SIGSEGV (Segmentation fault)"; + case SIGABRT: return "SIGABRT (Abort)"; + case SIGFPE: return "SIGFPE (Floating point exception)"; + case SIGBUS: return "SIGBUS (Bus error)"; + case SIGINT: return "SIGINT (Interrupt)"; + case SIGTERM: return "SIGTERM (Terminate)"; + default: return "Unknown signal"; + } +} + +static void log_thread_exit(int thread_id, void* exit_status, const char* reason) { + time_t current_time = time(NULL); + struct tm* local_time = localtime(¤t_time); + + printf("[%02d:%02d:%02d] Thread %d exited: %s (status: %ld)\n", + local_time->tm_hour, local_time->tm_min, local_time->tm_sec, + thread_id, reason, (long)exit_status); + fflush(stdout); +} + +static void emergency_shutdown(void) { + // Set global shutdown flag + g_shutdown_requested = 1; + + // Signal all worker threads to stop if contexts are available + if (g_worker_contexts) { + mining_context_t* contexts = (mining_context_t*)g_worker_contexts; + for (int i = 0; i < g_thread_count; i++) { + contexts[i].should_stop = 1; + } + } +} + +static void signal_handler(int sig) { + static volatile sig_atomic_t in_signal_handler = 0; + + // Prevent recursive signal handling + if (in_signal_handler) { + return; + } + in_signal_handler = 1; + + g_signal_received = sig; + + // Log the signal (async-signal-safe functions only) + const char* sig_name = get_signal_name(sig); + + // Write to stderr using async-signal-safe functions + write(STDERR_FILENO, "\n[SIGNAL] Received ", 19); + write(STDERR_FILENO, sig_name, strlen(sig_name)); + write(STDERR_FILENO, "\n", 1); + + // For fatal signals, try emergency shutdown + if (sig == SIGSEGV || sig == SIGABRT || sig == SIGFPE || sig == SIGBUS) { + write(STDERR_FILENO, "[SIGNAL] Attempting emergency shutdown...\n", 42); + emergency_shutdown(); + + // Reset signal handler to default and re-raise + signal(sig, SIG_DFL); + raise(sig); + } else if (sig == SIGINT || sig == SIGTERM) { + // Graceful shutdown for interrupt signals + write(STDERR_FILENO, "[SIGNAL] Initiating graceful shutdown...\n", 41); + emergency_shutdown(); + } + + in_signal_handler = 0; +} + +static void install_signal_handlers(void) { + // Install handlers for crash signals + signal(SIGSEGV, signal_handler); + signal(SIGABRT, signal_handler); + signal(SIGFPE, signal_handler); + signal(SIGBUS, signal_handler); + + // Install handlers for graceful shutdown + signal(SIGINT, signal_handler); + signal(SIGTERM, signal_handler); +} + // Callback implementations static void solution_found_callback(cJSON* solution, void* user_data) { main_context_t* main_ctx = (main_context_t*)user_data; @@ -293,9 +398,10 @@ static void verbose_pow_callback(int current_difficulty, uint64_t nonce, void* u fflush(stdout); } -// Mining thread function - New callback-based approach +// Mining thread function - Enhanced with exit status monitoring static void* miner_thread(void* arg) { mining_context_t* ctx = (mining_context_t*)arg; + void* exit_status = (void*)(intptr_t)THREAD_EXIT_ERROR; // Default to error // Initialize thread-specific timing for verbose mode ctx->thread_start_time = time(NULL); @@ -304,20 +410,22 @@ static void* miner_thread(void* arg) { // Create a copy of the event for this thread char* event_str = cJSON_Print(ctx->event); if (!event_str) { - return NULL; + log_thread_exit(ctx->thread_id, exit_status, "JSON serialization failed"); + return exit_status; } cJSON* local_event = cJSON_Parse(event_str); free(event_str); if (!local_event) { - return NULL; + log_thread_exit(ctx->thread_id, exit_status, "Event parsing failed"); + return exit_status; } uint64_t attempts = 0; // Mine until solution found or signaled to stop by main thread - while (!ctx->should_stop) { + while (!ctx->should_stop && !g_shutdown_requested) { // Attempt mining with verbose callback if enabled void (*progress_cb)(int, uint64_t, void*) = ctx->verbose_enabled ? verbose_pow_callback : NULL; @@ -334,20 +442,37 @@ static void* miner_thread(void* arg) { if (ctx->solution_callback) { ctx->solution_callback(local_event, ctx->user_data); } + exit_status = (void*)(intptr_t)THREAD_EXIT_SUCCESS; + log_thread_exit(ctx->thread_id, exit_status, "Solution found"); break; // Exit after reporting solution } + // Check for emergency shutdown + if (g_shutdown_requested) { + exit_status = (void*)(intptr_t)THREAD_EXIT_STOPPED; + log_thread_exit(ctx->thread_id, exit_status, "Emergency shutdown"); + break; + } // Small delay to prevent CPU overuse and allow responsive stopping usleep(100); // 0.1ms - more responsive to should_stop signal } + // Normal stop by main thread + if (ctx->should_stop && !g_shutdown_requested) { + exit_status = (void*)(intptr_t)THREAD_EXIT_STOPPED; + log_thread_exit(ctx->thread_id, exit_status, "Stopped by main thread"); + } + cJSON_Delete(local_event); - return NULL; + return exit_status; } -// Main mining function - New hub-and-spoke model +// Main mining function - Enhanced with debugging and monitoring static int mine_event(mining_context_t* ctx) { + // Install signal handlers for crash detection + install_signal_handlers(); + // Set up main context for centralized control main_context_t main_ctx; memset(&main_ctx, 0, sizeof(main_context_t)); @@ -386,7 +511,13 @@ static int mine_event(mining_context_t* ctx) { return -1; } + // Set up global debugging variables + g_thread_handles = threads; + g_thread_count = ctx->thread_count; + g_worker_contexts = worker_contexts; + time_t start_time = time(NULL); + printf("[DEBUG] Starting %d mining threads...\n", ctx->thread_count); // Start threads for (int i = 0; i < ctx->thread_count; i++) { @@ -398,18 +529,21 @@ static int mine_event(mining_context_t* ctx) { } // Wait for threads that were created for (int j = 0; j < i; j++) { - pthread_join(threads[j], NULL); + void* exit_status; + pthread_join(threads[j], &exit_status); + log_thread_exit(j, exit_status, "Cleanup after creation failure"); } free(threads); free(worker_contexts); pthread_mutex_destroy(&main_ctx.result_mutex); return -1; } + printf("[DEBUG] Thread %d started successfully\n", i); } // Main thread control loop - centralized monitoring int result = 0; - while (!main_ctx.solution_found && !main_ctx.timeout_reached) { + while (!main_ctx.solution_found && !main_ctx.timeout_reached && !g_shutdown_requested) { // Check for timeout if (ctx->timeout_seconds > 0) { time_t current_time = time(NULL); @@ -420,30 +554,56 @@ static int mine_event(mining_context_t* ctx) { } } + // Check for signals + if (g_signal_received) { + printf("[DEBUG] Signal received, shutting down...\n"); + break; + } + // Small sleep to avoid busy waiting usleep(10000); // 10ms } // Signal all workers to stop + printf("[DEBUG] Signaling threads to stop...\n"); for (int i = 0; i < ctx->thread_count; i++) { worker_contexts[i].should_stop = 1; } - // Wait for all threads to finish + // Wait for all threads to finish and capture exit statuses + printf("[DEBUG] Waiting for threads to finish...\n"); for (int i = 0; i < ctx->thread_count; i++) { - pthread_join(threads[i], NULL); + void* exit_status; + pthread_join(threads[i], &exit_status); + + // Log exit status if it wasn't already logged by the thread + long status_code = (long)exit_status; + if (status_code == THREAD_EXIT_ERROR) { + log_thread_exit(i, exit_status, "Thread error (not previously logged)"); + } } // Handle results if (main_ctx.solution_found && main_ctx.result_event) { ctx->result_event = main_ctx.result_event; // Transfer ownership result = 1; // Success + printf("[DEBUG] Solution found successfully\n"); } else if (main_ctx.timeout_reached) { result = -1; // Timeout + printf("[DEBUG] Mining timed out\n"); + } else if (g_shutdown_requested || g_signal_received) { + result = -3; // Signal/emergency shutdown + printf("[DEBUG] Emergency shutdown completed\n"); } else { result = -2; // Error + printf("[DEBUG] Mining failed with error\n"); } + // Clear global debugging variables + g_thread_handles = NULL; + g_thread_count = 0; + g_worker_contexts = NULL; + // Cleanup free(threads); free(worker_contexts);