traceback running checkbox-launcher on 12.04

Bug #1503804 reported by Jeff Lane 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Next Generation Checkbox (CLI)
Won't Fix
Critical
Jeff Lane 

Bug Description

Trying to run canonical-certification-server which calls checkbox launcher on a remote system I'm certifying. when I run canonical-certification-server, I get the following traceback and am unable to launch any testing:

Traceback (most recent call last):
  File "/usr/bin/checkbox-launcher", line 9, in <module>
    load_entry_point('checkbox-ng==0.21', 'console_scripts', 'checkbox-launcher')()
  File "/usr/lib/python3/dist-packages/checkbox_ng/main.py", line 62, in launcher
    raise SystemExit(CheckboxLauncherTool().main(argv))
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 324, in main
    return self.dispatch_and_catch_exceptions(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 556, in dispatch_command
    return ns.command.invoked(ns)
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/launcher.py", line 90, in invoked
    self.provider_loader, lambda: self.config, ns, launcher
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/newcli.py", line 149, in run
    return self.do_normal_sequence()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/newcli.py", line 178, in do_normal_sequence
    self.show_welcome_screen()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/newcli.py", line 225, in show_welcome_screen
    self.display.run(ShowWelcome(text))
  File "/usr/lib/python3/dist-packages/plainbox/vendor/textland/display.py", line 186, in run
    return super().run(app)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/textland/display.py", line 52, in run
    self.display_image(image)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/textland/display.py", line 236, in display_image
    y, x - 1, cell.char, self._curses_attr[cell.attributes])
_curses.error: addstr() returned ERR

root@x9scd-f:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"

ii checkbox-ng 0.21~ppa~ubuntu12.04.1 PlainBox based test runner
ii plainbox-provider-checkbox 0.22~ppa1~ubuntu12.04.1 CheckBox provider for PlainBox
ii python3-checkbox-ng 0.21~ppa~ubuntu12.04.1 PlainBox based test runner (Python 3 library)
ii python3-checkbox-support 0.21~ppa~ubuntu12.04.1 collection of Python modules used by PlainBox providers
root@x9scd-f:~# COLS=120 dpkg -l |grep plainbox
ii plainbox-insecure-policy 0.23+ppa~ubuntu12.04.1 policykit policy required to use plainbox (insecure version)
ii plainbox-provider-certification-server 0.19-1 Server Certification provider for Plainbox
ii plainbox-provider-checkbox 0.22~ppa1~ubuntu12.04.1 CheckBox provider for PlainBox
ii plainbox-provider-resource-generic 0.20+ppa~ubuntu12.04.1 CheckBox generic resource jobs provider
ii python3-plainbox 0.23+ppa~ubuntu12.04.1 toolkit for software and hardware testing (python3 module)

All installed freshly today from the Public hardware cert PPA

Revision history for this message
Jeff Lane  (bladernr) wrote :
Download full text (3.8 KiB)

here's the full traceback:
CRITICAL plainbox.crashes: Executable 'checkbox-launcher' invoked with Namespace(color=None, command=<checkbox_ng.commands.launcher.LauncherCommand object at 0x2f50e90>, debug_console=False, debug_interrupt=False, dont_suppress_output=False, dry_run=False, exclude_pattern_list=[], include_pattern_list=[], launcher='/usr/bin/canonical-certification-server', log_level=None, non_interactive=False, pdb=False, secure_id=None, test_plan=None, trace=[], url=None, whitelist=[]) has crashed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 556, in dispatch_command
    return ns.command.invoked(ns)
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/launcher.py", line 90, in invoked
    self.provider_loader, lambda: self.config, ns, launcher
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/newcli.py", line 149, in run
    return self.do_normal_sequence()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/newcli.py", line 167, in do_normal_sequence
    resumed = self.maybe_resume_session()
  File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 423, in maybe_resume_session
    resume_storage_list = self.get_resume_candidates()
  File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 496, in get_resume_candidates
    data = storage.load_checkpoint()
  File "/usr/lib/python3/dist-packages/plainbox/impl/session/storage.py", line 362, in load_checkpoint
    return self._load_checkpoint_unix_py32()
  File "/usr/lib/python3/dist-packages/plainbox/impl/session/storage.py", line 472, in _load_checkpoint_unix_py32
    session_fd = os.open(_session_pathname, os.O_RDONLY)
OSError: [Errno 2] No such file or directory: '/root/.cache/plainbox/sessions/pbox-6lu_fd.session/session'
Traceback (most recent call last):
  File "/usr/bin/checkbox-launcher", line 9, in <module>
    load_entry_point('checkbox-ng==0.21', 'console_scripts', 'checkbox-launcher')()
  File "/usr/lib/python3/dist-packages/checkbox_ng/main.py", line 62, in launcher
    raise SystemExit(CheckboxLauncherTool().main(argv))
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 324, in main
    return self.dispatch_and_catch_exceptions(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 556, in dispatch_command
    return ns.command.invoked(ns)
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/launcher.py", line 90, in invoked
    self.provider_loader, lambda: self.config, ns, launcher
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/newcli.py", line 149, in run
    return self.do_normal_sequence()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/newcli.py", line 167, in do_normal_sequence
    resumed = self.maybe_resume_session()
  File "/usr/lib/python3/dist-packages/plainbox/impl/comm...

Read more...

Revision history for this message
Jeff Lane  (bladernr) wrote :

Curiously, if I do this:

 $ canonical-certfication-server 2>&1

It crashes but if I then pipe that to tee:

 $ canonical-certification-server 2>&1 |tee -a certrun.log

it seem to just launch in headless mode and start running tests...

makes sense that way seems to be avoiding whatever is firing the console UI. so it's a UI bug, it seems...

Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

Question about this bug, the two tracebacks are different but I'm more worried for the first one.
The second though tells us that you were running canonical-certification-server as root.
Can we assume it was also true for the first error?
With the insecure policy you should not need to run as root unless I'm missing something.
We're running tests on a number of snappy projects remotely without any problems. I'd like to know more.

Could you please just confirm how did you run canonical-certification-server?

Changed in checkbox-ng:
status: New → Incomplete
assignee: nobody → Jeff Lane (bladernr)
Revision history for this message
Jeff Lane  (bladernr) wrote :

Hi,

First, I'm not able to reproduce this... the original hardware has been returned to service.

So I was running as root because the system was installed by a client in their DC using their deployment system which uses a root user for deployments.

I never bothered with insecure policy since root was the only user on the system, I just ran it that way.

Also, this was older (12.04.1) and the best I could try in Digital Ocean to recreate was 12.04.5, so much different :(

Anyway the tests were run like so:

Customer deployed 12.04.1 to the system and gave me the Root PW and IP address data.
SSH to the SUT as root
install from the public PPA
run canonical-certification-server
fail.

FWIW, I've tried this twice now today on 12.04.5 using c-c-s both from the public and dev PPAs and was not able to reproduce it.

Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

Thanks a lot for your feedback Jeff.

Let's close this bug then. we'll pay attention to future failures similar to the one reported here.

Changed in checkbox-ng:
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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