Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Mpris player raises TypeError on closed #412

@lost-melody

Description

@lost-melody

System Information

Ignis 0.5.post1.dev144+g3b7be57c2.d20250829
Current desktop: niri

os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

Description

Sometimes MprisPlayer.__close() raises a TypeError in self._sync_pos_task.cancel(), and thus does not emit closed, so the instance remains in MprisService.players but refuses any further operations.

How to reproduce

It happens randomly, I didn't figure out a mini reproduce yet.

Additional Information

2025-08-29 14:30:37 [ERROR] TypeError: Async.cancel() takes no arguments (1 given)
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /home/lost-melody/.local/lib/ignis/lib/python3.13/site-packages/ignis/servic │
│ es/mpris/player.py:53 in <lambda>                                            │
│                                                                              │
│    50 │   │                                                                  │
│    51 │   │   os.makedirs(ART_URL_CACHE_DIR, exist_ok=True)                  │
│    52 │   │                                                                  │
│ ❱  53 │   │   self.__mpris_proxy.watch_name(on_name_vanished=lambda *_: self │
│    54 │   │                                                                  │
│    55 │   │   self._conn_mgr.connect(                                        │
│    56 │   │   │   self.__player_proxy.gproxy,                                │
│                                                                              │
│ /home/lost-melody/.local/lib/ignis/lib/python3.13/site-packages/ignis/servic │
│ es/mpris/player.py:95 in __close                                             │
│                                                                              │
│    92 │   def __close(self) -> None:                                         │
│    93 │   │   self.__mpris_proxy.unwatch_name()                              │
│    94 │   │   self._conn_mgr.disconnect_all()                                │
│ ❱  95 │   │   self._sync_pos_task.cancel()                                   │
│    96 │   │   self.emit("closed")                                            │
│    97 │                                                                      │
│    98 │   async def __sync_property(self, proxy: DBusProxy, py_name: str) -> │
╰──────────────────────────────────────────────────────────────────────────────╯
TypeError: Async.cancel() takes no arguments (1 given)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions