Using `--bootloader=none` causes an odd crash

Bug #1857556 reported by Saverio Miroddi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
subiquity
Triaged
Low
Unassigned

Bug Description

When I run Subiquity with the `--bootloader=none` option, it crashes.

Steps:

- load an Ubuntu 18.04.3 live image
- switch terminal
- run `snap stop subiquity`
- run `snap run subiquity --bootloader=none`
- tap Enter twice
- crash!

If I run without the `bootloader` option, it runs fine.

I'm on an x86-64 machine.

Stack trace:

```
  File "/snap/subiquity/1093/usr/bin/subiquity", line 11, in <module>
    load_entry_point('subiquity==0.0.5', 'console_scripts', 'subiquity-tui')()
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/cmd/tui.py", line 161, in main
    subiquity_interface.run()
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquitycore/core.py", line 536, in run
    self.common['loop'].run()
  File "/snap/subiquity/1093/usr/lib/python3/dist-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/snap/subiquity/1093/usr/lib/python3/dist-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/snap/subiquity/1093/usr/lib/python3/dist-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/snap/subiquity/1093/usr/lib/python3/dist-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/snap/subiquity/1093/usr/lib/python3/dist-packages/urwid/main_loop.py", line 232, in cb
    rval = callback(data)
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquitycore/core.py", line 311, in in_main_thread
    callback(fut)
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/controllers/keyboard.py", line 63, in _done
    self.signal.emit_signal('next-screen')
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquitycore/signals.py", line 40, in emit_signal
    urwid.emit_signal(self, name, *args, **kwargs)
  File "/snap/subiquity/1093/usr/lib/python3/dist-packages/urwid/signals.py", line 265, in emit
    result |= self._call_callback(callback, user_arg, user_args, args)
  File "/snap/subiquity/1093/usr/lib/python3/dist-packages/urwid/signals.py", line 295, in _call_callback
    return bool(callback(*args_to_pass))
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquitycore/core.py", line 364, in next_screen
    self.select_screen(self.controller_index + 1)
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquitycore/core.py", line 353, in select_screen
    controller.default()
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/controllers/zdev.py", line 647, in default
    self.ui.set_body(ZdevView(self))
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/ui/views/zdev.py", line 147, in __init__
    self.refresh_model_inputs()
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/ui/views/zdev.py", line 157, in refresh_model_inputs
    self.zdev_list.refresh_model_inputs()
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/ui/views/zdev.py", line 74, in refresh_model_inputs
    zdevinfos = self.parent.controller.get_zdevinfos()
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/controllers/zdev.py", line 669, in get_zdevinfos
    return self.lszdev()
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/controllers/zdev.py", line 672, in lszdev
    devices = run_command(lszdev_cmd, universal_newlines=True).stdout
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquitycore/utils.py", line 120, in run_command
    env=_clean_env(env), **kw)
  File "/snap/subiquity/1093/usr/lib/python3.6/subprocess.py", line 423, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/snap/subiquity/1093/usr/lib/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/snap/subiquity/1093/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'lszdev': 'lszdev'
```

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Ah yeah, I think subiquity kinds of puns "bootloader == None" with being on s390x, which is obviously a bit bogus. That said, why are you running subiquity with --bootloader=none on amd64?

Revision history for this message
Saverio Miroddi (64kramsystem) wrote :

A project of mine is a shell program that invokes (s)ubiquity, then performs several operations on the installed system, including installing the bootloader, which is therefore something (s)ubiquity doesn't need to do. However, while the --bootloader option of Ubiquity works as expected, on Subiquity causes the problem above.

Changed in subiquity:
status: New → Triaged
importance: Undecided → Low
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.