Open jpnurmi opened 1 year ago
The app used to dump an exception on the screen.
Ever since LxdService.init()
was moved to main()
, the UI no longer loads at all.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: SocketException: Connection failed (OS Error: No such file or directory, errno = 2), address = /var/lib/lxd/unix.socket, port = 0
#0 _NativeSocket.startConnect (dart:io-patch/socket_patch.dart:682:35)
#1 _RawSocket.startConnect (dart:io-patch/socket_patch.dart:1827:26)
#2 RawSocket.startConnect (dart:io-patch/socket_patch.dart:27:23)
#3 Socket._startConnect (dart:io-patch/socket_patch.dart:2048:22)
#4 Socket.startConnect (dart:io/socket.dart:759:21)
#5 LxdClient._createClient.<anonymous closure>
package:lxd/src/client.dart:78
#6 _ConnectionTarget.connect (dart:_http/http_impl.dart:2443:28)
#7 _HttpClient._getConnection.connect (dart:_http/http_impl.dart:2867:12)
#8 _HttpClient._getConnection (dart:_http/http_impl.dart:2872:12)
#9 _HttpClient._openUrl (dart:_http/http_impl.dart:2727:12)
For reference, snapcraft's error for uninitialized LXD:
$ snapcraft --verbosity verbose
Starting Snapcraft 7.2.9
Logging execution to '/home/jpnurmi/.cache/snapcraft/log/snapcraft-20230103-112403.270629.log'
Running on amd64 for amd64 Traceback (most recent call last):
File "/snap/snapcraft/8619/bin/snapcraft", line 8, in <module>
sys.exit(run())
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in run
_run_dispatcher(dispatcher)
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/cli.py", line 204, in _run_dispatcher
dispatcher.run()
File "/snap/snapcraft/8619/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run
return self._loaded_command.run(self._parsed_command_args)
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 259, in run
super().run(parsed_args)
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 132, in run
parts_lifecycle.run(self.name, parsed_args)
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 208, in run
_run_command(
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 249, in _run_command
_run_in_provider(project, command_name, parsed_args)
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 474, in _run_in_provider
providers.ensure_provider_is_available(provider)
File "/snap/snapcraft/8619/lib/python3.8/site-packages/snapcraft/providers.py", line 83, in ensure_provider_is_available
LXDProvider.ensure_provider_is_available()
File "/snap/snapcraft/8619/lib/python3.8/site-packages/craft_providers/lxd/lxd_provider.py", line 76, in ensure_provider_is_available
ensure_lxd_is_ready()
File "/snap/snapcraft/8619/lib/python3.8/site-packages/craft_providers/lxd/installer.py", line 141, in ensure_lxd_is_ready
raise errors.LXDError(
craft_providers.lxd.errors.LXDError: LXD has not been properly initialized.
Execute 'lxd init --auto' to initialize LXD.
Visit https://linuxcontainers.org/lxd/getting-started-cli/ for instructions on installing and configuring LXD for your operating system.
When LXD is not installed, the app should present an error screen with a nice human-readable error description together with installation instructions.