title: java.lang.NegativeArraySizeException when using URLConnection
body: <p>I'm trying to create a Telegram bot and my code already works, but suddenly I can't start my program, as it crashes with the following error. I did not change any code or do anything.</p>
  
  <p>Perhaps this is a bug of the operating system?</p>
  
  <pre><code>Exception in thread "main" javax.net.ssl.SSLException: java.security.ProviderException: java.lang.NegativeArraySizeException
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
      at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
      at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1906)
      at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1889)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1410)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
      at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
      at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
      at test.main(test.java:10)
  Caused by: java.security.ProviderException: java.lang.NegativeArraySizeException
      at sun.security.ec.ECKeyPairGenerator.generateKeyPair(ECKeyPairGenerator.java:147)
      at java.security.KeyPairGenerator$Delegate.generateKeyPair(KeyPairGenerator.java:703)
      at sun.security.ssl.ECDHCrypt.&lt;init&gt;(ECDHCrypt.java:77)
      at sun.security.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:721)
      at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:281)
      at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
      at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
      at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
      ... 5 more
  Caused by: java.lang.NegativeArraySizeException
      at sun.security.ec.ECKeyPairGenerator.generateECKeyPair(Native Method)
      at sun.security.ec.ECKeyPairGenerator.generateKeyPair(ECKeyPairGenerator.java:128)
      ... 14 more
  </code></pre>
  
  <p>Sometimes the code results in a segmentation fault:</p>
  
  <pre><code>#
  # A fatal error has been detected by the Java Runtime Environment:
  #
  #  SIGSEGV (0xb) at pc=0x00007f2b1fb65711, pid=3982, tid=0x00007f2b2081f700
  #
  # JRE version: OpenJDK Runtime Environment (8.0_111-b16) (build 1.8.0_111-b16)
  # Java VM: OpenJDK 64-Bit Server VM (25.111-b16 mixed mode linux-amd64 compressed oops)
  # Problematic frame:
  # C  [libc.so.6+0x14f711]  __memmove_avx_unaligned_erms+0x211
  #
  # Failed to write core dump. Core dumps have been disabled. To enable core   dumping, try "ulimit -c unlimited" before starting Java again
  #
  # An error report file with more information is saved as:
  # /tmp/hs_err_pid3982.log
  #
  # If you would like to submit a bug report, please visit:
  #   http://bugreport.java.com/bugreport/crash.jsp
  #
  Aborted (luotiin core-tiedosto)
  </code></pre>
  
  <p>Minimal code to reproduce the error:</p>
  
  <pre><code>import java.net.URL;
  import java.net.URLConnection;
  import java.io.IOException;
  import java.net.MalformedURLException;
  
  class test {
      public static void main(String[] args) throws IOException, MalformedURLException {
          URL url = new URL("https://api.telegram.org/bot&lt;ID&gt;/getUpdates?offset=0");
          URLConnection c = url.openConnection();
          c.connect();
      }
  }
  </code></pre>
  
  <p>I'm running the code on Fedora 25 and OpenJDK.</p>
  
  <pre><code>$ uname -a
  Linux localhost.localdomain 4.9.5-200.fc25.x86_64 #1 SMP Fri Jan 20 12:24:16 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  $ java -version
  openjdk version "1.8.0_111"
  OpenJDK Runtime Environment (build 1.8.0_111-b16)
  OpenJDK 64-Bit Server VM (build 25.111-b16, mixed mode)
  </code></pre>