Issue2365

classification
Title: Jython/pip javax.net.ssl.SSLException: handshake timed out
Type: behaviour Severity: major
Components: Core Versions: Jython 2.7
Milestone:
process
Status: closed Resolution: works for me
Dependencies: Superseder:
Assigned To: Nosy List: alexgs, jeff.allen, zyasoft
Priority: Keywords:

Created on 2015-05-31.19:49:36 by alexgs, last changed 2015-11-10.16:30:10 by zyasoft.

Files
File name Uploaded Description Edit Remove
unnamed alexgs, 2015-06-04.21:33:07
unnamed alexgs, 2015-06-04.22:50:54
unnamed alexgs, 2015-07-07.21:44:04
Messages
msg10093 (view) Author: AlexGS (alexgs) Date: 2015-05-31.19:49:35
Attempted to install requests and got this error:

[root@lab ~]# /opt/jython2.7.0/bin/pip install requests
Downloading/unpacking requests
Got this failure javax.net.ssl.SSLException: handshake timed out during SSL handshake (<_realsocket at 0x216 type=client open_count=1 channel=[id: 0xd2854932, /192.168.1.10:60386 => pypi.python.org/23.235.46.223:443] timeout=15.0>)
Got this failure javax.net.ssl.SSLException: handshake timed out during SSL handshake (<_realsocket at 0x217 type=client open_count=1 channel=[id: 0x4203ec5f, /192.168.1.10:54679 => pypi.python.org/23.235.46.223:443] timeout=15.0>)
  Cannot fetch index base URL https://pypi.python.org/simple/
Got this failure javax.net.ssl.SSLException: handshake timed out during SSL handshake (<_realsocket at 0x218 type=client open_count=1 channel=[id: 0xd41cc95e, 0.0.0.0/0.0.0.0:43107 :> pypi.python.org/23.235.46.223:443] timeout=15.0>)
  Could not find any downloads that satisfy the requirement requests
Cleaning up...
No distributions at all found for requests
Storing debug log for failure in /root/.pip/pip.log
msg10095 (view) Author: Jim Baker (zyasoft) Date: 2015-06-03.16:26:01
Works for me:

$ ~/jython2.7.0/bin/pip install requests
Downloading/unpacking requests
  Downloading requests-2.7.0-py2.py3-none-any.whl (470kB): 470kB downloaded
Installing collected packages: requests
Successfully installed requests
Cleaning up...

There are a number of ways the SSL handshake could go wrong, and we almost certainly need to provide better diagnostic information when it does fail. We could start by systematically testing failures that we can induce, such as testing with a bad CA certificate.
msg10096 (view) Author: Jeff Allen (jeff.allen) Date: 2015-06-03.17:17:58
Fails for me on Windows, but because os.geteuid() is not defined.
msg10098 (view) Author: Jim Baker (zyasoft) Date: 2015-06-03.17:49:37
On Windows 8.1, running under VMWare Fusion:

c:\jython2.7.0>bin\pip install requests
Downloading/unpacking requests
  Downloading requests-2.7.0-py2.py3-none-any.whl (470kB): 470kB downloaded
Installing collected packages: requests
Successfully installed requests
Cleaning up...

c:\jython2.7.0>bin\jython
Jython 2.7.0 (default:9987c746f838, Apr 29 2015, 02:25:11)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_55
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.geteuid
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'geteuid'

I would not expect os.geteuid to be defined. Not certain what is causing the problem that Jeff reported - maybe a more detailed traceback would help.
msg10099 (view) Author: AlexGS (alexgs) Date: 2015-06-04.21:33:08
What kind of tests should I be running to gather some more detailed debug
information?

On Wed, Jun 3, 2015 at 1:49 PM, Jim Baker <report@bugs.jython.org> wrote:

