vishnevskiy / ElixirSublime

Elixir plugin for SublimeText 3 providing code completion and linting.
MIT License
364 stars 25 forks source link

Socket not found on Yosemite with brew and ST3 #6

Open pspeter3 opened 9 years ago

pspeter3 commented 9 years ago
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 358, in on_query_completions
    res = callback.on_query_completions(v, prefix, locations)
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 270, in on_query_completions
    if not session.send('COMPLETE', expand_selection(view, locations[0], aliases=aliases)):
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 189, in send
    self.socket.send(str.encode(cmd))
AttributeError: 'NoneType' object has no attribute 'send'
pspeter3 commented 9 years ago

Now I'm getting

Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 311, in on_activated_async
    callback.on_activated_async(v)
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 255, in on_activated_async
    self.on_load_async(view)
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 260, in on_load_async
    ElixirSession.ensure(os.path.dirname(filename))
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 160, in ensure
    session.connect()
  File "/Users/user/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 179, in connect
    self.socket, _ = _socket.accept()
  File "./socket.py", line 135, in accept
socket.timeout: timed out
developerworks commented 9 years ago

I am also encountered the issue.

Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 358, in on_query_completions
    res = callback.on_query_completions(v, prefix, locations)
  File "/Users/hezhiqiang/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 270, in on_query_completions
    if not session.send('COMPLETE', expand_selection(view, locations[0], aliases=aliases)):
  File "/Users/hezhiqiang/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 189, in send
    self.socket.send(str.encode(cmd))
AttributeError: 'NoneType' object has no attribute 'send'
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 311, in on_activated_async
    callback.on_activated_async(v)
  File "/Users/hezhiqiang/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 255, in on_activated_async
    self.on_load_async(view)
  File "/Users/hezhiqiang/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 260, in on_load_async
    ElixirSession.ensure(os.path.dirname(filename))
  File "/Users/hezhiqiang/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 160, in ensure
    session.connect()
  File "/Users/hezhiqiang/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 179, in connect
    self.socket, _ = _socket.accept()
  File "./socket.py", line 135, in accept
socket.timeout: timed out
developerworks commented 9 years ago

Issue is fixed.

If you installed wget by macports, you should also install the curl-ca-bundle by following command line:

sudo port install curl-ca-bundle

and edit ~/.wgetrc:

echo CA_CERTIFICATE=/opt/local/share/curl/curl-ca-bundle.crt >> ~/.wgetrc

and go into ~/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/sublime_completion

mix deps.get

Ok, restart your Sublime.

artemruts commented 9 years ago

Followed the steps above - same result. Yosemite 10.10.2 + ST3. Still get ->

AttributeError: 'NoneType' object has no attribute 'send' or socket.timeout: timed out

Is there anything else I can possibly try?

hunterboerner commented 9 years ago

Me too.

maxenko commented 9 years ago

Same thing on Ubuntu 14.

Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 359, in on_query_completions
    res = callback.on_query_completions(v, prefix, locations)
  File "/home/max/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 268, in on_query_completions
    session = ElixirSession.ensure(os.path.dirname(view.file_name()))
  File "/home/max/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 160, in ensure
    session.connect()
  File "/home/max/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 179, in connect
    self.socket, _ = _socket.accept()
  File "./socket.py", line 135, in accept
socket.timeout: timed out
smashedtoatoms commented 9 years ago

Me too.

slashdotdash commented 9 years ago

+1 on Mac OS X with Sublime Text 3 and Elixir installed via homebrew (brew install elixir)

SublimeLinter: debug mode: off 
SublimeLinter: elixirc activated: /usr/local/bin/elixirc 
SublimeLinter: elixirlinter activated: /usr/local/bin/elixirc 
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 359, in on_query_completions
    res = callback.on_query_completions(v, prefix, locations)
  File "/Users/ben/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 270, in on_query_completions
    if not session.send('COMPLETE', expand_selection(view, locations[0], aliases=aliases)):
  File "/Users/ben/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 189, in send
    self.socket.send(str.encode(cmd))
AttributeError: 'NoneType' object has no attribute 'send'
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 312, in on_activated_async
    callback.on_activated_async(v)
  File "/Users/ben/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 255, in on_activated_async
    self.on_load_async(view)
  File "/Users/ben/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 260, in on_load_async
    ElixirSession.ensure(os.path.dirname(filename))
  File "/Users/ben/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 160, in ensure
    session.connect()
  File "/Users/ben/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 179, in connect
    self.socket, _ = _socket.accept()
  File "./socket.py", line 135, in accept
socket.timeout: timed out
pspeter3 commented 9 years ago

I'm also experiencing this again

courtneycouch commented 9 years ago

here also.

pokidovea commented 8 years ago

