{"action":"closed","issue":{"url":"https://api.github.com/repos/jep-project/jep-python/issues/7","labels_url":"https://api.github.com/repos/jep-project/jep-python/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/jep-project/jep-python/issues/7/comments","events_url":"https://api.github.com/repos/jep-project/jep-python/issues/7/events","html_url":"https://github.com/jep-project/jep-python/issues/7","id":67833113,"number":7,"title":"Reconnect after .jep is changed not working","user":{"login":"moltob","id":6240478,"avatar_url":"https://avatars.githubusercontent.com/u/6240478?v=3","gravatar_id":"","url":"https://api.github.com/users/moltob","html_url":"https://github.com/moltob","followers_url":"https://api.github.com/users/moltob/followers","following_url":"https://api.github.com/users/moltob/following{/other_user}","gists_url":"https://api.github.com/users/moltob/gists{/gist_id}","starred_url":"https://api.github.com/users/moltob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moltob/subscriptions","organizations_url":"https://api.github.com/users/moltob/orgs","repos_url":"https://api.github.com/users/moltob/repos","events_url":"https://api.github.com/users/moltob/events{/privacy}","received_events_url":"https://api.github.com/users/moltob/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jep-project/jep-python/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"moltob","id":6240478,"avatar_url":"https://avatars.githubusercontent.com/u/6240478?v=3","gravatar_id":"","url":"https://api.github.com/users/moltob","html_url":"https://github.com/moltob","followers_url":"https://api.github.com/users/moltob/followers","following_url":"https://api.github.com/users/moltob/following{/other_user}","gists_url":"https://api.github.com/users/moltob/gists{/gist_id}","starred_url":"https://api.github.com/users/moltob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moltob/subscriptions","organizations_url":"https://api.github.com/users/moltob/orgs","repos_url":"https://api.github.com/users/moltob/repos","events_url":"https://api.github.com/users/moltob/events{/privacy}","received_events_url":"https://api.github.com/users/moltob/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-04-11T21:10:04Z","updated_at":"2015-04-11T23:27:48Z","closed_at":"2015-04-11T23:27:48Z","body":"1. Create connection to backend from Sublime.\r\n2. Let it run for a while, frontend will receive backend alive messages.\r\n3. Edit file covered by .jep.\r\n4. Modify .jep file.\r\n\r\nExpected: Frontend shuts down current connection and then reconnects.\r\n\r\nActual: Connection is shut down and stopped:\r\n\r\n```\r\n23:03:52 DEBUG         jep.frontend:47        get_connection() Service connector requested for file: D:\\Work\\jep\\test\\my.testlang\r\n23:03:52 DEBUG         jep.frontend:57        get_connection() Config file %s changed, need to restart connection.\r\n23:03:52 DEBUG         jep.frontend:163         send_message() Sending message <jep.schema.Shutdown object at 0x0000001D0228EBA8>.\r\n23:03:52 DEBUG         jep.frontend:165         send_message() Sending data b'\\x81\\xa8_message\\xa8Shutdown'.\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:51,786 jep.backend DEBUG: Sending alive message to 1 frontend(s).<<<\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:52,317 jep.backend DEBUG: Received data: b'\\x81\\xa8_message\\xa8Shutdown'<<<\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:52,317 jep.backend DEBUG: Read data in 1 cycles.<<<\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:52,317 jep.protocol DEBUG: Decoded 19 bytes from stream to message <class 'jep.schema.Shutdown'>. 0 bytes left.<<<\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:52,317 jep.backend DEBUG: Received message: <jep.schema.Shutdown object at 0x00000000030294E0><<<\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:52,317 jep.backend.sample INFO: Received shutdown in listener.<<<\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:52,317 jep.backend DEBUG: Frontend requested backend to shut down.<<<\r\n23:03:52 DEBUG         jep.frontend:314 _read_backend_output() [backend] >>>2015-04-11 23:03:52,317 jep.backend INFO: Backend stopped.<<<\r\n23:03:52 DEBUG         jep.frontend:214   _run_disconnecting() Backend process shut down gracefully.\r\n23:03:52 DEBUG         jep.frontend:290             _cleanup() Output reader thread stopped.\r\n```\r\n\r\nUpon retry the state is fully corrupted (and the previously mentioned read output of unconnected process leads to exception:\r\n\r\n```\r\n23:08:45 DEBUG         jep.frontend:47        get_connection() Service connector requested for file: D:\\Work\\jep\\test\\my.testlang\r\n23:08:45 DEBUG         jep.frontend:57        get_connection() Config file %s changed, need to restart connection.\r\n23:08:45 WARNING         jep.frontend:170         send_message() In state State.Disconnected no messages are sent to backend, but received request to send <jep.schema.Shutdown object at 0x0000001D0228E978>.\r\nTraceback (most recent call last):\r\n  File \"D:\\Utilities\\Sublime\\Data\\Packages\\jep-sublime\\jep.py\", line 69, in timeout\r\n    backend_adapter.run()\r\n  File \"D:\\Utilities\\Sublime\\Data\\Packages\\jep-sublime\\jep.py\", line 61, in run\r\n    con.run(datetime.timedelta(seconds=0.1))\r\n  File \"D:\\Utilities\\Sublime\\Data\\Packages\\jep-sublime\\..\\jep-python\\jep\\frontend.py\", line 153, in run\r\n    self._dispatch(endtime - now)\r\n  File \"D:\\Utilities\\Sublime\\Data\\Packages\\jep-sublime\\..\\jep-python\\jep\\frontend.py\", line 158, in _dispatch\r\n    self._state_handler[self.state](duration)\r\n  File \"D:\\Utilities\\Sublime\\Data\\Packages\\jep-sublime\\..\\jep-python\\jep\\frontend.py\", line 203, in _run_disconnecting\r\n    self._read_backend_output()\r\n  File \"D:\\Utilities\\Sublime\\Data\\Packages\\jep-sublime\\..\\jep-python\\jep\\frontend.py\", line 312, in _read_backend_output\r\n    while not self._process_output_reader.queue_.empty():\r\nAttributeError: 'NoneType' object has no attribute 'queue_'\r\n```\r\n"}}