{"action":"opened","issue":{"url":"https://api.github.com/repos/davidhalter/jedi/issues/710","repository_url":"https://api.github.com/repos/davidhalter/jedi","labels_url":"https://api.github.com/repos/davidhalter/jedi/issues/710/labels{/name}","comments_url":"https://api.github.com/repos/davidhalter/jedi/issues/710/comments","events_url":"https://api.github.com/repos/davidhalter/jedi/issues/710/events","html_url":"https://github.com/davidhalter/jedi/issues/710","id":142888426,"number":710,"title":"on youcompleteme, jedi (v0.9.0) crashes with `TypeError`","user":{"login":"timfeirg","id":4319104,"avatar_url":"https://avatars.githubusercontent.com/u/4319104?v=3","gravatar_id":"","url":"https://api.github.com/users/timfeirg","html_url":"https://github.com/timfeirg","followers_url":"https://api.github.com/users/timfeirg/followers","following_url":"https://api.github.com/users/timfeirg/following{/other_user}","gists_url":"https://api.github.com/users/timfeirg/gists{/gist_id}","starred_url":"https://api.github.com/users/timfeirg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timfeirg/subscriptions","organizations_url":"https://api.github.com/users/timfeirg/orgs","repos_url":"https://api.github.com/users/timfeirg/repos","events_url":"https://api.github.com/users/timfeirg/events{/privacy}","received_events_url":"https://api.github.com/users/timfeirg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-03-23T07:46:31Z","updated_at":"2016-03-23T07:46:31Z","closed_at":null,"body":"I'm using youcomplete with vim, and jedi crashes whenever I triggered a autocomplete query against jediHTTP, here's the jedi error log:\r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/bottle/bottle.py\", line 862, in _handle\r\n    return route.call(**args)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/bottle/bottle.py\", line 1732, in wrapper\r\n    rv = callback(*a, **ka)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/jedihttp/hmac_plugin.py\", line 58, in wrapper\r\n    body = callback( *args, **kwargs )\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/jedihttp/handlers.py\", line 63, in completions\r\n    } for completion in script.completions() ]\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py\", line 188, in completions\r\n    completion_names = get_completions(user_stmt, b)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py\", line 174, in get_completions\r\n    completion_names += self._simple_complete(path, dot, like)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py\", line 250, in _simple_complete\r\n    scopes = list(self._prepare_goto(path, True))\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py\", line 294, in _prepare_goto\r\n    scopes = self._evaluator.eval_element(eval_stmt)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py\", line 41, in wrapper\r\n    rv = function(obj, *args, **kwargs)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py\", line 169, in eval_element\r\n    return self._eval_atom(element)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py\", line 230, in _eval_atom\r\n    return self.find_types(scope, atom, stmt.start_pos, search_global=True)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py\", line 120, in find_types\r\n    return f.find(scopes, search_global)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py\", line 52, in wrapper\r\n    result = func(*args, **kwargs)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py\", line 87, in find\r\n    types = self._names_to_types(names, search_global)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py\", line 233, in _names_to_types\r\n    new_types = _name_to_types(self._evaluator, name, self.scope)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py\", line 41, in wrapper\r\n    rv = function(obj, *args, **kwargs)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py\", line 282, in _name_to_types\r\n    types += imports.ImportWrapper(evaluator, name).follow()\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py\", line 41, in wrapper\r\n    rv = function(obj, *args, **kwargs)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/imports.py\", line 94, in follow\r\n    types = importer.follow()\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py\", line 41, in wrapper\r\n    rv = function(obj, *args, **kwargs)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/imports.py\", line 252, in follow\r\n    return self._do_import(self.import_path, self.sys_path_with_modifications())\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/imports.py\", line 347, in _do_import\r\n    module = _load_module(self._evaluator, module_path, source, sys_path)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/imports.py\", line 449, in _load_module\r\n    cached = cache.load_parser(path)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/cache.py\", line 210, in load_parser\r\n    return ParserPickling.load_parser(path, p_time)\r\n  File \"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/cache.py\", line 256, in load_parser\r\n    pickle_changed_time = self._index[path]\r\nTypeError: 'NoneType' object has no attribute '__getitem__'\r\n```\r\n\r\nI'm still having trouble deciding which vim plugin causes this exact problem, I'm not sure where to post this issue, I'm creating a issue here because the traceback points to [jedi](https://github.com/vheon/JediHTTP/tree/master/vendor) v0.9.0 which is the current release that jediHTTP uses.\r\n\r\n# reproduce\r\n\r\ncreate a random python file with vim or neovim, and type in the following content:\r\n```\r\nimport os\r\nos.path\r\n```\r\n\r\njedi will crash on the second line, after I type period and trigger a http query from youcompleteme, against jediHTTP, which eventually causes the crash in `\"/Users/timfeirg/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/cache.py\", line 256, in load_parser`\r\n\r\n# environment\r\n\r\n`NVIM v0.1.3-363-g2e2b575`\r\n[`youcompleteme 21a0019`](https://github.com/Valloric/YouCompleteMe) which is the latest master, I also tried rollback a couple of commits, the problem still exists\r\n[JediHTTP @ a645beb](https://github.com/Valloric/ycmd/tree/6df0fe50cacb8887eda0785b845e8dc049ca0408/third_party) from latest [`ycmd`](https://github.com/Valloric/ycmd/tree/6df0fe50cacb8887eda0785b845e8dc049ca0408/third_party)\r\n\r\n\r\nand like I said, I'm not very sure this is the place for this issue, it takes understanding of the three code bases (youcompleteme, jedi, jediHTTP) to determine which plugin causes the problem, appreciate it if anybody can take a look.\r\n"}}