Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-89455

dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Normal Normal
    • rhel-10.1
    • rhel-10.1
    • gnome-ponytail-daemon
    • None
    • gnome-ponytail-daemon-0.0.11-5.el10
    • No
    • Important
    • OtherQA
    • 1
    • rhel-display-window-mgmt
    • ssg_display
    • 15
    • 17
    • 8
    • Dev ack
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • Display WM #2/2025
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      What were you trying to do that didn't work?

      Our automated testing of graphical RHEL installations using a specialized automation tool, Anabot (that internally uses dogtail/ponytail), often fails (under specific circumstances), with the following traceback:

       Exception ignored in atexit callback: <bound method Ponytail.disconnect of <ponytail.ponytail.Ponytail object at 0x7f181224b380>>
      Traceback (most recent call last):
        File "/usr/lib/python3.12/site-packages/ponytail/ponytail.py", line 227, in disconnect
          self.event_controller.Disconnect(dbus_interface=self.event_controller_iface)
        File "/usr/lib64/python3.12/site-packages/dbus/proxies.py", line 141, in __call__
          return self._connection.call_blocking(self._named_service,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib64/python3.12/site-packages/dbus/connection.py", line 634, in call_blocking
          reply_message = self.send_message_with_reply_and_block(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
      Traceback (most recent call last):
        File "/opt/launcher.py", line 6, in <module>
          sys.exit(anabot.launcher.main(*sys.argv))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/anabot/launcher.py", line 196, in main
          run_test("/var/run/anabot/final-recipe.xml", appname=app_name, children_required=min_children)
        File "/opt/anabot/runtime/run_test.py", line 57, in run_test
          handle_step(doc.getRootElement(), application, None)
        File "/opt/anabot/runtime/default.py", line 55, in handle_step
          result = handler(element, app_node, local_node)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/anabot/runtime/installation/__init__.py", line 15, in installation_handler
          default_handler(element, app_node, local_node)
        File "/opt/anabot/runtime/default.py", line 95, in default_handler
          handle_step(child, app_node, local_node)
        File "/opt/anabot/runtime/default.py", line 55, in handle_step
          result = handler(element, app_node, local_node)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/anabot/runtime/installation/hub/__init__.py", line 59, in hub_handler
          default_handler(element, app_node, local_node, waitfunc=wait_for_animation_end)
        File "/opt/anabot/runtime/default.py", line 95, in default_handler
          handle_step(child, app_node, local_node)
        File "/opt/anabot/runtime/default.py", line 55, in handle_step
          result = handler(element, app_node, local_node)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/anabot/runtime/installation/hub/partitioning/__init__.py", line 44, in base_handler
          default_handler(element, app_node, partitioning_panel)
        File "/opt/anabot/runtime/default.py", line 95, in default_handler
          handle_step(child, app_node, local_node)
        File "/opt/anabot/runtime/default.py", line 55, in handle_step
          result = handler(element, app_node, local_node)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/anabot/runtime/installation/hub/partitioning/advanced/__init__.py", line 60, in base_handler
          default_handler(element, app_node, advanced_panel)
        File "/opt/anabot/runtime/default.py", line 95, in default_handler
          handle_step(child, app_node, local_node)
        File "/opt/anabot/runtime/default.py", line 55, in handle_step
          result = handler(element, app_node, local_node)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/opt/anabot/runtime/installation/hub/partitioning/luks_dialog/__init__.py", line 84, in luks_password_handler
          luks_password_manipulate(element, app_node, local_node, False)
        File "/opt/anabot/runtime/installation/hub/partitioning/luks_dialog/__init__.py", line 71, in luks_password_manipulate
          pw_entry.click()
        File "/opt/lib/python3.12/site-packages/dogtail/tree.py", line 751, in click
          rawinput.click(clickX, clickY, button, window_id=self.window_id)
        File "/opt/lib/python3.12/site-packages/dogtail/rawinput.py", line 171, in click
          ponytail_check_connection(window_id)
        File "/opt/lib/python3.12/site-packages/dogtail/rawinput.py", line 127, in ponytail_check_connection
          ponytail.disconnect()
        File "/usr/lib/python3.12/site-packages/ponytail/ponytail.py", line 227, in disconnect
          self.event_controller.Disconnect(dbus_interface=self.event_controller_iface)
        File "/usr/lib64/python3.12/site-packages/dbus/proxies.py", line 141, in __call__
          return self._connection.call_blocking(self._named_service,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib64/python3.12/site-packages/dbus/connection.py", line 634, in call_blocking
          reply_message = self.send_message_with_reply_and_block(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Remote peer disconnected

      The affected tests relate to LUKS password setting (although we saw DBus-related exceptions in other cases, namely after clicking on Reboot button at the end of installation) and the failure occurs when Anabot clicks in the password field. It doesn't happen every time, but the occurrence rate high (about 90%).

      Unfortunately I couldn't find a simpler and more direct reproducer than by using Anabot, but hopefully the attached D-Bus traffic captures (both for when the exception occurs and for a successful pass through the problematic spot) and core dumps will be useful for investigation.

      Some background related to Anabot: It connects to the running installation (anaconda) and controls it using dogtail, the installations run in RDP mode by default. Also, due to RHEL-64694, there's a dummy service using xfreerdp to locally connect to gnome-kiosk via RDP, since dogtail cannot work properly without an existing monitor under Wayland - and in RDP mode, there's no monitor unless a client connects.

      I can create a modified boot ISO for an easier reproduction of the bug if it helps anyhow.

      I don't know if the component to blame is gnome-ponytail-daemon, but it's where the traces lead to at least in the tracebacks. Please reassign the bug to a different component if needed.

      What is the impact of this issue to you?

      We cannot test some of Anaconda-related GUI test cases in an automated way.

      Please provide the package NVR for which the bug is seen:

      gnome-ponytail-daemon-0.0.11-3.el10 (used together with dogtail from upstream git repository - DOGTAIL_1_0_2 / d890d872b642bc94ecd96330223f5588b08b14ad), but the same applies also for the most up-to-date versions (gnome-ponytail-daemon-0.0.11-4.el10, DOGTAIL_1_0_5 / d46d9f4c04b55b3ad7b5ee1c86938beb5b0ac8b1)

      How reproducible is this bug?:

      90 %?

      Steps to reproduce

      1. Run RHEL-10 installation with Anabot using the attached Anabot recipe (that restarts the system if the exception doesn't occur). The necessary kernel command line parameters are the following:
        inst.updates=http://location/of/anabot.img inst.rdp inst.rdp.password=password inst.rdp.username=username anabot=http://location/of/anabot-recipe.xml inst.lang=en_US
        It's also useful to add inst.sshd, so that you can ssh to the installation environment.
      2. Observe output of journalctl -fu anabot in the console or via ssh.

      Expected results

      no tracebacks, dogtail/gnome-ponytail-daemon works without any crashes and enables the client program (Anabot) to control the required application

      Actual results

      dogtail, or more precisely the application using dogtail (Anabot) fails with a traceback related to a D-Bus issue

        1. image-2025-05-22-18-57-36-912.png
          101 kB
          Olivier Fourdan
        2. journalctl.log
          1.28 MB
          Jiri Kortus
        3. logs-pcaps-dumps.tar.gz
          1.97 MB
          Jiri Kortus
        4. traceback.txt
          5 kB
          Jiri Kortus

              rhn-engineering-ofourdan Olivier Fourdan
              rhn-support-jikortus Jiri Kortus
              Olivier Fourdan Olivier Fourdan
              Vitezslav Humpa Vitezslav Humpa
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: