Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Feb 1999 18:32:09 -0800 (PST)
From:      Matthew Jacob <mjacob@feral.com>
To:        Luoqi Chen <luoqi@watermarkgroup.com>
Cc:        dfr@nlsystems.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Panic in FFS/4.0 as of yesterday - update
Message-ID:  <Pine.LNX.4.04.9902211828530.4408-100000@feral-gw>
In-Reply-To: <199902212353.SAA12884@lor.watermarkgroup.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> > On Sun, 21 Feb 1999, Matthew Jacob wrote:
> > 
> > > 
> > > Sorry to say that during testing last night (in the middle of which a
> > > buildworld got started) the system paniced again with a 'panic: getnewbuf
> > > infinite recursion failure'. I've left it in the debugger if anyone could
> > > suggest looking at something. I'm going to New Orleans tomorrow so it can
> > > sit in the debugger until Friday...
> > > 
> > > A very cursory look at the code makes me wonder 'why the value of 5 for a
> > > limit'? It doesn't seem to me a panic is a good solution.
> > 
> > Apart from the use of 5 as a 'magic' number, this code doesn't cope with
> > being reentered by another process - the recursion test needs to be on a
> > per-process basis.  I'm sure that if you check the stack trace, you won't
> > see any kind of recursion happening.
> > 
> What troubled me here is why these supposedly async writes block (and ccd
> is not involved)? I'd really like to see a dump of ps listing from ddb.

Ask and ye shall receive (some 'Mores' editted out):

panic: getnewbuf: cannot get buffer, infinite recursion failure
panic
Stopped at      Debugger..ng+0x24:      ldq     ra,0(sp) <0xfffffe0007ef99f0>   <ra=0xfffffc00004c5c58,sp=0xfffffe0007ef99f0>
db> $c
?
db> t
Debugger..ng() at Debugger..ng+0x24
panic..ng() at panic..ng+0xf0
getnewbuf..ng() at getnewbuf..ng+0x424
getblk..ng() at getblk..ng+0x3e0
ffs_balloc..ng() at ffs_balloc..ng+0xa50
ffs_write..ng() at ffs_write..ng+0x384
vn_write..ng() at vn_write..ng+0x160
write..ng() at write..ng+0x12c
syscall..ng() at syscall..ng+0x1dc
XentSys() at XentSys+0x50
(null)() at 0x120000fe8
db> ps axl
Symbol not found
db> ps
  pid   proc     addr    uid  ppid  pgrp  flag stat wmesg   wchan   cmd
