This was found with server build #3632 on RHEL9. Manually inserting such an input to tl-config and pressing enter works, > $ tl-config /vsmagent/foo/bar//baz > "qux" and same with flag -a, > $ tl-config -a /vsmagent/foo/bar// > baz = "qux" However, attempting to tab complete hangs the process and yields a traceback (already at root level), >$ tl-config /Traceback (most recent call last): > File "/opt/thinlinc/bin/../bin/hivetool", line 585, in <module> > main() > File "/opt/thinlinc/bin/../bin/hivetool", line 517, in main > (options, args) = parser.parse_args() > File "/opt/thinlinc/modules/thinlinc/optionparse.py", line 56, in parse_args > self . tab_complete ( ) > File "/opt/thinlinc/modules/thinlinc/optionparse.py", line 380, in tab_complete > oc . autocomplete ( self , arg_completer = self . get_argument_completer ( ) , disable_files = ii1IiiI , exit_code = exit_code ) > File "/opt/thinlinc/modules/thinlinc/optcomplete.py", line 391, in autocomplete > result = completer(os.getcwd(), cline, cpoint, prefix, suffix) > File "/opt/thinlinc/bin/../bin/hivetool", line 359, in param_completer > subfolders = get_folders(hive, source, recursive=False) > File "/opt/thinlinc/bin/../bin/hivetool", line 198, in get_folders > completions += get_folders(hive, root + "/" + \ > File "/opt/thinlinc/bin/../bin/hivetool", line 198, in get_folders > completions += get_folders(hive, root + "/" + \ > File "/opt/thinlinc/bin/../bin/hivetool", line 198, in get_folders > completions += get_folders(hive, root + "/" + \ > File "/opt/thinlinc/bin/../bin/hivetool", line 201, in get_folders > if hive.lookup(folder): > File "/opt/thinlinc/modules/thinlinc/hiveconf.py", line 561, in lookup > return self._lookup_list(comps, autocreate) > File "/opt/thinlinc/modules/thinlinc/hiveconf.py", line 603, in _lookup_list > return obj._lookup_list(rest_comps, autocreate, sectionname) > File "/opt/thinlinc/modules/thinlinc/hiveconf.py", line 603, in _lookup_list > return obj._lookup_list(rest_comps, autocreate, sectionname) > File "/opt/thinlinc/modules/thinlinc/hiveconf.py", line 603, in _lookup_list > return obj._lookup_list(rest_comps, autocreate, sectionname) > [Previous line repeated 1 more time] > File "/opt/thinlinc/modules/thinlinc/hiveconf.py", line 572, in _lookup_list > print("_lookup_list with components:", repr(comps), file=debugw) >KeyboardInterrupt >^C Seems to be independent of where and how many the consecutive slashes are. For instance, this works through manual entry: > $ tl-config -a /vsmagent/foo/////bar > baz = "qux" but similarly yields a crash when tabbing. Unsure if this bug existed before bug 7940 was resolved.
To clarify, this happens if the configuration file includes a path with double slashes. It's not only about specifying double slashes on the commandline when invoking tl-config.