Skip to contentSkip to conversation

ext3 / reiserfs data corruption, 2.5-bk

DISCUSSION Dave Jones 5 participants 9 messages Jun 9, 2003 – Jun 12, 2003

lore
Share & tools
lore
#1 lore raw

Hello!

Quoted 5 lines · Dave Jones

2.5 Bitkeeper tree as of last 24 hrs. Running a lot of disk IO stress (multiple fsstress, over 100 fsx instances, and random sync calling) produced failures on both reiserfs and ext3.
Tests were done on seperate disks, but concurrently.

Do you have smp or preempt enabled?

Bye,
Oleg

author
#2 lore raw
Quoted 7 lines · Oleg Drokin
Quoted 5 lines

2.5 Bitkeeper tree as of last 24 hrs. Running a lot of disk IO stress (multiple fsstress, over 100 fsx instances, and random sync calling) produced failures on both reiserfs and ext3.
Tests were done on seperate disks, but concurrently.

Do you have smp or preempt enabled?

# CONFIG_SMP is not set
CONFIG_PREEMPT=y

Dave

#3 lore raw
In reply to Oleg Drokin

I've been noticing a similar problem on my laptop. This may, or may not be related, but it did start somewhere within the past week (maybe the IDE taskfile conversion???, to throw out a guess). I wonder if Dave Jones is using IDE or SCSI. CONFIG_SMP and CONFIG_PREEMPT are disabled on my machine (Sony Vaio PCG-FXA49 laptop, Athlon4). I'm compiling the kernel with gcc 3.3 (Debian version).

Anyway, certain directories get locked up on occasion and when I try to execute 'ls' or read from the directory, the process gets into a locked up state; ^C does not work to kill the process. The only way to make a directory "readable" is to restart the machine. I have not noticed any FS corruption, just the lack of being able to enter the directory.

At the same time, a kernel bug will be displayed:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c016781a
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[find_inode_fast+26/96]    Not tainted
EFLAGS: 00010286

EIP is at find_inode_fast+0x1a/0x60
eax: db0355c4 ebx: 0001859f ecx: c3a69844 edx: 00000000
esi: dfd60c00 edi: dff99340 ebp: dff99340 esp: cc6dde50
ds: 007b es: 007b ss: 0068
Process emacs20 (pid: 16508, threadinfo=cc6dc000 task=c6d0adc0)

Stack: c4bca5b8 0001859f 0001859f dfd60c00 c0167d2e dfd60c00 dff99340 0001859f 
       0001859f da191d40 dfd60c00 da191d40 c018e45b dfd60c00 0001859f db666130 
       fffffff4 dca22aac dca22a44 c015cd60 dca22a44 da191d40 00000000 cc6ddf48 
Call Trace:
 [iget_locked+78/160] iget_locked+0x4e/0xa0
 [ext3_lookup+107/208] ext3_lookup+0x6b/0xd0
 [real_lookup+192/240] real_lookup+0xc0/0xf0
 [do_lookup+158/176] do_lookup+0x9e/0xb0
 [link_path_walk+1066/2000] link_path_walk+0x42a/0x7d0
 [__user_walk+73/96] __user_walk+0x49/0x60
 [vfs_stat+31/96] vfs_stat+0x1f/0x60
 [sys_stat64+27/64] sys_stat64+0x1b/0x40
 [syscall_call+7/11] syscall_call+0x7/0xb

Code: 0f 18 02 90 39 59 18 89 c8 74 0f 85 d2 89 d1 75 ed 31 c0 83 
Quoted 10 lines · Oleg Drokin

Hello!

Quoted 5 lines · Dave Jones

2.5 Bitkeeper tree as of last 24 hrs. Running a lot of disk IO stress (multiple fsstress, over 100 fsx instances, and random sync calling) produced failures on both reiserfs and ext3.
Tests were done on seperate disks, but concurrently.

Quoted 4 lines

Do you have smp or preempt enabled?

Bye,
Oleg

-Nathan Conrad

Signature · 2 lines
Nathan J. Conrad
GPG: F4FC 7E25 9308 ECE1 735C  0798 CE86 DA45 9170 3112
#4 lore raw
Quoted 3 lines · Nathan Conrad

I've been noticing a similar problem on my laptop. This may, or may not be related, but it did start somewhere within the past week (maybe the IDE taskfile conversion???, to throw out a guess). I wonder if

wrt taskfile conversion, if you are using DMA on your IDE disks, there shouldn't be any change in behaviour.

I will prepare a patch adding old crap and making it selectable (default will be taskfile, if you go into problems you can check with old code) to easy spotting possible taskfile problems and allowing quick judging - taskfile guilty/not guilty.

--
Bartlomiej

Quoted 12 lines

Dave Jones is using IDE or SCSI. CONFIG_SMP and CONFIG_PREEMPT are disabled on my machine (Sony Vaio PCG-FXA49 laptop, Athlon4). I'm compiling the kernel with gcc 3.3 (Debian version).

