2025-02-23

Tokio + prctl = nasty bug

A detailed analysis of a bug in HyperQueue where tasks were unexpectedly terminated after 10 seconds due to an interaction between tokio thread management, PR_SET_PDEATHSIG, and process spawning optimization. The bug emerged from moving process spawning to a worker thread, causing processes to receive SIGTERM when tokio cleaned up idle threads.

Original archive.is archive.ph web.archive.org

Log in to get one-click access to archived versions of this article.

read comments on news aggregators:

Related articles

Effective Rust

A comprehensive guide presenting 35 specific methods to enhance Rust programming practices, covering essential topics from type systems to FFI boundaries. The guide is structured into six main sections, focusing on types, traits, concepts, dependencies, tooling, and advanced Rust features. Each item provides detailed insights for writing more effective and maintainable Rust code.

Let's code a TCP/IP stack, 1: Ethernet & ARP

A detailed guide explains how to build a TCP/IP stack from scratch, focusing on implementing Ethernet and ARP protocols in userspace Linux. The implementation uses TUN/TAP devices for intercepting network traffic and demonstrates successful ARP request handling, serving as an educational resource for deep network programming.

Chrome Returns 206 when the Server Returns 403

An investigation into a Chrome browser bug reveals unexpected behavior when handling range requests for partially-cached content, where Chrome silently modifies range headers and returns incomplete data while reporting success. The Chromium team ultimately declared this behavior a feature rather than a bug, citing potential compatibility issues with existing applications.

Tips to debug hanging Go programs

A comprehensive guide explores debugging techniques for hanging Go programs, covering stack trace analysis with SIGQUIT, interactive debugging using Delve, and core dump collection for later analysis.

Sponsor @servo on GitHub Sponsors

Servo, a web browser rendering engine written in Rust, offers developers a lightweight, high-performance solution for embedding web technologies. Originally created by Mozilla Research in 2012 and now under Linux Foundation Europe, the project focuses on WebGL and WebGPU support for desktop, mobile, and embedded applications. The project advances web standards and platform development through its unique approach, distinct from Gecko and WebKit.

3,200% CPU Utilization

An in-depth analysis of a critical Java performance issue where unprotected concurrent TreeMap modifications led to 3,200% CPU utilization. The investigation revealed how thread interleaving can create infinite loops in red-black trees, with experiments across multiple programming languages demonstrating similar vulnerabilities.

Netboot Windows 11 with iSCSI and iPXE

An in-depth guide demonstrates how to netboot Windows 11 using iSCSI and iPXE, enabling Windows to run from a NAS instead of local storage. The solution allows gaming on Windows while maintaining Linux as the primary OS, providing a practical workaround for AAA games that restrict virtual machine usage.

The Miserable State of Modems and Mobile Network Operators

Engineers at Golioth investigated connectivity issues with nRF9160 cellular modems, revealing DNS resolution failures when using NB-IoT networks that don't properly implement extended Protocol Configuration Options (ePCO) as specified by 3GPP standards, highlighting broader issues with closed-source modems and opaque telecom infrastructure.