VirtualBox

Opened 8 years ago

Last modified 6 years ago

#16084 reopened defect

ssl connection incorrectly reset when using NAT — at Version 2

Reported by: exg Owned by:
Component: network/NAT Version: VirtualBox 5.0.28
Keywords: Cc:
Guest type: Linux Host type: Mac OS X

Description (last modified by Frank Mehnert)

After upgrading VirtualBox from version 5.0.26 to 5.0.28 on OS X 10.11.6, I noticed that ssl connections created in python with urllib2.urlopen are incorrectly reset on a Debian 8 guest with a single network interface in NAT mode. I attached a minimal python script that almost always fails with the following traceback:

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Failed
Traceback (most recent call last):
  File "./test.py", line 12, in <module>
    shutil.copyfileobj(xact, pipe)
  File "/usr/lib/python2.7/shutil.py", line 49, in copyfileobj
    buf = fsrc.read(length)
  File "/usr/lib/python2.7/socket.py", line 380, in read
    data = self._sock.recv(left)
  File "/usr/lib/python2.7/httplib.py", line 602, in read
    s = self.fp.read(amt)
  File "/usr/lib/python2.7/socket.py", line 380, in read
    data = self._sock.recv(left)
  File "/usr/lib/python2.7/ssl.py", line 714, in recv
    return self.read(buflen)
  File "/usr/lib/python2.7/ssl.py", line 608, in read
    v = self._sslobj.read(len or 1024)
socket.error: [Errno 104] Connection reset by peer

I also attached the tcpdump output on both the host and the guest. The issue seems to only occur when the network traffic goes through the host thunderbolt ethernet adapter. If I switch to Wi-Fi, the issue does not occur. Moreover, I am unable to reproduce the problem with curl or wget.

Change History (3)

by exg, 8 years ago

Attachment: test.py added

testcase

comment:1 by M.Poil, 8 years ago

Hi,

Same bug on 5.1.8 (Have no problem on 5.1.6), on a Windows Host (Linux as Guest)

Best regards

Last edited 8 years ago by M.Poil (previous) (diff)

comment:2 by Frank Mehnert, 8 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use