Anyway, certain directories get locked up on occasion and when I try to execute 'ls' or read from the directory, the process gets into a locked up state; ^C does not work to kill the process. The only way to make a directory "readable" is to restart the machine. I have not noticed any FS corruption, just the lack of being able to enter the directory.

At the same time, a kernel bug will be displayed:

<...>

#5 lore raw

Oh, ok. I am using DMA on my drives. The problem with this bug is that it is fairly hard to observe, I've only seen it about once every other day. I should have also pointed out that I am using ext3.

I thought that it might be taskfile stuff because that was the major change in the kernel the time right before I started to notice these problems. There likely is some other source of problems because you say that there should be no change in behaviour.

-Nathan

Quoted 32 lines · Bartlomiej Zolnierkiewicz
Quoted 3 lines · Nathan Conrad

I've been noticing a similar problem on my laptop. This may, or may not be related, but it did start somewhere within the past week (maybe the IDE taskfile conversion???, to throw out a guess). I wonder if

wrt taskfile conversion, if you are using DMA on your IDE disks, there shouldn't be any change in behaviour.

I will prepare a patch adding old crap and making it selectable (default will be taskfile, if you go into problems you can check with old code) to easy spotting possible taskfile problems and allowing quick judging - taskfile guilty/not guilty.

--
Bartlomiej

Quoted 12 lines

Dave Jones is using IDE or SCSI. CONFIG_SMP and CONFIG_PREEMPT are disabled on my machine (Sony Vaio PCG-FXA49 laptop, Athlon4). I'm compiling the kernel with gcc 3.3 (Debian version).

Anyway, certain directories get locked up on occasion and when I try to execute 'ls' or read from the directory, the process gets into a locked up state; ^C does not work to kill the process. The only way to make a directory "readable" is to restart the machine. I have not noticed any FS corruption, just the lack of being able to enter the directory.

At the same time, a kernel bug will be displayed:

<...>

#6 lore raw
In reply to Nathan Conrad
Quoted 8 lines · Nathan Conrad
Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c016781a
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[find_inode_fast+26/96]    Not tainted

Something scribbled on your inode hash chains. Please make sure that you're building the kernel with all the memory debug options enabled, and run memtest86 on that machine for 12 hourws or so.

#7 lore raw

Re: ext3 / reiserfs data corruption, 2.5-bk; NULL pointer dereference bug

I just saw another one of these NULL pointer dereference oops on my laptop:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c01665f3
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[__d_lookup+99/256]    Not tainted
EFLAGS: 00210282

EIP is at __d_lookup+0x63/0x100
eax: 00000000 ebx: c06ef980 ecx: 00000010 edx: dfe80000
esi: dfe8da40 edi: 00000000 ebp: df85be70 esp: db047ec8
ds: 007b es: 007b ss: 0068
Process gcc (pid: 4738, threadinfo=db046000 task=c22198c0)

Stack: dcfcc014 c012a225 00000000 00000000 dfe8da40 db047f48 00000000 dcfcc001 
       0029e101 00000003 dcfcc001 db047f90 dfff4fc0 db047f3c c015cf80 dfd50e00 
       db047f44 c015cb64 dcfcc001 dcfcc005 db047f3c db047f44 c015d129 db047f90 
Call Trace:
[in_group_p+37/48] in_group_p+0x25/0x30
[do_lookup+48/176] do_lookup+0x30/0xb0
[permission+84/112] permission+0x54/0x70
[link_path_walk+297/2000] link_path_walk+0x129/0x7d0
[__user_walk+73/96] __user_walk+0x49/0x60
[sys_access+129/320] sys_access+0x81/0x140
[syscall_call+7/11] syscall_call+0x7/0xb

Code: 0f 18 00 90 8b 74 24 10 8d 5d 90 39 73 78 75 17 8b 7b 58 89 

I ran memtest86 for about 14 hours and it passed all of its tests. I enabled the memory debugging options (under the kernel hacking section) and I did not notice any errors displayed by it in my syslog.

I'm not sure what else to try... The backtrace is signifigantly different that the last one...

Quoted 13 lines · Andrew Morton
Quoted 8 lines · Nathan Conrad
Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c016781a
*pde = 00000000
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[find_inode_fast+26/96]    Not tainted

Something scribbled on your inode hash chains. Please make sure that you're building the kernel with all the memory debug options enabled, and run memtest86 on that machine for 12 hourws or so.

author
#8 lore raw
In reply to Nathan Conrad
Quoted 4 lines · Nathan Conrad

I've been noticing a similar problem on my laptop. This may, or may not be related, but it did start somewhere within the past week (maybe the IDE taskfile conversion???, to throw out a guess). I wonder if Dave Jones is using IDE or SCSI.

IDE. I'm too cheap to buy SCSI.

Dave