On Tue, Jan 24, 2012 at 06:31:52PM +0100, Milan Obuch wrote: > Hi, > > as I succesfully installed FreeBSD on Mac Mini (older powerpc model > with G4 CPU) I tried to use mount_nullfs to share some files for more > systems. I use this method for years on i386 and amd64 platforms for > years now to share sources and other files. > > Basically I want to have small system specific slice/partition and > large shared data area. System sources are in shared area as well as > some working area (think /usr/src and /usr/obj directories). > > This does not work with powerpc for me. With sources csup'ped this > morning, full system rebuild with GENERIC kernel, it is enough for me > to issue > > mount_nullfs /data/src10 /usr/src > csup /usr/share/examples/cvsup/standard-supfile > > and system panic occurs, with following on system console: > > panic: mtx_lock() of spin mutex (null) _at_ /usr/src/sys/kern/vfs_subr.c:2670 > cpuid = 0 > KDB: enter: panic > [ thread pid 1442 tid 100095 ] > Stopped at 0x40f734: addi r0, r0, 0x0 > db> > > At this point, I am able to interact with system, the question for me > is what I want to get from it :) I tried bt with following result: > > Tracing pid 1442 tid 100095 td 0x2d6b000 > 0xe22c26d0: at panic+0x274 > 0xe22c2730: at _mtx_lock_flags+0xc4 > 0xe22c2760: at vgonel+0x330 > 0xe22c27b0: at vrecycle+0x54 > 0xe22c27d0: at null_inactive+0x30 > 0xe22c27f0: at VOP_INACTIVE_APV+0xdc > 0xe22c2810: at vinactive+0x98 > 0xe22c2850: at vputx+0x344 > 0xe22c28a0: at vput+0x18 > 0xe22c28c0: at kern_statat_vnhook+0x108 > 0xe22c29d0: at kern_statat+0x18 > 0xe22c29f0: at kern_lstat+0x2c > 0xe22c2a10: at sys_lstat+0x30 > 0xe22c2a90: at trap+0x388 > 0xe22c2b60: at powerpc_interrupt+0x108 > 0xe22c2b90: user SC trap by _end+0x40d88c70: srr1=0xd032 > r1=0xffaf9a70 cr=0x28004044 xer=0x20000000 ctr=0x41a0ac40 > db> > > Does this shed any light for someone with more knowledge here? My gut > feeling is there is some endianness issue at play, the same nullfs > usage works for me flawlessly on both i386 and amd64 systems, so it > could not be 32 vs 64 bit issue at least. > > At line 2670 of /usr/src/sys/kern/vfs_subr.c I see end of function void > vgonel(struct vnode *vp) > > VI_LOCK(vp); > vp->v_vnlock = &vp->v_lock; > vp->v_op = &dead_vnodeops; > vp->v_tag = "none"; > vp->v_type = VBAD; > } > > so the question seems to be reduced to 'why is vp null?' or is my small > attempt on analyse flawed... I do not think that the vp is null. It more look like the *vp memory was zeroed. This has very low chances of being related to endianess, and more like a kernel memory corruption. Take a dump and print the content of *vp.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:23 UTC