cmusatyalab / vmnetx

Virtual Machine Network Execution
GNU General Public License v2.0
32 stars 11 forks source link

Launching vmnetx with no network connectivity generates vague error message #46

Open dayoonc opened 11 years ago

dayoonc commented 11 years ago

When launching a .netx file with no network connection, the application fails (as it should) but presents a vague error message: "_HttpError: [Errno 2] No such file or directory". A more relevant error message relating to the lack of network should be displayed.

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/vmnetx/app.py", line 108, in run
username, password)
File "/usr/local/lib/python2.7/dist-packages/vmnetx/execute.py", line 150, in __init__
password=password)
File "/usr/local/lib/python2.7/dist-packages/vmnetx/package.py", line 380, in __init__
password=password)
File "/usr/local/lib/python2.7/dist-packages/vmnetx/package.py", line 157, in __init__
raise _HttpError(str(e))
_HttpError: [Errno 2] No such file or directory
bgilbert commented 11 years ago

On Fedora 19 with Requests 1.1.0, I'm getting:

Traceback (most recent call last):
  File "/home/bgilbert/lib/python2.7/site-packages/vmnetx/ui/__init__.py", line 105, in run
    self._controller.initialize()
  File "/home/bgilbert/lib/python2.7/site-packages/vmnetx/controller/local/__init__.py", line 295, in initialize
    username=self.username, password=self.password)
  File "/home/bgilbert/lib/python2.7/site-packages/vmnetx/package.py", line 380, in __init__
    password=password)
  File "/home/bgilbert/lib/python2.7/site-packages/vmnetx/package.py", line 157, in __init__
    raise _HttpError(str(e))
_HttpError: [Errno -2] Name or service not known

Interestingly, "Errno -2" is "Errno 2" with a minus sign added.

Is this reproducible for you? What version of Requests are you running?

dayoonc commented 11 years ago

Running on Ubuntu 13.04 with requests 1.1.0-1, I am getting the same message in the original bug filing:

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/vmnetx/ui/__init__.py", line 105, in run
  self._controller.initialize()
File "/usr/local/lib/python2.7/dist-packages/vmnetx/controller/local/__init__.py", line 295, in initialize
  username=self.username, password=self.password)
File "/usr/local/lib/python2.7/dist-packages/vmnetx/package.py", line 380, in __init__
  password=password)
File "/usr/local/lib/python2.7/dist-packages/vmnetx/package.py", line 157, in __init__
  raise _HttpError(str(e))
_HttpError: [Errno 2] No such file or directory

There is no - sign in front of the 2. Also, not sure if this is relevant, but it looks like the actual error message is different as well: "Name or service not known" versus "No such file or directory".

bgilbert commented 11 years ago

Right, that was my point. If -2 is the correct error, something in your library stack may be dropping the minus sign. 2 is indeed ENOENT.

bgilbert commented 11 years ago

Unwinding the nested exceptions, it seems that the Errno 2 is coming directly from the getaddrinfo call in socket.create_connection, so this message is not due to a VMNetX bug.