Skip to content

Troubleshooting

Ryan Slominski edited this page Jan 13, 2021 · 3 revisions

SocketException

If you see the following exception:

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. Check the file in your ACE home directory with command:

cat .elogcert | openssl x509 -noout -dates

Alternatively an admin can check logbook server log for:

Certificate Verification: Error (10): certificate has expired

NoClassDefFoundError

If you see the following error:

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:

Stackoverflow.com

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.

Clone this wiki locally