+1. Ubuntu 14.04

Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 312, in on_activated_async
    callback.on_activated_async(v)
  File "/home/pokidovea/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 255, in on_activated_async
    self.on_load_async(view)
  File "/home/pokidovea/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 260, in on_load_async
    ElixirSession.ensure(os.path.dirname(filename))
  File "/home/pokidovea/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 160, in ensure
    session.connect()
  File "/home/pokidovea/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 179, in connect
    self.socket, _ = _socket.accept()
  File "./socket.py", line 135, in accept
socket.timeout: timed out
Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 359, in on_query_completions
    res = callback.on_query_completions(v, prefix, locations)
  File "/home/pokidovea/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 270, in on_query_completions
    if not session.send('COMPLETE', expand_selection(view, locations[0], aliases=aliases)):
  File "/home/pokidovea/.config/sublime-text-3/Packages/ElixirSublime/elixir_sublime.py", line 189, in send
    self.socket.send(str.encode(cmd))
AttributeError: 'NoneType' object has no attribute 'send'
mkalygin commented 8 years ago

Any updates on this issue? Experience the same thing on Win 10 x64 with Sublime Text 3 Build 3083.

mkalygin commented 8 years ago

I've investigated this issue (Win 10 x64, ST3 Build 3083). By looking at the source code I've found that you can find log file in %TEMP%\ElixirSublime.log. And the log file was really helpful.

My log file had the following content:

Could not find Hex, which is needed to build dependency :poison
Shall I install Hex? [Yn] ** (Mix) Could not find an SCM for dependency :poison from SublimeCompletion.Mixfile

So the reason of this error is a missing Hex package manager. To install it run the following command: mix local.hex.

After that the socket.timeout: timed out error was fixed. Then I've got another error in ST3 console:

Traceback (most recent call last):
  File "C:\tools\sublime\sublime_plugin.py", line 312, in on_activated_async
    callback.on_activated_async(v)
  File "C:\tools\sublime\Data\Packages\ElixirSublime\elixir_sublime.py", line 254, in on_activated_async
    self.on_load_async(view)
  File "C:\tools\sublime\Data\Packages\ElixirSublime\elixir_sublime.py", line 259, in on_load_async
    ElixirSession.ensure(os.path.dirname(filename))
  File "C:\tools\sublime\Data\Packages\ElixirSublime\elixir_sublime.py", line 160, in ensure
    session.connect()
  File "C:\tools\sublime\Data\Packages\ElixirSublime\elixir_sublime.py", line 183, in connect
    for lib_path in find_ebin_folders(self.mix_project):
  File "C:\tools\sublime\Data\Packages\ElixirSublime\elixir_sublime.py", line 82, in find_ebin_folders
    for lib in os.listdir(lib_path):
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\Michael\\Desktop\\elixir-course\\streamers\\_build/dev/lib\\*.*'

The reason of this error is that I haven't run mix run for the first time. So running this command fixed the issue.

Hope these bugs will be fixed soon and the info provided by me will be useful.

Thanks, Michael.

mupkoo commented 8 years ago

I am having the same issue

Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 359, in on_query_completions
    res = callback.on_query_completions(v, prefix, locations)
  File "/Users/Mupko/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 270, in on_query_completions
    if not session.send('COMPLETE', expand_selection(view, locations[0], aliases=aliases)):
  File "/Users/Mupko/Library/Application Support/Sublime Text 3/Packages/ElixirSublime/elixir_sublime.py", line 189, in send
    self.socket.send(str.encode(cmd))
AttributeError: 'NoneType' object has no attribute 'send'

and here is the output of Elixir

    application: logger
    exited: stopped
    type: temporary
** (Mix) Could not start application sublime_completion: exited in: SublimeCompletion.start(:normal, [])
    ** (EXIT) an exception was raised:
        ** (ArgumentError) argument error
            :erlang.binary_to_integer(nil)
            (sublime_completion) lib/sublime_completion.ex:11: SublimeCompletion.start/2
            (kernel) application_master.erl:273: :application_master.start_it_old/4

This line relates to ... System.get_env("ELIXIR_SUBLIME_PORT") |> String.to_integer .... I am trying to debug it but I don't have any experience with python.

jt3k commented 8 years ago

how to fix it ?

jt3k commented 8 years ago

bump

allonhadaya commented 8 years ago

Confirmed ST3 on Ubuntu14.04

SimpleApp commented 8 years ago

Note to the people skipping the thread and jumping directly to the end : the version provided on Package Control isn't up to date at this point. In my case i had to manually fix the "sublime_completion/mix.exs" file myself (see https://github.com/vishnevskiy/ElixirSublime/issues/18). You may want to install the plugin manually rather than rely on package control.

You may want to look at your tempdir for a ElixirSublime.log file (use "echo $TMPDIR" in terminal to find it) to troubleshoot your particular issue.