polkit-org / polkit

polkit (formerly PolicyKit) is a toolkit for defining and handling authorizations. It is used for allowing unprivileged processes to speak to privileged processes.
Other
58 stars 29 forks source link

Some tests are segfaulting on musl libc #135

Open polkit-github-migration-bot opened 3 years ago

polkit-github-migration-bot commented 3 years ago

In gitlab.freedesktop.org by ericonr on Jan 25, 2021, 15:55

Link to the original issue: https://gitlab.freedesktop.org/polkit/polkit/-/issues/134 Hi! I'm updating Void Linux's polkit package to 0.118, but unfortunately the test suite doesn't seem to be working quite right on our musl version. You can see this here:

make[3]: Entering directory '/builddir/polkit-0.118/test/polkit'
make[4]: Entering directory '/builddir/polkit-0.118/test/polkit'
../../test-driver: line 107: 18591 Segmentation fault      (core dumped) "$@" > $log_file 2>&1
FAIL: polkitunixusertest
../../test-driver: line 107: 18615 Segmentation fault      (core dumped) "$@" > $log_file 2>&1
FAIL: polkitunixgrouptest
PASS: polkitunixnetgrouptest
../../test-driver: line 107: 18663 Segmentation fault      (core dumped) "$@" > $log_file 2>&1
FAIL: polkitidentitytest

If I run each test manually, I get the following:

$ masterdir/builddir/polkit-0.118/test/polkit/polkitunixusertest
# random seed: R02S8bf70f0aa24b4e08010f267f676ba989
1..3
# Start of PolkitUnixUser tests
ok 1 /PolkitUnixUser/new
**
ERROR:polkitunixusertest.c:69:test_new_for_name: assertion failed: (user)
Bail out! ERROR:polkitunixusertest.c:69:test_new_for_name: assertion failed: (user)
fish: 'masterdir/builddir/polkit-0.118…' terminated by signal SIGABRT (Abortado)

$ masterdir/builddir/polkit-0.118/test/polkit/polkitunixgrouptest
# random seed: R02Sb30fd7fb6950b7a891c2eec70b143d06
1..3
# Start of PolkitUnixGroup tests
ok 1 /PolkitUnixGroup/new
ok 2 /PolkitUnixGroup/new_for_name
ok 3 /PolkitUnixGroup/set_gid
# End of PolkitUnixGroup tests

$ masterdir/builddir/polkit-0.118/test/polkit/polkitidentitytest
# random seed: R02S96ed74c8defd14d57f86ea2ae90c5054
1..21
# Start of PolkitIdentity tests
ok 1 /PolkitIdentity/user_string_0
**
ERROR:polkitidentitytest.c:48:test_string: assertion failed: (identity)
Bail out! ERROR:polkitidentitytest.c:48:test_string: assertion failed: (identity)
fish: 'masterdir/builddir/polkit-0.118…' terminated by signal SIGABRT (Abortado)

I don't really understand why the identity test fails when run via make but works fine when run manually, either. I'd appreciate any help in debugging this, thanks!

polkit-github-migration-bot commented 3 years ago

In gitlab.freedesktop.org by ericonr on Jan 25, 2021, 16:02

Ah, I think the tests somehow preload a mock libc, which would explain the difference in some tests.