unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#21918: 'visudo' non-deterministic (sudo 1.8.15)
@ 2015-11-14 15:45 Ludovic Courtès
  2015-11-15 23:47 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2015-11-14 15:45 UTC (permalink / raw)
  To: 21918

The ‘visudo’ bits can differ depending on the phase of moon.

In Diffoscope we see a tiny difference in its .rodata section:

--8<---------------cut here---------------start------------->8---
7241 	Contents·​of·​section·​.​rodata:​ 	7241 	Contents·​of·​section·​.​rodata:​
7242 	·​1c580·​01000200·​65646974·​6f722e63·​00200900·​·​.​.​.​.​editor.​c.​·​.​.​ 	7242 	·​1c580·​01000200·​65646974·​6f722e63·​00200900·​·​.​.​.​.​editor.​c.​·​.​.​
7243 	·​1c590·​756e6162·​6c652074·​6f20616c·​6c6f6361·​·​unable·​to·​alloca 	7243 	·​1c590·​756e6162·​6c652074·​6f20616c·​6c6f6361·​·​unable·​to·​alloca
7244 	·​1c5a0·​7465206d·​656d6f72·​79002d2d·​00726573·​·​te·​memory.​-​-​.​res 	7244 	·​1c5a0·​7465206d·​656d6f72·​79002d2d·​00726573·​·​te·​memory.​-​-​.​res
7245 	·​1c5b0·​6f6c7665·​5f656469·​746f7200·​2e2f6669·​·​olve_editor.​.​/​fi 	7245 	·​1c5b0·​6f6c7665·​5f656469·​746f7200·​66696e64·​·​olve_editor.​find
7246 	·​1c5c0·​6e645f70·​6174682e·​63003a00·​252e2a73·​·​nd_path.​c.​:​.​%.​*s 	7246 	·​1c5c0·​5f706174·​682e6300·​3a00252e·​2a732f25·​·​_path.​c.​:​.​%.​*s/​%
--8<---------------cut here---------------end--------------->8---

On the left-hand side, we see “./find_path.c”; on the right-hand side,
it’s just “find_path.c”.

Looking at the build logs, we have:

--8<---------------cut here---------------start------------->8---
/gnu/store/311nvir0pz1mhf0mgsmfrw00qfj7yq0j-bash-4.3.39/bin/bash ../../libtool  --mode=compile gcc -std=gnu99 -c -I../../include -I../.. -I. -I. -I../.. -DLIBDIR=\"/gnu/store/chyca85i2xfib5c5inj1bd6sq5vl56in-sudo-1.8.15/lib\" -DLOCALEDIR=\"/gnu/store/chyca85i2xfib5c5inj1bd6sq5vl56in-sudo-1.8.15/share/locale\" -D_PATH_SUDOERS=\"/etc/sudoers\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 -D_PATH_MV='"/gnu/store/mnwjrkbfzkb5ifhqf8hssf3cxfvg11l6-coreutils-8.24/bin/mv"' -D_FORTIFY_SOURCE=2 -g -O2 -fvisibility=hidden -fPIE -fstack-protector-strong ./find_path.c
--8<---------------cut here---------------end--------------->8---

versus:

--8<---------------cut here---------------start------------->8---
/gnu/store/311nvir0pz1mhf0mgsmfrw00qfj7yq0j-bash-4.3.39/bin/bash ../../libtool  --mode=compile gcc -std=gnu99 -c -I../../include -I../.. -I. -I. -I../.. -DLIBDIR=\"/gnu/store/chyca85i2xfib5c5inj1bd6sq5vl56in-sudo-1.8.15/lib\" -DLOCALEDIR=\"/gnu/store/chyca85i2xfib5c5inj1bd6sq5vl56in-sudo-1.8.15/share/locale\" -D_PATH_SUDOERS=\"/etc/sudoers\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 -D_PATH_MV='"/gnu/store/mnwjrkbfzkb5ifhqf8hssf3cxfvg11l6-coreutils-8.24/bin/mv"' -D_FORTIFY_SOURCE=2 -g -O2 -fvisibility=hidden -fPIE -fstack-protector-strong ./find_path.c

[…]

gcc -std=gnu99 -c -I../../include -I../.. -I. -I. -I../.. -DLIBDIR=\"/gnu/store/chyca85i2xfib5c5inj1bd6sq5vl56in-sudo-1.8.15/lib\" -DLOCALEDIR=\"/gnu/store/chyca85i2xfib5c5inj1bd6sq5vl56in-sudo-1.8.15/share/locale\" -D_PATH_SUDOERS=\"/etc/sudoers\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 -D_PATH_MV='"/gnu/store/mnwjrkbfzkb5ifhqf8hssf3cxfvg11l6-coreutils-8.24/bin/mv"' -D_FORTIFY_SOURCE=2 -g -O2 -fvisibility=hidden -fPIE -fstack-protector-strong find_path.c
--8<---------------cut here---------------end--------------->8---