14173 fffffe0007b44f80 fffffe0007f5e000    0 12549  4274 004004  2                  make
14164 fffffe0007b45b60 fffffe0007f98000 31154 14163 13374 004004  2                  ld
14163 fffffe0007b4a040 fffffe0007b86000 31154 14148 13374 004084  3    wait fffffe0007b4a040 cc
14148 fffffe0007b45dc0 fffffe0007f94000 31154 13374 13374 004084  3    wait fffffe0007b45dc0 make
13377 fffffe000707b900 fffffe0007b04000    0 13372   147 004184  3  piperd fffffe0007a4ee40 sendmail
13374 fffffe0007b496c0 fffffe0007b98000 31154 13372 13374 004084  3    wait fffffe0007b496c0 sh
13372 fffffe0007b48fa0 fffffe0007bac000    0   147   147 000084  3  piperd fffffe0007a4f620 cron
12549 fffffe0007b46020 fffffe0007f5a000    0 12545  4274 004084  3    wait fffffe0007b46020 sh
12545 fffffe000707da40 fffffe0007ac4000    0 90946  4274 004084  3    wait fffffe000707da40 make
10908 fffffe0007b47580 fffffe0007efa000 31154   770 10908 004006  3  getblk fffffe00044537f0 writeit
10907 fffffe0007b49920 fffffe0007b94000 31154   770 10907 004006  3  getblk fffffe00044640f0 writeit
10906 fffffe0007b4b0e0 fffffe0007b62000 31154   770 10906 004006  3  getblk fffffe00044a2ff0 writeit
10905 fffffe000707d0c0 fffffe0007ad4000 31154   770 10905 004006  3  getblk fffffe0004470460 writeit
10904 fffffe0007b45900 fffffe0007f9c000 31154   770 10904 004006  3  getblk fffffe0004470460 writeit
10903 fffffe000707b1e0 fffffe0007b10000 31154   770 10903 004006  3  nfsrcvlk fffffe0007a55b00 writeit
10902 fffffe0007b47320 fffffe0007efe000 31154   770 10902 004006  3  nfsrcvlk fffffe0007a55b00 writeit
10901 fffffe000707d7e0 fffffe0007ac8000 31154   770 10901 004006  3  getblk fffffe0004483d68 writeit
10900 fffffe0007b49460 fffffe0007b9c000 31154   770 10900 004006  3  getblk fffffe0004470460 writeit
10899 fffffe0007b48ae0 fffffe0007bb6000 31154   770 10899 004006  3  nfsrcvlk fffffe0007a55b00 writeit
10898 fffffe0007b48880 fffffe0007bba000 31154   770 10898 004006  3  getblk fffffe0004470460 writeit
10897 fffffe0007079ee0 fffffe0007b3e000 31154   770 10897 004006  3  nfsrcvlk fffffe0007a55b00 writeit
10896 fffffe0007b44600 fffffe0007f6a000 31154   770 10896 004006  3  nfsrcvlk fffffe0007a55b00 writeit
10895 fffffe0007b46e60 fffffe0007f0e000 31154   770 10895 004006  2                  writeit
10894 fffffe0007b4ac20 fffffe0007b6a000 31154   770 10894 004006  3  getblk fffffe0004456cf0 writeit
10892 fffffe0007b48d40 fffffe0007bb2000 31154   770 10892 004006  3  getblk fffffe0004470460 writeit
10891 fffffe000707cc00 fffffe0007ae0000 31154   770 10891 004006  3  getblk fffffe0004470460 writeit
10890 fffffe0007b45440 fffffe0007fa4000 31154   770 10890 004006  3  getblk fffffe00044a2108 writeit
10889 fffffe000707b440 fffffe0007b0c000 31154   770 10889 004006  3  getblk fffffe0004470460 writeit
10888 fffffe0007b47a40 fffffe0007ef2000 31154   770 10888 004006  3  getblk fffffe0004467e38 writeit
10887 fffffe0007b48620 fffffe0007bc0000 31154   770 10887 004006  3  getblk fffffe000445f9b8 writeit
10886 fffffe0007b46c00 fffffe0007f12000 31154   770 10886 004006  2                  writeit
10885 fffffe0007b477e0 fffffe0007ef6000 31154   770 10885 004006  2                  writeit
10884 fffffe0007b4b340 fffffe0007b5e000 31154   770 10884 004006  2                  writeit
10883 fffffe0007b44ac0 fffffe0007f66000 31154   770 10883 004006  2                  writeit
10882 fffffe0007b4a2a0 fffffe0007b80000 31154   770 10882 004006  3  getblk fffffe0004470460 writeit
10880 fffffe000707ce60 fffffe0007adc000 31154   770 10880 004006  3  nfsrcvlk fffffe0007a55b00 writeit
10879 fffffe0007b451e0 fffffe0007fa8000 31154   770 10879 004006  3  getblk fffffe0004470460 writeit
10878 fffffe000707a140 fffffe0007b3a000 31154   770 10878 004006  3  getblk fffffe0004470460 writeit
10877 fffffe000707e160 fffffe0007ab4000 31154   770 10877 004006  2                  writeit
10875 fffffe0007b46280 fffffe0007f24000 31154   770 10875 004006  2                  writeit
10874 fffffe0007b49200 fffffe0007ba8000 31154   770 10874 004006  3  getblk fffffe0004470460 writeit
10872 fffffe0007b47ca0 fffffe0007eee000 31154   770 10872 004006  2                  writeit
10870 fffffe0007b464e0 fffffe0007f28000 31154   770 10870 004006  2                  writeit
10868 fffffe0007b483c0 fffffe0007ee2000 31154   770 10868 004006  2                  writeit
10867 fffffe000707bdc0 fffffe0007afa000 31154   770 10867 004006  2                  writeit
10866 fffffe0007b49b80 fffffe0007b90000 31154   770 10866 004006  3  getblk fffffe0004444e68 writeit
10865 fffffe0007b4b5a0 fffffe0007b5a000 31154   770 10865 004006  2                  writeit
10864 fffffe000707a3a0 fffffe0007b36000 31154   770 10864 004006  3  getblk fffffe0004470460 writeit
10863 fffffe0007b4a500 fffffe0007b78000 31154   770 10863 004006  2                  writeit
10862 fffffe0007b470c0 fffffe0007f0a000 31154   770 10862 004006  3  getblk fffffe0004470460 writeit
10861 fffffe0007b46740 fffffe0007f1a000 31154   770 10861 004006  2                  writeit
10859 fffffe0007b4ba60 fffffe0007b52000 31154   770 10859 004006  3  getblk fffffe0004470460 writeit
90946 fffffe000707a600 fffffe0007b32000    0 90943  4274 004084  3    wait fffffe000707a600 sh
90943 fffffe000707dca0 fffffe0007abe000    0 90942  4274 004084  3    wait fffffe000707dca0 make
90942 fffffe000707aac0 fffffe0007b1e000    0  4285  4274 004084  3    wait fffffe000707aac0 sh
 4285 fffffe0007b4bcc0 fffffe0007b4c000    0  4284  4274 004084  3    wait fffffe0007b4bcc0 make
 4284 fffffe000707c4e0 fffffe0007aee000    0  4283  4274 004084  3    wait fffffe000707c4e0 sh
 4283 fffffe000707d580 fffffe0007acc000    0  4282  4274 004084  3    wait fffffe000707d580 make
 4282 fffffe000707c280 fffffe0007af2000    0  4279  4274 004084  3    wait fffffe000707c280 sh
 4279 fffffe000707bb60 fffffe0007afe000    0  4278  4274 004084  3    wait fffffe000707bb60 make
 4278 fffffe000707d320 fffffe0007ad0000    0  4275  4274 004084  3    wait fffffe000707d320 sh
 4275 fffffe000707a860 fffffe0007b2c000 31154  4274  4274 004084  3    wait fffffe000707a860 sh
 4274 fffffe000707efa0 fffffe0007a9a000 31154  4272  4274 004084  3    wait fffffe000707efa0 sh
 4272 fffffe000707ad20 fffffe0007b18000    0   147   147 000084  3  piperd fffffe0007a4fa80 cron
  770 fffffe000707f460 fffffe0007a8e000 31154   193   770 004086  3   pause fffffe0007a8e1a8 csh
  261 fffffe000707e3c0 fffffe0007aae000 31154   230   261 004186  3  nanslp fffffc000056b890 iostat
  230 fffffe000707eae0 fffffe0007aa2000 31154   229   230 004086  3    wait fffffe000707eae0 bash
  229 fffffe000707ed40 fffffe0007a9e000    0   144   229 004184  3  select fffffc000058fa20 rlogind
  193 fffffe000707f200 fffffe0007a96000 31154   192   193 004086  3    wait fffffe000707f200 bash
  192 fffffe00070802a0 fffffe0007a72000    0   144   192 004184  3  select fffffc000058fa20 rlogind
  188 fffffe0007081340 fffffe0007a38000    0     1   188 004086  3   ttyin fffffc0000589810 getty
  147 fffffe000707f6c0 fffffe0007a88000    0     1   147 000084  3  nanslp fffffc000056b890 cron
  144 fffffe000707f920 fffffe0007a82000    0     1   144 000084  3  select fffffc000058fa20 inetd
  126 fffffe000707fb80 fffffe0007a7e000    0     1   118 000084  3  nfsidl fffffc0000592a98 nfsiod
  125 fffffe000707fde0 fffffe0007a7a000    0     1   118 000084  3  nfsidl fffffc0000592a90 nfsiod
  124 fffffe0007080040 fffffe0007a76000    0     1   118 000084  3  nfsidl fffffc0000592a88 nfsiod
  123 fffffe00070810e0 fffffe0007a3c000    0     1   118 000084  3  nfsidl fffffc0000592a80 nfsiod
  107 fffffe0007080500 fffffe0007a6e000    0     1   107 000084  3  select fffffc000058fa20 ypbind
  103 fffffe0007080760 fffffe0007a6a000    1     1   103 000184  3  select fffffc000058fa20 portmap
   99 fffffe00070809c0 fffffe0007a5a000    0     1    99 000084  3  select fffffc000058fa20 xntpd
   91 fffffe0007080e80 fffffe0007a40000    0     1    91 000084  3  select fffffc000058fa20 syslogd
   20 fffffe0007080c20 fffffe0007a44000    0     1    20 000284  3  mfsidl fffffe0007073500 mount_mfs
    4 fffffe00070815a0 fffffe0007094000    0     0     0 000204  3  syncer fffffc000058f970 syncer
    3 fffffe0007081800 fffffe0007090000    0     0     0 000204  3  psleep fffffc0000588034 vmdaemon
    2 fffffe0007081a60 fffffe000708c000    0     0     0 000204  3  psleep fffffc00005527f8 pagedaemon
    1 fffffe0007081cc0 fffffe0007088000    0     0     1 004084  3    wait fffffe0007081cc0 init
    0 fffffc000058e1b0 fffffc000061c000    0     0     0 000204  3   sched fffffc000058e1b0 swapper
db> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.04.9902211828530.4408-100000>