BUG() hit with ramfs usage (v 2.4.0test1-ac18)

From: wollny (wollny@cns.mpg.de)
Date: Wed Jun 14 2000 - 14:29:50 EST


Hi,

playing a bit with ramfs i hit a BUG() statement in page_alloc.c:97 since
the "PageDirty" test is true.

the following commands lead to this:

>>
mount -t ramfs ramfs /mnt
cd /mnt
echo "Hello" >test
echo "Hello" >test
<<

Logs and stuff at the end.

The BUG does not occure under 2.4.0test1 since there the PageDirty check
is not done. (But there i hit another BUG - see next mail.)

The calls straight from the addresse of the screen dump is

page_alloc.c:97
filemap.c:291 - call of page_cache_release after PageUnlock

The thing that makes me wonder a bit is, in ramfs/inode.c
SetPageDirty is called, but never ClearPageDirty, but then again, i really
have not looked long enough to understand the code.

the original trace was
>>
Jun 14 20:47:38 bolide kernel: kernel BUG at page_alloc.c:97!
[...]
Jun 14 20:47:38 bolide kernel: Call Trace: [tvecs+13628/79480] [tvecs+14379/79480] [truncate_inode_pages+620/656]
                                [vmtruncate+83/336] [n_tty_set_termios+486/560]
                                [inode_setattr+54/192] [notify_change+125/191]
Jun 14 20:47:38 bolide kernel: [do_truncate+142/240] [lookup_hash+68/144] [open_namei+1556/1664]
                                [filp_open+59/96] [sys_open+98/352] [system_call+52/56]
Jun 14 20:47:38 bolide PAM_pwdb[606]: (login) session closed for user root
Jun 14 20:47:38 bolide kernel: Code: 0f 0b 83 c4 0c 8d 76 00 8b 73 44 c7 44 24 1c ff ff ff ff 89
<<

and ksymoops gives:
>>
ksymoops 2.3.4 on i686 2.4.0-test1-ac18. Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.0-test1-ac18/ (default)
     -m /usr/src/linux/System.map (default)

Warning (compare_ksyms_lsmod): module awe_wave is in lsmod but not in ksyms, probably no symbols exported
Warning (compare_ksyms_lsmod): module lirc_haup is in lsmod but not in ksyms, probably no symbols exported
Warning (compare_ksyms_lsmod): module nfsd is in lsmod but not in ksyms, probably no symbols exported
Warning (compare_ksyms_lsmod): module parport_pc is in lsmod but not in ksyms, probably no symbols exported
Warning (compare_ksyms_lsmod): module tuner is in lsmod but not in ksyms, probably no symbols exported
Warning (map_ksym_to_module): cannot match loaded module 8139too to a unique module object. Trace may not be reliable.
Jun 14 20:47:38 bolide kernel: invalid operand: 0000
Jun 14 20:47:38 bolide kernel: CPU: 0
Jun 14 20:47:38 bolide kernel: EIP: 0010:[__free_pages_ok+248/752]
Jun 14 20:47:38 bolide kernel: EFLAGS: 00010282
Jun 14 20:47:38 bolide kernel: eax: 0000001f ebx: c21c6ccc ecx: 00000002 edx: c023ec0c
Jun 14 20:47:38 bolide kernel: esi: f668df14 edi: f66cdc60 ebp: 00000000 esp: f668de50
Jun 14 20:47:38 bolide kernel: ds: 0018 es: 0018 ss: 0018
Jun 14 20:47:38 bolide kernel: Process bash (pid: 614, stackpage=f668d000)
Jun 14 20:47:38 bolide kernel: Stack: c01fd304 c01fd5f3 00000061 c21c6ccc f668df14 f66cdc60 00000000 c21c6cf4
Jun 14 20:47:38 bolide kernel: 00000286 00000023 c21c6cf0 00000000 c0129f4c 00000048 f668df14 f66cdc60
Jun 14 20:47:38 bolide kernel: 00000000 f668c000 00000000 c0127cf3 f66cdd24 00000000 00000000 00000048
Jun 14 20:47:38 bolide kernel: Call Trace: [tvecs+13628/79480] [tvecs+14379/79480]
                                [truncate_inode_pages+620/656] [vmtruncate+83/336]
                                [n_tty_set_termios+486/560]
                                [inode_setattr+54/192] [notify_change+125/191]
Jun 14 20:47:38 bolide kernel: Code: 0f 0b 83 c4 0c 8d 76 00 8b 73 44 c7 44 24 1c ff ff ff ff 89
Using defaults from ksymoops -t elf32-i386 -a i386

Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
   0: 0f 0b ud2a
Code; 00000002 Before first symbol
   2: 83 c4 0c addl $0xc,%esp
Code; 00000005 Before first symbol
   5: 8d 76 00 leal 0x0(%esi),%esi
Code; 00000008 Before first symbol
   8: 8b 73 44 movl 0x44(%ebx),%esi
Code; 0000000b Before first symbol
   b: c7 44 24 1c ff ff ff movl $0xffffffff,0x1c(%esp,1)
Code; 00000012 Before first symbol
  12: ff
Code; 00000013 Before first symbol
  13: 89 00 movl %eax,(%eax)

<<

My machine:

ftp://ftp.cns.mpg.de/pub/wollny/archinfo

Best wishes

Gert

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:33 EST