brown-uk / dict_uk

Project to generate POS tag dictionary for Ukrainian language
GNU General Public License v3.0
561 stars 73 forks source link

Error upon building with Ubuntu 17.10 jdk 9 #151

Closed k-bx closed 6 years ago

k-bx commented 6 years ago

Hi. I'm trying to build this on Ubuntu 17.10 with JDK 9. I've installed openjdk-9-jdk package, but running the build command gives:

kb in ~/workspace/dict_uk (master●)   
$ ./gradlew expand                    
Downloading https://services.gradle.org/distributions/gradle-3.3-bin.zip     

Exception in thread "main" javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:214)                                                                             
        at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)                                                                        
        at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921)                                                                        
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1904)                                                              
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1436)                                                               
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)                                                               
        at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)                                                            
        at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)                   
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1563)                                             
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1491)                                              
        at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:236)                                    
        at org.gradle.wrapper.Download.downloadInternal(Download.java:60)    
        at org.gradle.wrapper.Download.download(Download.java:45)            
        at org.gradle.wrapper.Install$1.call(Install.java:62)                
        at org.gradle.wrapper.Install$1.call(Install.java:48)                
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)                                                       
        at org.gradle.wrapper.Install.createDist(Install.java:48)            
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)                                                                           
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)                                                                           
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty   
        at java.base/sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:89)                                                                   
        at java.base/sun.security.validator.Validator.getInstance(Validator.java:181)                                                                     
        at java.base/sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:330)                                                    
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:180)                                                
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:192)                                                    
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:133)                                              
        at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1825)                                                       
        at java.base/sun.security.ssl.ClientHandshaker.certificateStatus(ClientHandshaker.java:1676)                                                      
        at java.base/sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:272)                                                          
        at java.base/sun.security.ssl.Handshaker.processLoop(Handshaker.java:1086)                                                                        
        at java.base/sun.security.ssl.Handshaker.processRecord(Handshaker.java:1020)                                                                      
        at java.base/sun.security.ssl.SSLSocketImpl.processInputRecord(SSLSocketImpl.java:1137)                                                           
        at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1074)                                                                   
        at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)                                                                    
        at java.base/sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1402)                                                      
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1429)                                                               
        ... 14 more                   
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty                                                 
        at java.base/java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)                                                           
        at java.base/java.security.cert.PKIXParameters.<init>(PKIXParameters.java:120)                                                                    
        at java.base/java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:104)                                                      
        at java.base/sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:86)                                                                   
        ... 29 more                   
arysin commented 6 years ago

Hmm, this looks like problem with jdk9 as I see other people hit similar issues: https://github.com/docker-library/openjdk/issues/145

Unfortunately I am travelling right now, will try to look closer at this when I am back in a week.

k-bx commented 6 years ago

@arysin no worries, thanks for looking into. The Dockerfile seems to solve the issue for now (it has one minor bug with encoding in one phrase, but that's minor)

arysin commented 6 years ago

I've updated gradle wrapper to 4.6, can you please check if it helps? Thanks

k-bx commented 6 years ago

Nothing changed, unfortunately. Btw I now have openjdk-8-jre (not 9).

k-bx commented 6 years ago
kb in ~/workspace/dict_uk (master) 
$ ./gradlew expand                                                                              
Downloading https://services.gradle.org/distributions/gradle-4.6-bin.zip

Exception in thread "main" javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:214)
        at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)
        at java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1904)
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1436)
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
        at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
        at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1563)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1491)
        at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:236)
        at org.gradle.wrapper.Download.downloadInternal(Download.java:66)
        at org.gradle.wrapper.Download.download(Download.java:51)
        at org.gradle.wrapper.Install$1.call(Install.java:62)
        at org.gradle.wrapper.Install$1.call(Install.java:48)
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
        at org.gradle.wrapper.Install.createDist(Install.java:48)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:89)
        at java.base/sun.security.validator.Validator.getInstance(Validator.java:181)
        at java.base/sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:330)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:180)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:192)
        at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:133)
        at java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1825)
        at java.base/sun.security.ssl.ClientHandshaker.certificateStatus(ClientHandshaker.java:1676)
        at java.base/sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:272)
        at java.base/sun.security.ssl.Handshaker.processLoop(Handshaker.java:1086)
        at java.base/sun.security.ssl.Handshaker.processRecord(Handshaker.java:1020)
        at java.base/sun.security.ssl.SSLSocketImpl.processInputRecord(SSLSocketImpl.java:1137)
        at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1074)
        at java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
        at java.base/sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1402)
        at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1429)
        ... 14 more
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.base/java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)
        at java.base/java.security.cert.PKIXParameters.<init>(PKIXParameters.java:120)
        at java.base/java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:104)
        at java.base/sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:86)
        ... 29 more
arysin commented 6 years ago

в одному з обговорень кажуть таке може допомогти: sudo update-ca-certificates -f

arysin commented 6 years ago

або таке: sudo apt-get install ca-certificates ca-certificates-java

mikaelhg commented 6 years ago

See https://gist.github.com/mikaelhg/527204e746984cf9a33f7910bb8b4cb6

arysin commented 6 years ago

Thanks, so the problem is external, we can close this issue?

k-bx commented 6 years ago

Sure, closing.