-
Notifications
You must be signed in to change notification settings - Fork 1
Troubleshooting
cat ~/.elogcert | openssl x509 -noout -dates
Note: An admin can check logbook server log for:
Certificate Verification: Error (10): certificate has expired
You can renew and download a certificate at: https://logbooks.jlab.org/user/
Username /certificates
curl --cert ~/.elogcert https://logbooks.jlab.org/authtest/
openssl s_client -cert ~./.elogcert -connect logbooks.jlab.org:443
...
GET /authtest HTTP/1.1
Watch logging output of JLog for exceptions.
If you see:
java.lang.UnsupportedClassVersionError: ...has been compiled by a more recent version of the Java Runtime...
You may be trying to use a version of the Java runtime that is older the jlog library was compiled with.
If you see:
java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
This should only happen if you are using older version of jlog. Use jlog 4.0.0 or newer or use Java 8 or earlier.
This error depends on the version of Java used. With Java 9 and Beyond JAXB (XML) is not included by default with Java. You'll have to download it separately. See:
Turns out that we only need the javax.xml.bind.DatatypeConverter class for base 64 decoding of certificates and Java 8 introduced a new Base64 utility class. So we can break compatibility with older Java by using the new class or we can create two separate builds - one for pre-Java 8 and one for post-Java 8. Or we can just leave it as is for now and you'll just need to download a new Jar file or use Java EE if using Java 11 (Java 9 and 10 can use flag --add-modules java.xml.bind since the module IS actually included, just disabled by default). What we've done is starting with jlog 4.0.0 the javax.xml.bind dependency was dropped and replaced with Java 8 Base64 class dependency.
If you see:
java.net.ProtocolException: Server rejected operation
You may be trying to use a version of jlog older than version 5.1.0 to submit log entries to newer RHEL9 log server.
If you see:
java.net.SocketException: Software caused connection abort: recv failed
OR
java.net.SocketException: Software caused connection abort: socket write error
It might be that your client certificate is expired. See: Client Certificate Expiration