Google Groups | whatever | 5 years ago
  1. 0

    Java and slow connection using Axis

    Google Groups | 5 years ago | whatever
  2. 0

    is java.util.UUID thread safe?

    Stack Overflow | 5 years ago | Abhishek Gayakwad
  3. 0

    Have encountered some reports of slow slave performance on a Unix master using many slaves where the thread dumps show all but one slave connection thread waiting for a single lock, which is held by a thread that looks like this: {code:none} "Pipe writer thread: ..." - Thread ... java.lang.Thread.State: RUNNABLE at$RandomIO.implNextBytes( - locked <598aec0c> (a java.lang.Object) at$RandomIO.access$200( at at - locked <329129da> (a at at java.util.Random.nextInt( at com.trilead.ssh2.transport.TransportConnection.sendMessage( {code} From what I can tell neither the Jenkins SSH Slaves plugin nor the Trilead SSH library are to blame, as they produce a different {{SecureRandom}} instance for each slave. Rather it is {{NativePRNG}} (the default implementation on typical Linux installations among others) which uses a global lock, to synchronize access to {{/dev/random}} and {{/dev/urandom}}; and {{random}} can block waiting for sufficient entropy to accumulate. It might help for the SSH Slaves plugin to offer a {{}} based on {{}}, which does not acquire a global lock to process connection data. (It may take longer to set up a connection, since it needs to seed the random-number generator based on thread activity.) Unconfirmed workarounds: * Edit the JRE's {{$JAVA_HOME/lib/security/}} to comment out the line {{securerandom.source=file}}{{:/dev/urandom}} (should switch back to the generic implementation) * Running {{}}{{:/dev/./urandom}} (should force use of {{urandom}} which is supposed to be nonblocking)

    Jenkins JIRA | 3 years ago | Jesse Glick
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

    Root Cause Analysis


      No message provided

    2. Java RT
      2. java.util.Random.nextLong(
      5 frames
    3. Axis Web Services
      1. org.apache.axis.MessageContext.<init>(
      2. org.apache.axis.client.Call.<init>(
      3. org.apache.axis.client.Service.createCall(
      4. org.apache.axis.client.Stub._createCall(
      4 frames