https://bugs.kde.org/show_bug.cgi?id=496370

            Bug ID: 496370
           Summary: Illumos: signal handling is broken
    Classification: Developer tools
           Product: valgrind
           Version: 3.24 GIT
          Platform: Other
                OS: Unspecified
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: pjfl...@wanadoo.fr
  Target Milestone: ---

I think that this also applies to unpatched Solaris 11.4

Example:

paulf@openindiana:~/valgrind$ ./vg-in-place memcheck/tests/signal2
==8428== Memcheck, a memory error detector
==8428== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==8428== Using Valgrind-3.25.0.GIT and LibVEX; rerun with -h for copyright info
==8428== Command: memcheck/tests/signal2
==8428== 
installing sig handler
doing bad thing
==8428== Invalid write of size 4
==8428==    at 0x401370: main (signal2.c:17)
==8428==  Address 0xfffff1000 is not stack'd, malloc'd or (recently) free'd
==8428== 
Segmentation Fault (core dumped)

The invalid write is expected, not the segfault.

I've had a quick look at the sigframe code. There have been changes to the
Illumos ucontext. However Valgrind on Illumos and Solaris includes the system
headers and uses 'ucontext' from the system headers.

#define vki_ucontext ucontext

In gdb it seems that the problem is with VG_(sigframe_create) and
VG_(save_context)

     538    /* Sigmask */                                                      
                                                                               
                                                 >   539    uc->uc_sigmask =
tst->sig_mask;   

This seems to be causing a segfault, but I can't see why just yet.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to