On Mon, 2019-10-28 at 15:27 +0100, Francesco Romani wrote:
On 10/28/19 3:23 PM, Brent Baude wrote:
On Mon, 2019-10-28 at 15:19 +0100, Francesco Romani wrote:
On 10/28/19 3:09 PM, Brent Baude wrote:
I'm glad to see that you are going to implement this in a golang program. That is how you are going to have to do it. I know of no other way. Hey,
thanks for your reply. Does this means it could be a podman bug?
bests,
I don't believe so. I am unaware of how to use the generic varlink tools to emulate and upgraded connection.
OK, thanks. Any other tips about how I can debug this further?
What I am saying here is that this won't work. You are going to have to implement this using golang (or python?). Exec requires a special connection referred to as "upgraded" which I don't believe can be done with the varlink clients.
These entries in the podman syslog (actually journal, but still) look suspicious:
Oct 28 09:21:09 myhost.lan conmon[8106]: conmon c24e28054f89c0a0ac9c <nwarn>: stdio_input read failed Input/output error Oct 28 09:21:09 myhost.lan conmon[8106]: conmon c24e28054f89c0a0ac9c <nwarn>: Failed to write to socket Oct 28 09:21:09 myhost.lan conmon[8106]: conmon c24e28054f89c0a0ac9c <error>: Unable to send container stderr message to parent Bad file descriptor Oct 28 09:21:09 myhost.lan podman[8087]: 2019-10-28 09:21:09.632987596 +0100 CET m=+0.247438867 container exec c24e28054f89c0a0ac9c5e3690ab0c5ef5a8b859ed51d032ae38cc618a164853 (image=docker.io/library/fedora:30, name=sad_thompson) Oct 28 09:21:09 myhost.lan podman[8087]: time="2019-10-28T09:21:09+01:00" level=debug msg="Successfully started exec session 6a1ccdea916ee245420320fa3ce02ff68ea066b8b6b7ba1534c014c15054f67c in container c24e28054f89c0a0ac9c5e3690ab0c5ef5a8b859ed51d032ae38cc618a164853" Oct 28 09:21:09 myhost.lan podman[8087]: time="2019-10-28T09:21:09+01:00" level=error msg="write unix /run/podman/io.podman->@: write: broken pipe"
My wild guess is that the client somehow exits before the podman on the other side of the varlink could reply.
Thanks,