Skip to content

DBUS_SESSION_BUS_ADDRESS / XDG_RUNTIME_DIR error on Linux arm64 22.04 larger runner #53

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
dennisameling opened this issue Feb 13, 2025 · 1 comment

Comments

@dennisameling
Copy link

We're working on signalapp/ringrtc#61 to build Signal's RingRTC on native Linux arm64 runners.

However, we're observing a weird difference between the new ubuntu-22.04-arm runner that's now in Public Preview and larger (org-level) Ubuntu 22.04 runners. According to the GitHub documentation, they should be using the exact same Ubuntu 22.04 Partner Images and therefore should behave consistently. That doesn't seem to be the case.

Confirming that my org-level ubuntu-22.04-arm-dennis is using the Ubuntu 22.04 by Arm Limited image and not a custom one:

Image

Here you can see the difference for the exact same pipeline:

  • Using the ubuntu-22.04-arm Public Preview runner, the "Install dependencies" step works without problems.
  • Using the ubuntu-22.04-arm-dennis (org-level) runner, the "Install dependencies" fails with:
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
Error: Process completed with exit code 1.

Could it be that there's a difference between the machines or images that run on the new Public Preview runners vs. the larger org-level ones? Thanks!

Reproduction steps

Pipeline using the public ubuntu-22.04-arm runner: https://github.com/dennisameling/ringrtc/blob/refs/heads/arm64-native-tmp/.github/workflows/ringrtc.yml#L113

Pipeline using org-level larger ubuntu-22.04-arm-dennis runner: https://github.com/dennisameling-org/ringrtc/blob/arm64-native-tmp/.github/workflows/ringrtc.yml#L114

@dennisameling dennisameling changed the title DBUS_SESSION_BUS_ADDRESS error on Linux arm64 22.04 larger runner DBUS_SESSION_BUS_ADDRESS / XDG_RUNTIME_DIR error on Linux arm64 22.04 larger runner Feb 23, 2025
@dennisameling
Copy link
Author

Was just comparing the output of env on the ubuntu-22.04-arm vs. the ubuntu-22.04-arm-dennis runner and noticed that XDG_RUNTIME_DIR is indeed missing on the larger runner:

Image

There seems to be a slight config change on the ubuntu-22.04-arm runner vs the larger runners.

I was able to fix my pipeline by adding this step:

    steps:
    # https://github.com/actions/partner-runner-images/issues/53
    - name: Work around XDG_RUNTIME_DIR error on Linux arm64
      if: startsWith(matrix.os, 'ubuntu-22.04-arm')
      run: |
        echo "UID is $UID. Setting XDG_RUNTIME_DIR to /run/user/$UID"
        sudo systemctl start user@$UID.service
        echo "XDG_RUNTIME_DIR=/run/user/$UID" >> $GITHUB_ENV

@maxim-lobanov given that you or your team fixed the issue with XDG_CONFIG_HOME in a probably slightly related issue, I'm tagging you here if that's OK. Do you have any thoughts on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant