[RFC,v2,0/2] Remove --enable-obsolete-nsl --enable-obsolete-rpc

Message ID 20200605165355.27797-1-pvorel@suse.cz
Headers
Series Remove --enable-obsolete-nsl --enable-obsolete-rpc |

Message

Petr Vorel June 5, 2020, 4:53 p.m. UTC
  Hi,

I'm still having issues with elf/tst-ldconfig-ld_so_conf-update when
running with both commits (it's ok when running only first commit).

$ ../glibc/configure --prefix=/usr
$ make -j`nproc`
$ make -j`nproc` check
      1 FAIL
   4165 PASS
     24 UNSUPPORTED
     12 XFAIL
      6 XPASS
FAIL: elf/tst-ldconfig-ld_so_conf-update

$ strace -o logfile -f -s 222 -tt make test t=elf/tst-ldconfig-ld_so_conf-update
original exit status 1
error: xfopen.c:29: could not open /etc/ld.so.conf (mode "a+"): No such file or directory
error: 1 test failures
running post-clean rsync

running under root (uh, that's ugly):
error: xmkdirp.c:63: mkdir_p ("/home/foo/build/glibc/remove-rpc.v2.second-commit/testroot.root/dev", 0755): Permission denied

And indeed chroot
"/home/foo/build/glibc/remove-rpc.v2.second-commit/testroot.root/"
doesn't have etc directory. Simple creating etc directory and copying
ld.so.conf does not help (I'm not surprised).

Und yes, I have cross-compiling = no as Szabolcs noted.
What can be wrong? Do I run testing in a wrong way?
Or did I really introduced bug in second commit?

Kind regards,
Petr

Petr Vorel (2):
  configure: Remove --enable-obsolete-nsl
  Remove --enable-obsolete-rpc flag

 INSTALL                                       |    9 -
 NEWS                                          |   15 +
 .../strcoll-inputs/filelist#en_US.UTF-8       |   29 -
 config.h.in                                   |    8 -
 config.make.in                                |    2 -
 configure                                     |   38 +-
 configure.ac                                  |   22 -
 grp/initgroups.c                              |    8 +-
 include/libc-symbols.h                        |   16 +-
 include/shlib-compat.h                        |    8 +-
 manual/install.texi                           |   10 -
 manual/nss.texi                               |   20 +-
 nis/Makefile                                  |   52 +-
 nscd/initgrcache.c                            |    8 +-
 nss/grp-lookup.c                              |    6 +-
 nss/nsswitch.c                                |   14 +-
 nss/pwd-lookup.c                              |    6 +-
 nss/spwd-lookup.c                             |    6 +-
 scripts/build-many-glibcs.py                  |    8 -
 sunrpc/Makefile                               |  135 +-
 sunrpc/auth_des.c                             |    4 +-
 sunrpc/auth_none.c                            |    2 +-
 sunrpc/auth_unix.c                            |    4 +-
 sunrpc/authdes_prot.c                         |    4 +-
 sunrpc/authuxprot.c                           |    2 +-
 sunrpc/bug20790.x                             |    1 -
 sunrpc/clnt_gen.c                             |    2 +-
 sunrpc/clnt_perr.c                            |   10 +-
 sunrpc/clnt_raw.c                             |    2 +-
 sunrpc/clnt_simp.c                            |    2 +-
 sunrpc/clnt_tcp.c                             |    2 +-
 sunrpc/clnt_udp.c                             |    6 +-
 sunrpc/clnt_unix.c                            |    2 +-
 sunrpc/get_myaddr.c                           |    2 +-
 sunrpc/key_call.c                             |   18 +-
 sunrpc/key_prot.c                             |   20 +-
 sunrpc/netname.c                              |   10 +-
 sunrpc/pm_getmaps.c                           |    2 +-
 sunrpc/pm_getport.c                           |    4 +-
 sunrpc/pmap_clnt.c                            |    4 +-
 sunrpc/pmap_prot.c                            |    2 +-
 sunrpc/pmap_prot2.c                           |    2 +-
 sunrpc/pmap_rmt.c                             |    8 +-
 sunrpc/proto.h                                |   65 -
 sunrpc/publickey.c                            |    4 +-
 sunrpc/rpc_clntout.c                          |  333 ----
 sunrpc/rpc_cmsg.c                             |    2 +-
 sunrpc/rpc_common.c                           |   10 +-
 sunrpc/rpc_cout.c                             |  811 ---------
 sunrpc/rpc_dtable.c                           |    2 +-
 sunrpc/rpc_hout.c                             |  607 -------
 sunrpc/rpc_main.c                             | 1451 -----------------
 sunrpc/rpc_parse.c                            |  687 --------
 sunrpc/rpc_parse.h                            |  165 --
 sunrpc/rpc_prot.c                             |   14 +-
 sunrpc/rpc_sample.c                           |  336 ----
 sunrpc/rpc_scan.c                             |  544 ------
 sunrpc/rpc_scan.h                             |  104 --
 sunrpc/rpc_svcout.c                           | 1093 -------------
 sunrpc/rpc_tblout.c                           |  178 --
 sunrpc/rpc_thread.c                           |    8 +-
 sunrpc/rpc_util.c                             |  525 ------
 sunrpc/rpc_util.h                             |  154 --
 sunrpc/rpcgen.c                               |    2 -
 sunrpc/rpcsvc/bootparam.h                     |   23 -
 sunrpc/rpcsvc/bootparam_prot.x                |   97 --
 sunrpc/rpcsvc/key_prot.x                      |  283 ----
 sunrpc/rpcsvc/klm_prot.x                      |  130 --
 sunrpc/rpcsvc/mount.x                         |  161 --
 sunrpc/rpcsvc/nfs_prot.x                      |  352 ----
 sunrpc/rpcsvc/nlm_prot.x                      |  203 ---
 sunrpc/rpcsvc/rex.x                           |  229 ---
 sunrpc/rpcsvc/rquota.x                        |   61 -
 sunrpc/rpcsvc/rstat.x                         |  145 --
 sunrpc/rpcsvc/rusers.x                        |  228 ---
 sunrpc/rpcsvc/sm_inter.x                      |  110 --
 sunrpc/rpcsvc/spray.x                         |   84 -
 sunrpc/rpcsvc/yppasswd.x                      |   61 -
 sunrpc/rtime.c                                |    2 +-
 sunrpc/svc.c                                  |   32 +-
 sunrpc/svc_auth.c                             |    2 +-
 sunrpc/svc_raw.c                              |    2 +-
 sunrpc/svc_run.c                              |    4 +-
 sunrpc/svc_tcp.c                              |    4 +-
 sunrpc/svc_udp.c                              |    6 +-
 sunrpc/svc_unix.c                             |    4 +-
 sunrpc/svcauth_des.c                          |    2 +-
 sunrpc/xcrypt.c                               |    4 +-
 sunrpc/xdr.c                                  |   44 +-
 sunrpc/xdr_array.c                            |    4 +-
 sunrpc/xdr_float.c                            |    4 +-
 sunrpc/xdr_intXX_t.c                          |   20 +-
 sunrpc/xdr_mem.c                              |    2 +-
 sunrpc/xdr_rec.c                              |    8 +-
 sunrpc/xdr_ref.c                              |    4 +-
 sunrpc/xdr_sizeof.c                           |    2 +-
 sunrpc/xdr_stdio.c                            |    2 +-
 97 files changed, 192 insertions(+), 9757 deletions(-)
 delete mode 100644 sunrpc/bug20790.x
 delete mode 100644 sunrpc/proto.h
 delete mode 100644 sunrpc/rpc_clntout.c
 delete mode 100644 sunrpc/rpc_cout.c
 delete mode 100644 sunrpc/rpc_hout.c
 delete mode 100644 sunrpc/rpc_main.c
 delete mode 100644 sunrpc/rpc_parse.c
 delete mode 100644 sunrpc/rpc_parse.h
 delete mode 100644 sunrpc/rpc_sample.c
 delete mode 100644 sunrpc/rpc_scan.c
 delete mode 100644 sunrpc/rpc_scan.h
 delete mode 100644 sunrpc/rpc_svcout.c
 delete mode 100644 sunrpc/rpc_tblout.c
 delete mode 100644 sunrpc/rpc_util.c
 delete mode 100644 sunrpc/rpc_util.h
 delete mode 100644 sunrpc/rpcgen.c
 delete mode 100644 sunrpc/rpcsvc/bootparam.h
 delete mode 100644 sunrpc/rpcsvc/bootparam_prot.x
 delete mode 100644 sunrpc/rpcsvc/key_prot.x
 delete mode 100644 sunrpc/rpcsvc/klm_prot.x
 delete mode 100644 sunrpc/rpcsvc/mount.x
 delete mode 100644 sunrpc/rpcsvc/nfs_prot.x
 delete mode 100644 sunrpc/rpcsvc/nlm_prot.x
 delete mode 100644 sunrpc/rpcsvc/rex.x
 delete mode 100644 sunrpc/rpcsvc/rquota.x
 delete mode 100644 sunrpc/rpcsvc/rstat.x
 delete mode 100644 sunrpc/rpcsvc/rusers.x
 delete mode 100644 sunrpc/rpcsvc/sm_inter.x
 delete mode 100644 sunrpc/rpcsvc/spray.x
 delete mode 100644 sunrpc/rpcsvc/yppasswd.x
  

Comments

Petr Vorel June 5, 2020, 5 p.m. UTC | #1
> Hi,

> I'm still having issues with elf/tst-ldconfig-ld_so_conf-update when
> running with both commits (it's ok when running only first commit).

OK, I noticed core dump (can be reproduced):
systemd-coredump[26018]: Process 26016 (ld-linux-x86-64) of user 1000 dumped core.

           PID: 26016 (ld-linux-x86-64)
           UID: 1000 (foo)
           GID: 100 (users)
        Signal: 6 (ABRT)
     Timestamp: Fri 2020-06-05 18:41:54 CEST (16min ago)
  Command Line: /home/foo/build/glibc/remove-rpc.v2.second-commit.2/elf/ld-linux-x86-64.so.2 --library-path /home/foo/build/glibc/remove-rpc.v2.second-commit.2:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/math:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/elf:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/dlfcn:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/nss:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/nis:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/rt:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/resolv:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/mathvec:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/support:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/crypt:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/nptl /home/foo/build/glibc/remove-rpc.v2.second-commit.2/debug/tst-ssp-1
    Executable: /home/foo/build/glibc/remove-rpc.v2.second-commit.2/elf/ld.so
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (foo)
       Boot ID: bfef12e3ca2046009a97d35fb89674bc
    Machine ID: 66e50c6d8dd0edc674b23b51586326ca
      Hostname: dell5510
       Storage: none
       Message: Process 26016 (ld-linux-x86-64) of user 1000 dumped core.
Coredump entry has no core attached (neither internally in the journal nor externally on disk).

Kind regards,
Petr
  
Florian Weimer June 5, 2020, 5:13 p.m. UTC | #2
* Petr Vorel:

>> I'm still having issues with elf/tst-ldconfig-ld_so_conf-update when
>> running with both commits (it's ok when running only first commit).
>
> OK, I noticed core dump (can be reproduced):
> systemd-coredump[26018]: Process 26016 (ld-linux-x86-64) of user 1000 dumped core.
>
>            PID: 26016 (ld-linux-x86-64)
>            UID: 1000 (foo)
>            GID: 100 (users)
>         Signal: 6 (ABRT)
>      Timestamp: Fri 2020-06-05 18:41:54 CEST (16min ago)
>   Command Line: /home/foo/build/glibc/remove-rpc.v2.second-commit.2/elf/ld-linux-x86-64.so.2 --library-path /home/foo/build/glibc/remove-rpc.v2.second-commit.2:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/math:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/elf:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/dlfcn:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/nss:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/nis:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/rt:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/resolv:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/mathvec:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/support:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/crypt:/home/foo/build/glibc/remove-rpc.v2.second-commit.2/nptl /home/foo/build/glibc/remove-rpc.v2.second-commit.2/debug/tst-ssp-1
>     Executable: /home/foo/build/glibc/remove-rpc.v2.second-commit.2/elf/ld.so
>  Control Group: /user.slice/user-1000.slice/session-1.scope
>           Unit: session-1.scope
>          Slice: user-1000.slice
>        Session: 1
>      Owner UID: 1000 (foo)
>        Boot ID: bfef12e3ca2046009a97d35fb89674bc
>     Machine ID: 66e50c6d8dd0edc674b23b51586326ca
>       Hostname: dell5510
>        Storage: none
>        Message: Process 26016 (ld-linux-x86-64) of user 1000 dumped core.
> Coredump entry has no core attached (neither internally in the journal nor externally on disk).

This seems unrelated.  I think systemd-coredump ignores ulimit -c 0
(which we perform programatically in the test skeleton), to cover cases
like this where the process is expected to abort.  So you get a few
spurious reports like this one.

Thanks,
Florian
  
Szabolcs Nagy June 5, 2020, 8:20 p.m. UTC | #3
* Petr Vorel <pvorel@suse.cz> [2020-06-05 18:53:53 +0200]:
> $ strace -o logfile -f -s 222 -tt make test t=elf/tst-ldconfig-ld_so_conf-update
> original exit status 1
> error: xfopen.c:29: could not open /etc/ld.so.conf (mode "a+"): No such file or directory
> error: 1 test failures
> running post-clean rsync
> 
> running under root (uh, that's ugly):
> error: xmkdirp.c:63: mkdir_p ("/home/foo/build/glibc/remove-rpc.v2.second-commit/testroot.root/dev", 0755): Permission denied
> 
> And indeed chroot
> "/home/foo/build/glibc/remove-rpc.v2.second-commit/testroot.root/"
> doesn't have etc directory. Simple creating etc directory and copying
> ld.so.conf does not help (I'm not surprised).

i would try to see why /etc is not created in the testroot.

unfortunately i dont know the details of how that is
supposed to work (i think there is a pristine testroot
that's created first and gets copied into testroot, see
if there is /etc there)
  
Joseph Myers June 5, 2020, 10:48 p.m. UTC | #4
On Fri, 5 Jun 2020, Szabolcs Nagy wrote:

> i would try to see why /etc is not created in the testroot.

Maybe it was only previously created as part of installing /etc/rpc there 
and the patch is causing that file no longer to be installed?
  
Petr Vorel June 6, 2020, 3:42 p.m. UTC | #5
Hi Szabolcs, Joseph,

> On Fri, 5 Jun 2020, Szabolcs Nagy wrote:

> > i would try to see why /etc is not created in the testroot.

> Maybe it was only previously created as part of installing /etc/rpc there 
> and the patch is causing that file no longer to be installed?

Thanks for your tips! Indeed, there is testroot.{root,pristine}/etc/ with
both ld.so.cache and rpc when build master and with first commit only and none
of them (nor the directory) when building whole patchset.

I need to have a closer look into the make system.

Kind regards,
Petr
  
Petr Vorel June 6, 2020, 4:24 p.m. UTC | #6
Hi,

> On Fri, 5 Jun 2020, Szabolcs Nagy wrote:

> > i would try to see why /etc is not created in the testroot.

> Maybe it was only previously created as part of installing /etc/rpc there 
> and the patch is causing that file no longer to be installed?

Found that. That was the missing piece.
install-others = $(inst_sysconfdir)/rpc

Kind regards,
Petr