(See
<http://hydra.gnu.org/log/chyca85i2xfib5c5inj1bd6sq5vl56in-sudo-1.8.15>.)

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#21918: 'visudo' non-deterministic (sudo 1.8.15)
  2015-11-14 15:45 bug#21918: 'visudo' non-deterministic (sudo 1.8.15) Ludovic Courtès
@ 2015-11-15 23:47 ` Ludovic Courtès
  2020-03-22 21:17   ` Leo Famulari
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2015-11-15 23:47 UTC (permalink / raw)
  To: 21918

[-- Attachment #1: Type: text/plain, Size: 669 bytes --]

Building things with -j1 (commit 511495f) doesn’t help.  This time,
‘visudo’ ends up with a similar difference:

--8<---------------cut here---------------start------------->8---
7241 	Contents·​of·​section·​.​rodata:​ 	7241 	Contents·​of·​section·​.​rodata:​
7242 	·​1c580·​01000200·​2e2f6564·​69746f72·​2e630020·​·​.​.​.​.​.​/​editor.​c.​·​ 	7242 	·​1c580·​01000200·​65646974·​6f722e63·​00200900·​·​.​.​.​.​editor.​c.​·​.​.​
--8<---------------cut here---------------end--------------->8---

The two build logs show one interesting difference:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 3020 bytes --]

@@ -1198,6 +1201,7 @@ case "" in \
 esac
 libtool: link: gcc -shared  -fPIC -DPIC  .libs/sudo_auth.o .libs/pam.o .libs/boottime.o .libs/check.o .libs/editor.o .libs/env.o .libs/find_path.o .libs/goodpath.o .libs/group_plugin.o .libs/interfaces.o .libs/iolog.o .libs/iolog_path.o .libs/locale.o .libs/logging.o .libs/logwrap.o .libs/parse.o .libs/policy.o .libs/prompt.o .libs/set_perms.o .libs/sudo_nss.o .libs/sudoers.o .libs/timestamp.o  -Wl,--whole-archive ./.libs/libparsesudoers.a -Wl,--no-whole-archive  -Wl,-rpath -Wl,/gnu/store/ijjmxqjbq6pxlimajzifi2r77dq41h01-linux-pam-1.2.1/lib -Wl,-rpath -Wl,/tmp/nix-build-sudo-1.8.15.drv-0/sudo-1.8.15/lib/util/.libs -Wl,-rpath -Wl,/gnu/store/ijjmxqjbq6pxlimajzifi2r77dq41h01-linux-pam-1.2.1/lib -Wl,-rpath -Wl,/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/libexec/sudo /gnu/store/ijj
 mxqjbq6pxlimajzifi2r77dq41h01-linux-pam-1.2.1/lib/libpam.so ../../lib/util/.libs/libsudo_util.so -ldl  -Wl,-z -Wl,relro -fstack-protector-strong   -Wl,-soname -Wl,sudoers.so -o .libs/sudoers.so
 libtool: link: ( cd ".libs" && rm -f "sudoers.la" && ln -s "../sudoers.la" "sudoers.la" )
+gcc -std=gnu99 -c -I../../include -I../.. -I. -I. -I../.. -DLIBDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/lib\" -DLOCALEDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/share/locale\" -D_PATH_SUDOERS=\"/etc/sudoers\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 -D_PATH_MV='"/gnu/store/mnwjrkbfzkb5ifhqf8hssf3cxfvg11l6-coreutils-8.24/bin/mv"' -D_FORTIFY_SOURCE=2 -g -O2 -fvisibility=hidden -fPIE -fstack-protector-strong editor.c
 gcc -std=gnu99 -c -I../../include -I../.. -I. -I. -I../.. -DLIBDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/lib\" -DLOCALEDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/share/locale\" -D_PATH_SUDOERS=\"/etc/sudoers\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 -D_PATH_MV='"/gnu/store/mnwjrkbfzkb5ifhqf8hssf3cxfvg11l6-coreutils-8.24/bin/mv"' -D_FORTIFY_SOURCE=2 -g -O2 -fvisibility=hidden -fPIE -fstack-protector-strong find_path.c
 gcc -std=gnu99 -c -I../../include -I../.. -I. -I. -I../.. -DLIBDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/lib\" -DLOCALEDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/share/locale\" -D_PATH_SUDOERS=\"/etc/sudoers\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 -D_PATH_MV='"/gnu/store/mnwjrkbfzkb5ifhqf8hssf3cxfvg11l6-coreutils-8.24/bin/mv"' -D_FORTIFY_SOURCE=2 -g -O2 -fvisibility=hidden -fPIE -fstack-protector-strong ./sudo_printf.c
 gcc -std=gnu99 -c -I../../include -I../.. -I. -I. -I../.. -DLIBDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/lib\" -DLOCALEDIR=\"/gnu/store/5hvzy6kmr60m1psgz5m8ggw6w3y1xljf-sudo-1.8.15/share/locale\" -D_PATH_SUDOERS=\"/etc/sudoers\" -DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440 -D_PATH_MV='"/gnu/store/mnwjrkbfzkb5ifhqf8hssf3cxfvg11l6-coreutils-8.24/bin/mv"' -D_FORTIFY_SOURCE=2 -g -O2 -fvisibility=hidden -fPIE -fstack-protector-strong ./visudo.c

[-- Attachment #3: Type: text/plain, Size: 192 bytes --]


The file ‘editor.c’ is compiled several times.  It looks as if whether
that extra compilation step (in plugins/sudoers/) was made was based on
a non-deterministic choice.

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#21918: 'visudo' non-deterministic (sudo 1.8.15)
  2015-11-15 23:47 ` Ludovic Courtès
@ 2020-03-22 21:17   ` Leo Famulari
  0 siblings, 0 replies; 3+ messages in thread
From: Leo Famulari @ 2020-03-22 21:17 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 21918-done

Building sudo with --rounds=5 is working now. Closing the bug

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-22 21:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-14 15:45 bug#21918: 'visudo' non-deterministic (sudo 1.8.15) Ludovic Courtès
2015-11-15 23:47 ` Ludovic Courtès
2020-03-22 21:17   ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).