Skip to content

rog-control-center crashes at startup: --cfg tokio_unstable not committed in repo build config #363

Description

@rafa57600

Bug: rog-control-center crashes at startup — console-subscriber panics because --cfg tokio_unstable is not committed anywhere in the repo

Platform: Linux. Reproduced with the official Arch Linux extra package (rog-control-center 6.4.0-2), built from the release tarball.

Behavior

The GUI aborts on every launch (SIGABRT → core dump):

thread 'main' panicked at .../console-subscriber-0.5.0/src/lib.rs:266:9:
task tracing requires Tokio to be built with RUSTFLAGS="--cfg tokio_unstable"!

asusd and the asusctl CLI are unaffected — only the GUI crashes.

Root cause

  1. console-subscriber ^0.5.0 is an unconditional workspace dependency (Cargo.toml, 6.4.0 and main).
  2. rog-control-center/src/main.rs calls console_subscriber::init() unconditionally (line 100 in 6.4.0, line 94 on main). That function panics if Tokio was not compiled with --cfg tokio_unstable.
  3. The required cfg is not committed anywhere in the repo:
    • .cargo/config.toml → only a linker + resolver setting, no rustflags
    • Makefile → cargo build $(ARGS), no RUSTFLAGS
    • distro-packaging/PKGBUILD → make build, no RUSTFLAGS
    • .github/workflows/* → no RUSTFLAGS/tokio_unstable anywhere

So any build of the source tarball without a specially-set RUSTFLAGS env produces a GUI that cannot start — including the project's own release.yml build path, which is how Arch and the OGC repo both build it.

Suggested fix

Commit the flag in .cargo/config.toml so every Cargo build gets it by default:

[build]
rustflags = ["--cfg", "tokio_unstable"]

Implemented in PR #362 and verified locally: rebuilding 6.4.0 with this flag starts the GUI correctly; without it, it crashes at startup.

Alternative considered

  • Gate console-subscriber behind a feature that distro builds leave off, or
  • Use the non-panicking console_subscriber::Builder API.

Committing the cfg is the simplest robust fix, and matches what the code already requires.

Workaround for users

Build with RUSTFLAGS="--cfg tokio_unstable". On Arch: rebuild the asusctl PKGBUILD with that line added in build(). (This is also how the crash was confirmed and the fix verified.)

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

    Labels

    bugSomething isn't workingrog-control-centerROG Control Center GUIslopAI Slop

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions