I had this same problem.
Here is the stack obtained with strace :
write(2, "Unknown IO error\n", 17Unknown IO error
) = 17
> /usr/lib64/libc-2.17.so(write+0x10) [0xefba0]
> /usr/lib64/libc-2.17.so(_IO_file_write@@GLIBC_2.2.5+0x42) [0x7a2f2]
> /usr/lib64/libc-2.17.so(_IO_file_xsputn@@GLIBC_2.2.5+0x1ef) [0x7ab8f]
> /usr/lib64/libc-2.17.so(buffered_vfprintf+0x11c) [0x4decc]
> /usr/lib64/libc-2.17.so(vfprintf+0x21d) [0x4881d]
> /usr/lib64/libc-2.17.so(__vfprintf_chk+0x7c) [0x11661c]
> /usr/lib64/libxml2.so.2.9.1(xmlGenericErrorDefaultFunc+0xb2) [0x34572]
> /usr/lib64/libxml2.so.2.9.1(xmlReportError+0x1cd) [0x3477d]
> /usr/lib64/libxml2.so.2.9.1(__xmlRaiseError+0x757) [0x363a7]
> /usr/lib64/libxml2.so.2.9.1(__xmlSimpleError+0x6a) [0x364ea]
> /usr/lib64/libxml2.so.2.9.1(xmlNanoHTTPScanProxy+0x75) [0xa1605]
> /usr/lib64/libxml2.so.2.9.1(xmlNanoHTTPInit+0x5c) [0xa16bc]
> /usr/lib64/libxmlsec1.so.1.2.20(xmlSecIOInit+0x1f) [0x1ef8f]
> /usr/lib64/libxmlsec1.so.1.2.20(xmlSecInit+0xd) [0x45c2d]
...application
Looking at this and the code, I have found this is a problem with the http_proxy
variable parsing and my variable having the wrong syntax.
The problem can be reproduced with the following command :
http_proxy=proxy:1234 xmlsec1 --list-transforms
This is on Ubuntu 21.10 and libxml2:amd64 2.9.12+dfsg-4
Using the right syntax of course fix the problem
http_proxy=http://proxy:1234 xmlsec1 --list-transforms
The error message could be better though.