Bug 503130 - illumos gdbserver failures
Summary: illumos gdbserver failures
Status: REPORTED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (other bugs)
Version First Reported In: 3.25 GIT
Platform: Compiled Sources Unspecified
: NOR normal
Target Milestone: ---
Assignee: Paul Floyd
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-21 18:15 UTC by Paul Floyd
Modified: 2025-04-21 18:23 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Floyd 2025-04-21 18:15:32 UTC
Looking at mcinvokeWS

Valgrind runs and ends waiting in vgModuleLocal_do_syscall_for_client_WRK for sys_pollsys.
progB is the invoker script which (on a quick reading) will try 60 times and does a poll with a 0 timeout (nonblocking).

The Valgrind process is here

│      143         syscall
│      144
│      145 2:      /* In the range [2, 3), the syscall result is in %rax and %rdx and C,
│      146            but hasn't been committed to the thread state.  If we get
│      147            interrupted in this section then we'll just use values saved in the
│      148            ucontext structure.
│      149
│      150            Important note for this and the following section: Don't add here
│      151            any code that alters the carry flag or worse, call any function.
│      152            That would completely break the fixup after an interrupt. */
│  >   153         movq    -40(%rbp), %rcx

That movq triggers a SIGSEGV. That should be getting the pointer to VexGuestArchState, not something that should be going wrong.
Comment 1 Paul Floyd 2025-04-21 18:23:33 UTC
I just tried running "sleep 10000" with Valgrind and vgdb and I had the same problem.

This means that hitting ctrl-c in gdb doesn't work. That's a bit of a pain.