NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-hppa/56867: hppa: intermittent SIGSEGV reports in t_ptrace_wait's stepN and setstepN test cases



The following reply was made to PR port-hppa/56867; it has been noted by GNATS.

From: Tom Lane <tgl%sss.pgh.pa.us@localhost>
To: Nick Hudson <nick.hudson%gmx.co.uk@localhost>
Cc: gnats-bugs%netbsd.org@localhost, port-hppa-maintainer%netbsd.org@localhost,
        netbsd-bugs%netbsd.org@localhost
Subject: Re: port-hppa/56867: hppa: intermittent SIGSEGV reports in t_ptrace_wait's stepN and setstepN test cases
Date: Fri, 10 Jun 2022 07:49:21 -0400

 Nick Hudson <nick.hudson%gmx.co.uk@localhost> writes:
 > On 09/06/2022 06:40, Tom Lane wrote:
 >> ... I found that the test passes when an ITLBMISS trap
 >> occurs upon trying to execute the modified instruction stream, while
 >> it fails when one does not.  That led me to guess that what's missing
 >> is a TLB flush operation, and sure enough this quick-hack patch seems
 >> to fix it:
 
 > I dont this is right. The process mappings aren't changing. Will think
 > about it some more.
 
 Fair enough.  One thing worth noting is that the place where the
 breakpoint instructions are being dropped is inside libc (in
 _lwp_kill, where the tracee process self-SIGSTOP'd).  I have not
 been able to figure out how it's okay at all to be modifying libc.
 I guess that there's a copy-on-write happening somewhere so that
 the traced process gets its own copy of this shared page, but
 I couldn't find where that happens.  If there isn't a copy, maybe
 that is a bug in itself?  If there is a copy, then the process
 mapping *is* changing, although you'd think the COW code would
 have dealt with it.
 
 			regards, tom lane
 


Home | Main Index | Thread Index | Old Index