https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65589

--- Comment #7 from felix.ospald at gmx dot de ---
(In reply to Andrew Pinski from comment #6)
> I ran for 2836 iterations with the trunk GCC and aarch64 which has a very
> weak memory ordering and did not run into a single failure.

This is what I would expect for such a simple application. I currently don't
know if this is a hardware or software related issue (I suspect software).
Probably there is some misconfiguration in the system. I don't know and I also
don't known how to find out. I also don't have admin rights.

The strage thing is that the value is 0.5 i.e. 1 (or some gibberish) was not
assigned to the location. Is it somehow possible that the corresponding thread
was exited (e.g. by some service to limit user ressource usage) before the
assignment without any notice from OpenMP? However if I remove the "return 1"
sometimes there are several unassigned values in a row and the next iteration
might work again without error (which would mean that the thread was
recreated).

As far as I can tell gcc was installed by the SuSE packagamanager and by
updates. I don't think there was much configuration by the admin. Also the
version is not too old, wich means it could possibly affect many users.
On the other hand I don't know if there are any limitations regarding the
number of threads in these precompiled packages? Also I'm not sure if this SuSE
PREEMPT desktop version is suitable for such server?

Reply via email to