Soft update panic while running perl 5.12 tests
Renato Botelho
rbgarga at gmail.com
Wed Sep 29 18:43:08 UTC 2010
On Wed, Sep 29, 2010 at 11:32 AM, Dimitry Andric <dim at freebsd.org> wrote:
> Hi,
>
> I just encountered the following soft update panic while running perl
> 5.12's tests:
>
> panic: indir_trunc: Index out of range -148 parent -2061 lbn -305164
> cpuid = 3
> KDB: enter: panic
> [ thread pid 19 tid 100047 ]
> Stopped at kdb_enter+0x3a: movl $0,kdb_why
> db> bt
> Tracing pid 19 tid 100047 td 0xc72e9b40
> kdb_enter(c0cd6a90,c0cd6a90,c0cfe8ab,e6be2b58,3,...) at kdb_enter+0x3a
> panic(c0cfe8ab,ffffff6c,fffff7f3,ffffffff,fffb57f4,...) at panic+0x136
> indir_trunc(fffff7f3,ffffffff,c85507c0,c834d200,c733de00,...) at
> indir_trunc+0x4be
> handle_workitem_indirblk(4,c0cd520e,df,c834d200,c834d200,...) at
> handle_workitem_indirblk+0x64
> handle_workitem_freeblocks(0,e6be2c74,2,5dc,1e0,...) at
> handle_workitem_freeblocks+0x95
> process_worklist_item(c0fb2f98,0,c0cfdf8d,54a,c72e9b40,...) at
> process_worklist_item+0x21c
> softdep_process_worklist(c732aca8,0,c0cfdf8d,4cd,64,...) at
> softdep_process_worklist+0x8c
> softdep_flush(0,e6be2d28,c0cd1c8a,349,c72ed550,...) at softdep_flush+0x2a0
> fork_exit(c0afb670,0,e6be2d28) at fork_exit+0xb8
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0, eip = 0, esp = 0xe6be2d60, ebp = 0 ---
>
> It is consistently reproducible. This is on a -current system, at
> r213139, on i386. Settings for the affected filesystem:
>
> tunefs: POSIX.1e ACLs: (-a) disabled
> tunefs: NFSv4 ACLs: (-N) disabled
> tunefs: MAC multilabel: (-l) disabled
> tunefs: soft updates: (-n) enabled
> tunefs: soft update journaling: (-j) enabled
> tunefs: gjournal: (-J) disabled
> tunefs: maximum blocks per file in a cylinder group: (-e) 2048
> tunefs: average file size: (-f) 16384
> tunefs: average number of files in a directory: (-s) 64
> tunefs: minimum percentage of free space: (-m) 8%
> tunefs: optimization preference: (-o) time
> tunefs: volume label: (-L) dimtest1
>
> The panic is apparently caused by perl's "op/lfs.t" test, which tests
> perlio with big files. You can test it by building the perl 5.12 port,
> and then running:
>
> cd /usr/ports/lang/perl5.12/work/perl-5.12.2/t
> ../miniperl op/lfs.t
>
> Alternatively, just run "make test" in /usr/ports/lang/perl5.12.
Since i'm running -current with SUJ here, and built perl 5.12
recently without problems, maybe this can help you (I have
that patch applied locally since it was not committed yet).
http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019409.html
--
Renato Botelho
More information about the freebsd-current
mailing list