Skip to content

finders.py:148:__call__:ValueError: invalid literal for int() with base 10: '' #521

@rallenh

Description

@rallenh

Hi,

I regularly get "ipython quit unexpectedly" in the Fedora Problem Reporting tool (abrt).

Here's the reason:
finders.py:148:__call__:ValueError: invalid literal for int() with base 10: ''

Here's the backtrace/traceback:

Traceback (most recent call last):
  File "/usr/bin/ipython", line 33, in <module>
    sys.exit(load_entry_point('ipython==8.23.0', 'console_scripts', 'ipython')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/IPython/__init__.py", line 130, in start_ipython
    return launch_new_instance(argv=argv, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/traitlets/config/application.py", line 1074, in launch_instance
    app.initialize(argv)
  File "/usr/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/IPython/terminal/ipapp.py", line 269, in initialize
    super(TerminalIPythonApp, self).initialize(argv)
  File "/usr/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/IPython/core/application.py", line 480, in initialize
    self.parse_command_line(argv)
  File "/usr/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/traitlets/config/application.py", line 881, in parse_command_line
    self.cli_config = deepcopy(loader.load_config())
                               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/traitlets/config/loader.py", line 894, in load_config
    self._argcomplete(self.classes, self.subcommands)
  File "/usr/lib/python3.12/site-packages/traitlets/config/loader.py", line 1139, in _argcomplete
    finder(self.parser, **getattr(self, "_argcomplete_kwargs", {}))
  File "/usr/lib/python3.12/site-packages/argcomplete/finders.py", line 148, in __call__
    comp_point = int(os.environ["COMP_POINT"])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ''

To 'fix" this so that I don't get alot abrt notifications:

❯ git diff
diff --git a/argcomplete/finders.py b/argcomplete/finders.py
index 793b462..f101926 100644
--- a/argcomplete/finders.py
+++ b/argcomplete/finders.py
@@ -145,7 +145,10 @@ class CompletionFinder(object):
             exit_method(1)
 
         comp_line = os.environ["COMP_LINE"]
-        comp_point = int(os.environ["COMP_POINT"])
+        try:
+            comp_point = int(os.environ["COMP_POINT"])
+        except ValueError:
+            comp_point = 0
 
         cword_prequote, cword_prefix, cword_suffix, comp_words, last_wordbreak_pos = split_line(comp_line, comp_point)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions