Skip to content

Fast Context Swap Broken On ppc64le #357

Description

The implementation of fast context swaps is buggy on little-endian powerpc platforms (verified at least on ppc64le). On this platform nearly all the tests in the test suite just segfault almost immediately after the first context swap inside qthread_initialize. This is an old bug that dates back to whenever the context swap assembly was written, so there's no "right" version to restore to.

Why this is only showing up now: The switch to a new build system fixed an error in our old build system where little-endian PowerPC builds were falling back to the system-provided swapcontext.

A mitigation is provided in: #355. Since the old build system was silently falling back to the system-provided swapcontext, we're having the new one use the fallback implementation too. It's unclear whether we'll even want to fix the assembly or just leave it as is, but this issue at least documents the existence of this problem.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions