ODK Collect - Error getting form list - SSL handshake aborted

What is the problem? Please be detailed.

Hi guys,

When trying to get a blank form in ODK collect I get the following error:

Error Getting Form List

Form listing failed. Parsing failed
with SSL handshake aborted:
ssl=0x5e520008: I/O error during
system call, Connection reset by
peer while accessing https://xxx.org/formList

We use a custom server that returns the formList as XML. It appears the app isn't even hitting the server endpoint though.

What ODK tool and version are you using? And on what device and operating system version?

I'm using ODK Collect v1.19.0 on Android v4.4.2 on Samsung S4 mini.

What you have you tried to fix the problem?

  • Tried restarting the device
  • Ensured that the time on device is set correctly
  • Imported certificate from server onto device
  • Tried on stable WiFi connection
  • Check server certificate in SSLabs (it has A rating)

Anything else we should know or have? If you have a test form or screenshots or logs, attach here.

This may or may not be related to TLS v1.2 not being available in Android 4.2.2. Using the URL in chrome browser on device returns the correct response.

I think your guess is correct. What happens when you try a newer Android device? If you don't have one, try the Android emulator.

It works fine on newer Android devices. I have confirmed that the fix here fixes the issue on Android 4.4.2 and have created an issue here and also a pull request that references that issue.

Thanks so much for sending in a PR, @trebla! I'm hoping we can get this into this month's release.

Thanks again, @trebla. ODK Collect v1.23 enables TLS v1.2 on older Android versions.