Repository navigation
Conversation
When the runner dies on SIGSEGV/SIGBUS, the signal's faulting address (si_addr) tells us which memory region the bad pointer landed in (stack, heap, a library), which narrows the corruption source far more than the backtrace alone. The handler is now installed with sigaction()/SA_SIGINFO and prints the signal number, the faulting address (for SIGSEGV/SIGBUS), and the crashing thread's id on the [PA-CRASH] line.
…crash - Run the command-line suite 3x per CI run to raise the odds of catching the crash. - Time every ClientSocket_Qt::send() from emit to completion and write it to fd 2: a wait reaching the 5 s timeout is the window in which the queued internal_send() (raw stack pointer) can later write through a dead stack pointer. - Log each cycle of the Rapid reconnect test to fd 2, so a crash log shows exactly which cycle and which wait the process died in. - Carry the fault-address/thread-id addition to the crash handler. Remove all of this once the Mac Intel crash is root-caused.
pa-devbot
force-pushed
the
mac-crash-diag-sock-timing
branch
from
November 1, 2026 23:56
d2752b7 to
1d0aa82
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Diagnostic branch for the Mac Intel CI crash - see #1822 and #1823 for the companion fixes. Do not merge.
What it measures (all on fd 2, so it survives the crash and the stdio buffering):
send()event-thread delivery time inClientSocket_Qt:[SOCK-DIAG] client send N bytes: event thread took X ms- aTIMED OUTline means the 5 s window in which the rawSendData*(queued to the event thread) can outlive its stack frame was hit.Test_Sockets_RapidReconnect:[SOCK-DIAG] rapid reconnect cycle N/50.Reading a crash log: the last
rapid reconnect cycleline says where the test was; anyTIMED OUTline before it points at the client-send lifetime window; the[PA-CRASH]line's fault address says which memory region the bad pointer hit.