NetBSD-Bugs archive

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

bin/56951: mtree for ./etc/localtime missing link= attribute



>Number:         56951
>Category:       bin
>Synopsis:       mtree for ./etc/localtime missing link= attribute
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 03 10:10:00 +0000 2022
>Originator:     Havard Eidnes
>Release:        NetBSD 9.99.99
>Organization:
   I try...
>Environment:
System: NetBSD stest.urc.uninett.no 9.99.97 NetBSD 9.99.97 (GENERIC) #7: Sun Jun  5 08:29:56 UTC 2022  he%stest.urc.uninett.no@localhost:/usr/obj/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
	This is building recently updated -current on 9.99.97 host.

	build.sh install-image fails with

Preparing spec files for makefs...
assertion "curnode->slink != NULL" failed: file "/usr/src/tools/makefs/../../usr
.sbin/makefs/walk.c", line 485, function "apply_specdir"
assertion "curnode->slink != NULL" failed: file "/usr/src/tools/makefs/../../usr
.sbin/makefs/walk.c", line 485, function "apply_specdir"
[1]   Abort trap (core dumped) /usr/tools/bin/nbmakefs -N /usr/src/etc -t cd9...
--- image ---

	Debugging the resulting nbmakefs.core with a nbmakefs built
	with MKDEBUGTOOLS=yes reveals:

Core was generated by `nbmakefs'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007d945579c87a in _lwp_kill () from /usr/lib/libc.so.12
(gdb) where
#0  0x00007d945579c87a in _lwp_kill () from /usr/lib/libc.so.12
#1  0x00007d945579cd7a in abort () from /usr/lib/libc.so.12
#2  0x00007d945579c16e in __assert13 () from /usr/lib/libc.so.12
#3  0x00000000004164a4 in apply_specdir (dir=0x7f7fffbb3650 "cdrom/etc", 
    specnode=0x7d9456467620, dirnode=0x7d945692c1e0, speconly=0)
    at /usr/src/tools/makefs/../../usr.sbin/makefs/walk.c:485
#4  0x0000000000416558 in apply_specdir (dir=0x7f7fffbb455a "cdrom", 
    specnode=0x7d9456467000, dirnode=0x7d945692c000, speconly=0)
    at /usr/src/tools/makefs/../../usr.sbin/makefs/walk.c:495
#5  0x0000000000415e2e in apply_specfile (specfile=0x7f7fffbb449d "fs.spec", 
    dir=0x7f7fffbb455a "cdrom", parent=0x7d945692c000, speconly=0)
    at /usr/src/tools/makefs/../../usr.sbin/makefs/walk.c:361
#6  0x0000000000411374 in main (argc=2, argv=0x7f7fffbb3d80)
    at /usr/src/tools/makefs/../../usr.sbin/makefs/makefs.c:312
(gdb) up
#1  0x00007d945579cd7a in abort () from /usr/lib/libc.so.12
(gdb) up
#2  0x00007d945579c16e in __assert13 () from /usr/lib/libc.so.12
(gdb) up
#3  0x00000000004164a4 in apply_specdir (dir=0x7f7fffbb3650 "cdrom/etc", 
    specnode=0x7d9456467620, dirnode=0x7d945692c1e0, speconly=0)
    at /usr/src/tools/makefs/../../usr.sbin/makefs/walk.c:485
485                                     assert(curnode->slink != NULL);
(gdb) p curfsnode->name
$1 = 0x7d94564794e0 "localtime"
(gdb) p curnode->slink
$2 = 0x0
(gdb) p/o curfsnode->type
$4 = 0120000
(gdb) 

	which matches S_IFLNK.

>How-To-Repeat:
	Try to do ./build.sh install-image (after "release") with
	freshly built tools.

>Fix:
	This change fixes it for me.
	Though it befuddles me why apparently nobody else is seeing
	this issue, so comments appreciated.

	This is the only type=link entry in etc/mtree/*.

% cvs diff special
Index: special
===================================================================
RCS file: /cvsroot/src/etc/mtree/special,v
retrieving revision 1.175
diff -u -r1.175 special
--- special     6 Jun 2022 10:56:28 -0000       1.175
+++ special     3 Aug 2022 09:51:51 -0000
@@ -101,7 +101,7 @@
 ./etc/iscsi/auths              type=file mode=0600 tags=nodiff
 ./etc/iscsi/targets            type=file mode=0644
 ./etc/ld.so.conf               type=file mode=0644 optional
-./etc/localtime                        type=link mode=0755
+./etc/localtime                        type=link mode=0755 link=/usr/share/zoneinfo/UTC
 ./etc/locate.conf              type=file mode=0644 optional
 ./etc/login.conf               type=file mode=0644 optional
 ./etc/mail                     type=dir  mode=0755



Home | Main Index | Thread Index | Old Index