DBus service Unkwown

Bug #400200 reported by David Murphy
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox
Fix Released
Wishlist
Unassigned

Bug Description

Hello,

When running checkbox, depending on the machine, it seems that not every test case is being executed. Looking into logs, it seems that the problem might be because of a ServiceUnknown execption coming from DBus.

Has anybody seen this problem in the past?
Is there any way to overcome it?

Please find below one of the stack traces seen in logs for further information:
==============
ERROR Error running event handler None.PromptTest.prompt_tests() for event type 'prompt-tests' with args (<checkbox_gtk.gtk_interface.GTKInterface object at 0xa0909ac>,) {}.
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/checkbox/reactor.py", line 80, in fire
    results.append(handler(*args, **kwargs))
  File "/usr/share/checkbox/plugins/test_prompt.py", line 126, in prompt_tests
    test = self._traverser.go(interface.direction, self._result)
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 78, in go
    element = self.next(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 105, in next
    return self.iterator.next(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 208, in next
    element = super(IteratorPostRepeat, self).next(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 181, in next
    self.element = self.iterator.next(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 196, in next
    return super(IteratorPreRepeat, self).next(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 181, in next
    self.element = self.iterator.next(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 140, in next
    if not self.has_next(*args, **kwargs):
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 128, in has_next
    if self.iterator.has_next(*args, **kwargs):
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 128, in has_next
    if self.iterator.has_next(*args, **kwargs):
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 128, in has_next
    if self.iterator.has_next(*args, **kwargs):
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/iterator.py", line 131, in has_next
    and self.next_func(element, *args, **kwargs):
  File "/usr/lib/python2.6/dist-packages/checkbox/traverser.py", line 164, in _requires_exclude_func
    if False in test.requires.get_mask():
  File "/usr/lib/python2.6/dist-packages/checkbox/requires.py", line 65, in get_mask
    self.get_values()
  File "/usr/lib/python2.6/dist-packages/checkbox/lib/cache.py", line 31, in __call__
    self._cache[(self._instance,) + args] = self._function(self._instance, *args)
  File "/usr/lib/python2.6/dist-packages/checkbox/requires.py", line 41, in get_values
    self._source, self._mask)
  File "/usr/lib/python2.6/dist-packages/checkbox/registry.py", line 193, in registry_eval_recursive
    values.extend(registry_eval_recursive(value, source, mask))
  File "/usr/lib/python2.6/dist-packages/checkbox/registry.py", line 191, in registry_eval_recursive
    for key, value in registry.items():
  File "/usr/lib/python2.6/dist-packages/checkbox/registries/command.py", line 56, in items
    item = str(self)
  File "/usr/lib/python2.6/dist-packages/checkbox/frontend.py", line 43, in __call__
    return getattr(self, self._method)(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/checkbox/frontend.py", line 85, in get_registry
    return self.client.get_registry(self._instance.__module__)
  File "/var/lib/python-support/python2.6/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/var/lib/python-support/python2.6/dbus/connection.py", line 622, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.271 was not provided by any .service files
==============

Best regards,
    Javier

David Murphy (schwuk)
Changed in checkbox:
status: New → Incomplete
Revision history for this message
Marc Tardif (cr3) wrote :

The problem is that the dbus backend only knows about Checkbox tests, not tests contributed by external packages. The reason is for security purposes where the dbus backend cannot be made too generic to run arbitrary commands. Otherwise, this would be a security risk just waiting to happen. Until a safe way can be found to extend the backend to know about tests from external packages, the only workaround is to use (gk)su(do) when needing to run external tests as root. For now, I will mark this bug as a wishlist.

Changed in checkbox:
status: Incomplete → Triaged
importance: Undecided → Wishlist
Revision history for this message
Daniel Manrique (roadmr) wrote :

Checkbox moved to using sudo to run tests and dropped dbus support in rev 761. Then Dbus reappeared with checkbox-qt :)

Anyway, this particular bug is now fixed.

Changed in checkbox:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.