[Bug 1256246] Re: gccgo/arm64: using channels before main starts is unreliable

Michael Hudson-Doyle michael.hudson+lp at canonical.com
Tue Dec 3 20:55:03 UTC 2013


So I'm swinging back towards this being some kind of platform bug rather
than a gccgo thing.  The hung process has three threads each using 100%
of a cpu in system time.  strace shows that they are all in futex, this
sort of thing:

(t-doko)ubuntu at arm64:~$ LD_LIBRARY_PATH=/build/buildd/gcc-4.8-4.8.2/lib64 strace -e futex -f  ./whut6-arm64-4.9
futex(0x7f906ea21c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
Process 2707 attached
fetching for 0 th time...
[pid  2706] futex(0x7f912c50a0, FUTEX_WAIT, 0, NULLProcess 2708 attached
Process 2709 attached
 <unfinished ...>
[pid  2708] futex(0x8d26fd8, FUTEX_WAIT, 0, {60, 0}sending  0
 <unfinished ...>
[pid  2709] futex(0x7f912c50a0, FUTEX_WAKE, 1) = 1
[pid  2706] <... futex resumed> )       = 0
[pid  2709] futex(0x8f48088, FUTEX_WAIT, 0, NULLgot 0
fetching for 1 th time...
 <unfinished ...>
[pid  2706] futex(0x8f48088, FUTEX_WAKE, 1 <unfinished ...>

It seems to me that the last futex call by 2706 should have woken the
previous one by 2709 but I don' treally know how this works...

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.8 in Ubuntu.
https://bugs.launchpad.net/bugs/1256246

Title:
  gccgo/arm64: using channels before main starts is unreliable

Status in “gcc-4.8” package in Ubuntu:
  New

Bug description:
  This is the distilled version of the problem that was causing the gcc
  testsuite to hang -- compile and run the attached.  It hangs for me,
  but only on real hardware: I suspect a race that only occurs on
  multiprocessors.

  For extra fun, it _does not_ hang when compiled with mainline /
  gcc-4.9 as of a few days ago.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1256246/+subscriptions



More information about the foundations-bugs mailing list