>
> Jim Baker added the comment:
>
> On Windows 8.1, running under VMWare Fusion:
>
> c:\jython2.7.0>bin\pip install requests
> Downloading/unpacking requests
>   Downloading requests-2.7.0-py2.py3-none-any.whl (470kB): 470kB downloaded
> Installing collected packages: requests
> Successfully installed requests
> Cleaning up...
>
> c:\jython2.7.0>bin\jython
> Jython 2.7.0 (default:9987c746f838, Apr 29 2015, 02:25:11)
> [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_55
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import os
> >>> os.geteuid
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> AttributeError: 'module' object has no attribute 'geteuid'
>
> I would not expect os.geteuid to be defined. Not certain what is causing
> the problem that Jeff reported - maybe a more detailed traceback would help.
>
> _______________________________________
> Jython tracker <report@bugs.jython.org>
> <http://bugs.jython.org/issue2365>
> _______________________________________
>
msg10101 (view) Author: AlexGS (alexgs) Date: 2015-06-04.22:50:54
Okay, so I ran a test on CentOS 7 minimal using both the JDK 1.7.0 and JDK
1.8.0 and both got successful installs, while I got errors on Fedora 22.  I
think this might be a version error, see details of libs installed:

Fedora 22:
java-1.8.0-openjdk.x86_64               1:1.8.0.45-39.b14.fc22
openssl.x86_64                          1:1.0.1k-8.fc22
openssl-libs.x86_64                          1:1.0.1k-8.fc22

CentOS 7:
java-1.8.0-openjdk.x86_64               1:1.8.0.45-30.b13.el7_1
openssl.x86_64                          1:1.0.1e-42.el7
openssl-libs.x86_64                          1:1.0.1e-42.el7

Hopefully this helps...

On Thu, Jun 4, 2015 at 5:33 PM, AlexGS <report@bugs.jython.org> wrote:

>
> AlexGS added the comment:
>
> What kind of tests should I be running to gather some more detailed debug
> information?
>
> On Wed, Jun 3, 2015 at 1:49 PM, Jim Baker <report@bugs.jython.org> wrote:
>
> >
> > Jim Baker added the comment:
> >
> > On Windows 8.1, running under VMWare Fusion:
> >
> > c:\jython2.7.0>bin\pip install requests
> > Downloading/unpacking requests
> >   Downloading requests-2.7.0-py2.py3-none-any.whl (470kB): 470kB
> downloaded
> > Installing collected packages: requests
> > Successfully installed requests
> > Cleaning up...
> >
> > c:\jython2.7.0>bin\jython
> > Jython 2.7.0 (default:9987c746f838, Apr 29 2015, 02:25:11)
> > [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_55
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>> import os
> > >>> os.geteuid
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> > AttributeError: 'module' object has no attribute 'geteuid'
> >
> > I would not expect os.geteuid to be defined. Not certain what is causing
> > the problem that Jeff reported - maybe a more detailed traceback would
> help.
> >
> > _______________________________________
> > Jython tracker <report@bugs.jython.org>
> > <http://bugs.jython.org/issue2365>
> > _______________________________________
> >
>
> Added file: http://bugs.jython.org/file1509/unnamed
>
> _______________________________________
> Jython tracker <report@bugs.jython.org>
> <http://bugs.jython.org/issue2365>
> _______________________________________
>
msg10102 (view) Author: Jim Baker (zyasoft) Date: 2015-06-05.03:01:02
Alex, that's very helpful. I've been planning on putting together a Fedora 22 system, so this is additional motivation.
msg10147 (view) Author: AlexGS (alexgs) Date: 2015-07-07.21:44:05
What's the status of this bug, anything else I should do?

On Thu, Jun 4, 2015 at 11:01 PM, Jim Baker <report@bugs.jython.org> wrote:

>
> Jim Baker added the comment:
>
> Alex, that's very helpful. I've been planning on putting together a Fedora
> 22 system, so this is additional motivation.
>
> _______________________________________
> Jython tracker <report@bugs.jython.org>
> <http://bugs.jython.org/issue2365>
> _______________________________________
>
msg10200 (view) Author: Jim Baker (zyasoft) Date: 2015-09-02.00:56:06
Other obligations have interfered. But time now to revisit.
msg10400 (view) Author: Jim Baker (zyasoft) Date: 2015-10-29.02:04:40
I finally set up a Fedora 22 system with a very recent Java 8:

[jbaker@spear ~]$ java -version
openjdk version "1.8.0_60"
OpenJDK Runtime Environment (build 1.8.0_60-b27)
OpenJDK 64-Bit Server VM (build 25.60-b23, mixed mode)

I next built from Jython trunk (as of https://hg.python.org/jython/rev/93c09145137e) a Jython installer jar, and installed it. This has the latest upstream pip and setuptools as part of ensurepip bundling; and also has updates to SSL:

$ java -jar jython-installer.jar -s -d ~/jython2.7.1
Performing silent installation
 10 %
 20 %
 30 %
 40 %
 50 %
 60 %
 70 %
Generating start scripts ...
Installing pip and setuptools
 90 %
Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-7.1.2 setuptools-18.4
 100 %
Congratulations! You successfully installed Jython 2.7.1b2 to directory /home/jbaker/jython2.7.1.

Then I installed requests with the bundled pip:

$ ~/jython2.7.1/bin/jython -m pip install requests
Collecting requests
  Downloading requests-2.8.1-py2.py3-none-any.whl (497kB)
    100% |████████████████████████████████| 499kB 70kB/s 
Installing collected packages: requests
Successfully installed requests-2.8.1

I also tried with the Jython 2.7.0 release:

$ java -jar ~/Downloads/jython-installer-2.7.0.jar -s -d ~/jython2.7.0
Performing silent installation
 10 %
 20 %
 30 %
 40 %
 50 %
 60 %
 70 %
Generating start scripts ...
Installing pip and setuptools
 90 %
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking setuptools
Downloading/unpacking pip
Installing collected packages: setuptools, pip
Successfully installed setuptools pip
Cleaning up...
 100 %
Congratulations! You successfully installed Jython 2.7.0 to directory /home/jbaker/jython2.7.0.

$ ~/jython2.7.0/bin/jython -m pip install requests
Downloading/unpacking requests
  Downloading requests-2.8.1-py2.py3-none-any.whl (497kB): 497kB downloaded
Installing collected packages: requests
Successfully installed requests
Cleaning up...

So I'm unable to reproduce the issue. Is it because of subsequent Fedora 22 patches (I need to install a few more after I submit this message...)? A more recent Java 8 - build 65 vs build 45? The one thing we see is it not a change in Jython 2.7.0 vs what will soon be 2.7.1.

It's going to be hard to pin down. I cannot reproduce.

Note that the os.geteuid problem that Jeff Allen pointed out is tracked in #2360, which should be fixed.
History
Date User Action Args
2015-11-10 16:30:10zyasoftsetstatus: pending -> closed
2015-10-29 02:04:41zyasoftsetstatus: open -> pending
resolution: works for me
messages: + msg10400
2015-09-02 00:56:06zyasoftsetmessages: + msg10200
2015-07-07 21:44:05alexgssetfiles: + unnamed
messages: + msg10147
2015-06-05 03:01:03zyasoftsetmessages: + msg10102
2015-06-04 22:50:54alexgssetfiles: + unnamed
messages: + msg10101
2015-06-04 21:33:09alexgssetfiles: + unnamed
messages: + msg10099
2015-06-03 17:49:38zyasoftsetmessages: + msg10098
2015-06-03 17:17:58jeff.allensetnosy: + jeff.allen
messages: + msg10096
2015-06-03 16:26:02zyasoftsetnosy: + zyasoft
messages: + msg10095
2015-05-31 19:49:36alexgscreate