Page MenuHomePhabricator

Test torture_proxycommand fails on ubuntu 18.04
Open, Needs TriagePublic

Description

The two tests "torture_options_set_proxycommand_ssh" and "torture_options_set_proxycommand_ssh_stderr" fail to run on ubuntu. I pinned this down to the ssh client, being used as a proxycommand, believing we're running as root and not finding the appropriate files.
I wrote a workaround for running the other test cases on my system in https://gitlab.com/arisada/libssh-mirror/commit/d4428a1d9f351987406988a356a5d47317d13ae3
Basically it creates an environment for the root user.

I created another test case to check if we're running as user bob. To my surprise, most of the environments in the test infrastructure also report getuid() = 0.
https://gitlab.com/arisada/libssh-mirror/commit/f8d1662f17ca9693e43cae83f20e1569f27db7cf

I don't understand why it works there. I moved these two patches to the separate branch because I don't want to merge them into master until we've understood the root cause.

Event Timeline

aris created this task.Thu, Nov 21, 4:14 PM
Jakuje added a subscriber: Jakuje.Thu, Nov 21, 6:29 PM

Congratulation to the issue #200 :)

Your test is interesting. It actually looks like it is failing also in Fedora builds, while the tests pass correctly there, while the test works in Suse. I am wondering whether this is not actually some issue even with the UID wrapper, which could fail to intercept some of the sycalls, the context gets lost somewhere with the ctest threads or whatever ...

aris added a subscriber: asn.Fri, Nov 22, 9:46 AM

@asn mentioned on IRC a bug in libuidwrapper that was caused by a particular/weird implementation of libpam. I have no clue how to debug this problem.