NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lib/57331: Automated unit test lib/libc/net/t_servent:servent fails on amd64 only



>Number:         57331
>Category:       lib
>Synopsis:       Automated unit test lib/libc/net/t_servent:servent fails on amd64 only
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 08 13:40:00 +0000 2023
>Originator:     Jim Spath
>Release:        10.0_BETA
>Organization:
>Environment:
NetBSD nb.mach 10.0_BETA NetBSD 10.0_BETA (GENERIC) #0: Sun Feb 12 12:39:37 UTC 2023  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
Running atf tests I found service file/database errors indicating an apparent discrepancy between the /etc/services file and the /var/db/services.cdb database, on amd64 only. Other architectures do not show the same discrepancy.

Output from unit test, in part:

tps-count: 1
tp-start: 1680881450.201097, lib/libc/net/t_servent, 1
tc-start: 1680881450.201143, servent
tc-so:--- exp   2023-04-07 15:30:50.588653808 +0000
tc-so:+++ out   2023-04-07 15:30:50.803098243 +0000
tc-so:@@ -11,7 +11,7 @@
tc-so: name=3com-njack-1, port=5264, proto=udp, aliases=
tc-so: name=3com-njack-2, port=5265, proto=tcp, aliases=
tc-so: name=3com-njack-2, port=5265, proto=udp, aliases=
tc-so:-name=3com-tsmux, port=106, proto=tcp, aliases=
tc-so:+name=3com-tsmux, port=106, proto=tcp, aliases=poppass poppassd
tc-so: name=3com-tsmux, port=106, proto=udp, aliases=
tc-so: name=3com-webview, port=2339, proto=tcp, aliases=
tc-so: name=3com-webview, port=2339, proto=udp, aliases=
tc-so:@@ -26,7 +26,6 @@

[...]
tc-end: 1680881450.833599, servent, failed, Observed output does not match reference output
tp-end: 1680881450.836324, lib/libc/net/t_servent
info: time.end, Fri Apr 7 15:30:50 UTC 2023

The lines with aliases show values only in the database.

Similar errors were noted in this online report (as of 05-Apr-2023/i386 compat):
https://www.netbsd.org/~martin/amd64-compat32-atf/last_atf.html#lib_libc_net_t_servent_servent

The files are very close in time, suggesting the database was built at system install time and not modified since.

# ls -ltr /netbsd /etc/motd /etc/inetd.conf /etc/services /var/db/services.cdb 
-rwxr-xr-x  1 root  wheel  29509032 Feb 12 12:39 /netbsd
-rw-r--r--  1 root  wheel   3555799 Feb 12 12:39 /etc/services  <<<===
-rw-r--r--  1 root  wheel      4036 Feb 12 12:39 /etc/inetd.conf
-rw-r--r--  1 root  wheel    339325 Feb 15 18:09 /var/db/services.cdb  <<<===
-rw-rw-r--  1 root  wheel       255 Feb 15 19:31 /etc/motd


>How-To-Repeat:
In the /usr/tests/ directory, run:

# atf-run lib/libc/net/t_servent:servent

>Fix:
I have not fully traced the source of the services records used to create the database, but trying various dump routines indicated the alias records exist in the database only.

[Linux system commands]:
$ cat services.cdb | cdbdump | strings | grep pop
poppass
poppassd
pop2
pop2
pop3
pop3
hybrid-pop
hybrid-pop
pop3s
pop3s
kpop
winpoplanmess
winpoplanmess
cdbdump: fatal: unable to read input: truncated file
popup-reminders
popup-reminders


If the alias records are necessary, the test logic should recognize them in some way.



Home | Main Index | Thread Index | Old Index