Announcement

Collapse
No announcement yet.

Linux 5.2+ Hit By AVX Register Corruption Bug - Affecting At Least Golang Programs

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    debian testing provided the Linux 5.3 Kernel yesterday, compiled with gcc9 (peviously gcc8 was used). I am back to 5.2 after the graphics seems to be horribly molested after going into standby, and me being unable to log back in.
    Of course this can be a caused by a change in amdgpu (or elsewhere), or we are in for some more pesky bugs like this showing up in the future...

    Comment


    • #22
      The bug is fixed: https://bugzilla.kernel.org/show_bug.cgi?id=205663#c2

      BTW: The long version of this debugging story can be found in this Go issue: https://github.com/golang/go/issues/35326
      Last edited by knweiss; 27 November 2019, 03:03 PM. Reason: Link the Go issue too

      Comment


      • #23
        Originally posted by carewolf View Post
        They ended up making that clearer in the next C standard, but there are still cases where it can't be fixed (when accessing types below the lowest read/write resolution of a specific architecture).
        Due to this, in practice, as of C11 byte addressing is a required architectural feature (as long as the C compiler claims support for threads/atomics and thus the concurrency memory model, via lack of __STDC_NO_THREADS__ and __STDC_NO_ATOMICS__ macros, that is). The alternative of faking it via RMW atomics or an LL/SC loop is too slow to be usable in practice.

        Even outside concurrency, the main reason why the original DEC Alpha sucked at string processing was lack of byte addressing, necessitating a lot of RMW code for otherwise simple operations. They fixed it in later iterations though.

        Comment


        • #24
          I hope this fixes the weird system hangs I've been having.

          Comment

          Working...
          X