Lennart Sorensen <[email protected]> writes:

> And to make it even more annoying to track down:
>
> It doesn't fail on a power6, only on a power7.  power7 machines are
> known to have found numerous powerpc memory barrier bugs in code
> (including compiler and library code), where earlier generations let
> you get away with stuff that the architecture didn't actually allow,
> but which usually worked.
>
> So it seems to be a bug trigged by: vmx code used with openmp with libc
> 2.13 on power7.  Change any one of those 4 things, and the bug
> vanishes.

As far as I can see, this is all still consistent with the bug being
that the VMX combiners are writing outside the malloced memory:

- Disable OpenMP, and it doesn't matter because the same bytes are read
  and written. With OpenMP, two threads can mess each other's memory up.

- Use different libc: malloc() may allocate different amounts of memory
  so that the combiners don't write outside of the allocated area.

- Disable VMX: There is no writing outside the malloc()ed area

- Power 6: Could just be timing differences, but may also have to do
  with different atomicity of the incorrect memory accesses.


Søren
_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to