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

Mark Wielaard <m...@klomp.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|REPORTED                    |CONFIRMED

--- Comment #6 from Mark Wielaard <m...@klomp.org> ---
(In reply to Sam James from comment #5)
> (In reply to Mark Wielaard from comment #4)
> > See also https://bugs.kde.org/show_bug.cgi?id=391148 which comes with a
> > patch.
> 
> Hi Mark, thanks for looking!
> 
> That patch seems to work:
> 
> ```
> ==144687== Invalid read of size 8
> ==144687==    at 0x109F43: filter (test.c:59)
> ==144687==    by 0x109F43: AnalyzeSamples (test.c:100)
> ==144687==    by 0x109366: main (test.c:167)
> ==144687==  Address 0x4637bfeabfe4bbd4 is not stack'd, malloc'd or
> (recently) free'd
> ==144687==
> ==144687==
> ==144687== Process terminating with default action of signal 11 (SIGSEGV):
> dumping core
> ==144687==  General Protection Fault
> ==144687==    at 0x109F43: filter (test.c:59)
> ==144687==    by 0x109F43: AnalyzeSamples (test.c:100)
> ==144687==    by 0x109366: main (test.c:167)
> ```
> although the address looks a bit suspicious and I wasn't aware of out of
> bounds access in the testcase, so not sure if it really is decoding fully
> correctly?

hmmm, yeah that is kind of odd. That address is so weird that it really must be
invalid. Does the original program also try to read from that address and
produce a SIGSEGV when not run under valgrind?

Maybe as a quick hack check you could change that DIP("vmovq %s,%s\n",
nameXMMReg(rG), nameIReg64(rE)); in the patch to vex_printf(...)

If it decodes correctly it should print vmovq  %xmm12,%xmm0

(You can also get some of that with something like --trace-flags=10000000
--trace-notbelow=1000 but that is really verbose)

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

Reply via email to