On Wed, 20 Apr 2022, J. Hannken-Illjes wrote:
Date: Wed, 20 Apr 2022 22:19:30 +0200 From: J. Hannken-Illjes <hannken%mailbox.org@localhost> To: 6bone%6bone.informatik.uni-leipzig.de@localhost Cc: current-users%netbsd.org@localhost, Manuel Bouyer <bouyer%antioche.eu.org@localhost> Subject: [Extern] Re: reproducible kernel crash with quotaOn 20. Apr 2022, at 22:10, 6bone%6bone.informatik.uni-leipzig.de@localhost wrote: On Tue, 19 Apr 2022, J. Hannken-Illjes wrote:Date: Tue, 19 Apr 2022 11:07:48 +0200 From: J. Hannken-Illjes <hannken%mailbox.org@localhost> To: 6bone%6bone.informatik.uni-leipzig.de@localhost Cc: current-users%netbsd.org@localhost, Manuel Bouyer <bouyer%antioche.eu.org@localhost> Subject: [Extern] Re: reproducible kernel crash with quotaOn 19. Apr 2022, at 08:38, 6bone%6bone.informatik.uni-leipzig.de@localhost wrote: On Thu, 14 Apr 2022, J. Hannken-Illjes wrote:Date: Thu, 14 Apr 2022 13:09:02 +0200 From: J. Hannken-Illjes <hannken%mailbox.org@localhost> To: 6bone%6bone.informatik.uni-leipzig.de@localhost Cc: current-users%netbsd.org@localhost, Manuel Bouyer <bouyer%antioche.eu.org@localhost> Subject: [Extern] Re: reproducible kernel crash with quotaOn 12. Apr 2022, at 08:52, 6bone%6bone.informatik.uni-leipzig.de@localhost wrote: Hello, since I already have some open bugs with reproducible kernel crashes, I'm only writing this to the mailing list. how to reproduce the crash: /etc/rc.d/quota restart dmesg: [ 412.047595] panic: kernel diagnostic assertion "dq->dq_ump->um_quotas[dq->dq _type] != vp" failed: file "/usr/src/sys/ufs/ufs/ufs_quota.c", line 978 [ 412.047595] cpu8: Begin traceback... [ 412.047595] vpanic() at netbsd:vpanic+0x156 [ 412.057595] kern_assert() at netbsd:kern_assert+0x4b [ 412.057595] dqflush() at netbsd:dqflush+0x92 [ 412.057595] quota1_handle_cmd_quotaoff() at netbsd:quota1_handle_cmd_quotaof f+0x120 [ 412.057595] ufs_quotactl() at netbsd:ufs_quotactl+0x3d [ 412.057595] VFS_QUOTACTL() at netbsd:VFS_QUOTACTL+0x22 [ 412.057595] vfs_quotactl_quotaoff() at netbsd:vfs_quotactl_quotaoff+0x1b [ 412.057595] do_sys_quotactl() at netbsd:do_sys_quotactl+0xf1 [ 412.067595] sys___quotactl() at netbsd:sys___quotactl+0x2e [ 412.067595] syscall() at netbsd:syscall+0x196 [ 412.067595] --- syscall (number 473) --- [ 412.067595] netbsd:syscall+0x196: [ 412.067595] cpu8: End traceback... [ 412.067595] dumping to dev 168,1 (offset=8, size=33425953): [ 412.067595] dump (gdb) target kvm netbsd.1.core<snip> I'm quite sure you have a /etc/fstab with "userquota,groupquota", yes? with gdb: frame 4 (dqflush()) print dq->dq_ump->um_quotas[0] print dq->dq_ump->um_quotas[1] gives the same vnode address for both fields, yes? If this is the case the attached diff should help, since 2012-01-30 group quota got enabled on the user quota file. As a workaround you could try to name the quota files in /etc/fstab like "groupquota=XXX/quota.group".You are right. I use groupquota and userquota in fstab. I tested the patch. With patch there is no crash. But the /etc/rc.d/quota restart leads to the blocking of the file system. You can only turn off the server. This also happens when I only use userquota in the fstab.Sorry, forgot the second diff (now attached) that prevents looping when taking the quota off on a modified file system. Please try again with both diffs applied.I tested with both patches. If I just enable querquota it seems to work. If you also activate groupquota, the kernel crashes: output: /etc/rc.d/quota restart Checking quotas:quotacheck: creating quota file //quota.groupYou have root (/) with quota? What exactly do you have in /etc/fstab?
cat /etc/fstab # NetBSD /etc/fstab # See /usr/share/examples/fstab/ for more examples.NAME=179d5ca2-7f26-476b-b544-823bd1849816 / ffs rw,userquota,groupquota 1 1 NAME=088fb0c9-d042-451d-b768-39d9c1f44a17 none swap sw,dp 0 0
tmpfs /tmp tmpfs rw,-m=1777,-s=ram%15 kernfs /kern kernfs rw ptyfs /dev/pts ptyfs rw procfs /proc procfs rw /dev/cd0a /cdrom cd9660 ro,noauto tmpfs /var/shm tmpfs rw,-m1777,-sram%15
done. -> crashAre "dq->dq_ump->um_quotas[0]" and "dq->dq_ump->um_quotas[1]]" now different?[ 448.325252] panic: kernel diagnostic assertion "dq->dq_ump->um_quotas[dq->dq_type] != vp" failed: file "/usr/src/sys/ufs/ufs/ufs_quota.c", line 978 [ 448.325252] cpu1: Begin traceback... [ 448.325252] vpanic() at netbsd:vpanic+0x156 [ 448.325252] kern_assert() at netbsd:kern_assert+0x4b [ 448.325252] dqflush() at netbsd:dqflush+0x92 [ 448.335252] quota1_handle_cmd_quotaoff() at netbsd:quota1_handle_cmd_quotaoff+0x117 [ 448.335252] ufs_quotactl() at netbsd:ufs_quotactl+0x3d [ 448.335252] VFS_QUOTACTL() at netbsd:VFS_QUOTACTL+0x22 [ 448.335252] vfs_quotactl_quotaoff() at netbsd:vfs_quotactl_quotaoff+0x1b [ 448.335252] do_sys_quotactl() at netbsd:do_sys_quotactl+0xf1 [ 448.335252] sys___quotactl() at netbsd:sys___quotactl+0x2e [ 448.345252] syscall() at netbsd:syscall+0x196 [ 448.345252] --- syscall (number 473) --- [ 448.345252] netbsd:syscall+0x196: [ 448.345252] cpu1: End traceback... [ 448.345252] dumping to dev 168,1 (offset=8, size=33425953): [ 448.345252] dumpThank you for your efforts Regards UweMaybe someone can fix the problem. Thank you for your efforts Regards Uwe-- J. Hannken-Illjes - hannken%mailbox.org@localhost-- J. Hannken-Illjes - hannken%mailbox.org@localhost-- J. Hannken-Illjes - hannken%mailbox.org@localhost