[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] GRC: management of default global_blocks_path trigger
From: |
Emmanuel Blot |
Subject: |
[Discuss-gnuradio] GRC: management of default global_blocks_path triggers silent failure |
Date: |
Sun, 11 Aug 2019 16:48:53 +0200 |
When upgrading from RC2 to final, a new issue arose:
$ gnuradio-companion
Traceback (most recent call last):
File "gnuradio/3.8.0.0/libexec/bin/gnuradio-companion", line 102, in
<module>
run_main()
File "gnuradio/3.8.0.0/libexec/bin/gnuradio-companion", line 95, in
run_main
exit(main())
File
"gnuradio/3.8.0.0/lib/python3.7/dist-packages/gnuradio/grc/main.py",
line 83, in main
platform.build_library()
File
"gnuradio/3.8.0.0/lib/python3.7/dist-packages/gnuradio/grc/core/platform.py",
line 197, in build_library
utils.hide_bokeh_gui_options_if_not_installed(self.blocks['options'])
File
"python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/collections/__init__.py",
line 916, in __getitem__
return self.__missing__(key) # support subclasses that
define __missing__
File
"python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/collections/__init__.py",
line 908, in __missing__
raise KeyError(key)
KeyError: 'options'
However, deleting the ~/.gnuradio folder makes this issue disappeared.
It seems the issue comes from the global_blocks_path key from
~/.gnuradio/config.conf.
As my installation path has changed (from .../3.8.0.0-rc2/... to
.../3.8.0.0/...), the global_blocks_path - which had been
*automatically* stored by the previous installation of gnuradio - is
kept being used and silently makes the new installation of gnuradio to
fail.
I’m not sure what would be the best fix here:
* always consider the default global_blocks_path as a fallback if no
valid path is found in `block_paths` property,
* or fail with an explicit error if no valid path is found, or/and
* do not automatically define the default global_blocks_path into the
user configuration file.
Either way, returning an empty list as `Config.block_paths` propagates
an error into the callstack of GRC to a point it is quite hard to
understand the root error cause.
Environment:
os: macOS 10.14.6
python: 3.7.3
gtk: 3.24.10 (Quartz backend)
gobject-introspection: 1.60.2
pygobject3: 3.32.2
cairo: 1.16.0
pango: 1.44.3
glib: 2.60.6
HTH,
Emmanuel.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Discuss-gnuradio] GRC: management of default global_blocks_path triggers silent failure,
Emmanuel Blot <=