From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Hruby Subject: BUGs in mm/rmap.c Date: Thu, 17 Aug 2006 04:10:08 +0200 Message-ID: <20060817021008.GD20340@fspc268> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from smtp.etmail.cz ([160.218.43.220]:58505 "EHLO smtp.etmail.cz") by vger.kernel.org with ESMTP id S932382AbWHQCKp (ORCPT ); Wed, 16 Aug 2006 22:10:45 -0400 Received: from localhost (ip-85-160-38-140.eurotel.cz [85.160.38.140]) by smtp.etmail.cz (Postfix) with ESMTP id C6C7819400B for ; Thu, 17 Aug 2006 04:10:09 +0200 (CEST) To: linux-fsdevel@vger.kernel.org Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Hello all, we are testing our fs project on a 2.6.17.4 kernel that is patched with http://marc.theaimsgroup.com/?l=linux-fsdeve,l&m=115080965116016&w=2 patch. We experienced BUGs in mm/rmap.c when creating many files in a single directory. In the first place, it occured on ext3 with idexed directories (see the report bellow). At one moment it happed every time I ran the test. Today something similar happend when playing with our fs. In both cases there was no swap mounted. It never happend with swap enabled. Highmem is used on the test machine. The test is as follows : 1 - mkfs in case of ext3 mkfs.ext3 -N 1000000 device tune2fs -O dir_index device 2 - mount root device 3 - mkdir root/dir 4 - cd root/dir 5 - for i in `seq 1 500000` ; do touch some_empty_file_$i ; echo $i ; done Does anybody know whether the patch might be the cause of the problem? Or what else might be the problem? We appreciate any ideas and suggestion. Tomas EXT3 report ----------- VM: killing process bash swap_free: Bad swap file entry 30000000 swap_free: Unused swap file entry 00000010 Eeek! page_mapcount(page) went negative! (-1) page->flags = 400 page->count = 1 page->mapping = 00000000 ------------[ cut here ]------------ kernel BUG at mm/rmap.c:560! invalid opcode: 0000 [#1] PREEMPT Modules linked in: netconsole snd_mixer_oss 8139cp snd_via82xx snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore ehci_hcd usbcore 8139too mii fan thermal processor rt2500 rtc unix CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00010286 (2.6.17.4 #9) EIP is at page_remove_rmap+0x64/0x79 eax: ffffffff ebx: c1000000 ecx: c02ed394 edx: 00000001 esi: 080f5000 edi: e7bc13d4 ebp: 00000000 esp: ed7f8eac ds: 007b es: 007b ss: 0068 Process bash (pid: 3125, threadinfo=ed7f8000 task=f7da5ab0) Stack: c1000000 c01387b7 c1000000 00000000 00000001 08400000 ede5c080 f717a9dc c03664cc 00000000 ffffffff f717aa2c ede5c080 00002ffe 0b2e9000 00000000 ed7f8f1c f51bd698 f717a9dc f7da5ab0 c013aeb4 ed7f8f1c f51bdf94 00000000 Call Trace: unmap_vmas+0x253/0x44f exit_mmap+0x5a/0xe1 mmput+0x20/0x78 exit_mm+0x101/0x107 do_exit+0x187/0x76b printk+0x14/0x18 do_page_fault+0x4ca/0x54a do_page_fault+0x0/0x54a error_code+0x4f/0x54 Code: c4 40 74 03 8b 53 0c 8b 42 04 50 68 69 3d 2b c0 e8 85 7c fd ff ff 73 10 68 80 3d 2b c0 e8 78 7c fd ff 83 c4 10 8b 43 08 40 79 08 <0f> 0b 30 02 15 3d 2b c0 6a ff 6a 10 e8 e0 43 ff ff 59 5b 5b c3 EIP: [] page_remove_rmap+0x64/0x79 SS:ESP 0068:ed7f8eac <3>BUG: sleeping function called from invalid context at include/linux/rwsem.h:43 in_atomic():1, irqs_disabled():0 blocking_notifier_call_chain+0x11/0x41 profile_task_exit+0x10/0x14 do_exit+0x1b/0x76b die+0x1a4/0x25f die+0x239/0x25f do_invalid_op+0x0/0x9e do_invalid_op+0x92/0x9e page_remove_rmap+0x64/0x79 vprintk+0x2cc/0x2e7 vprintk+0x2cc/0x2e7 common_interrupt+0x1a/0x20 try_to_wake_up+0xfd/0x108 autoremove_wake_function+0x18/0x3a error_code+0x4f/0x54 page_remove_rmap+0x64/0x79 unmap_vmas+0x253/0x44f exit_mmap+0x5a/0xe1 mmput+0x20/0x78 exit_mm+0x101/0x107 do_exit+0x187/0x76b printk+0x14/0x18 do_page_fault+0x4ca/0x54a do_page_fault+0x0/0x54a error_code+0x4f/0x54 Fixing recursive fault but reboot is needed! BUG: scheduling while atomic: bash/0x00000002/3125 schedule+0x43/0x5aa dump_stack+0x14/0x18 printk+0x14/0x18 do_exit+0xce/0x76b die+0x1a4/0x25f die+0x239/0x25f do_invalid_op+0x0/0x9e do_invalid_op+0x92/0x9e page_remove_rmap+0x64/0x79 vprintk+0x2cc/0x2e7 vprintk+0x2cc/0x2e7 common_interrupt+0x1a/0x20 try_to_wake_up+0xfd/0x108 autoremove_wake_function+0x18/0x3a error_code+0x4f/0x54 page_remove_rmap+0x64/0x79 unmap_vmas+0x253/0x44f exit_mmap+0x5a/0xe1 mmput+0x20/0x78 exit_mm+0x101/0x107 do_exit+0x187/0x76b printk+0x14/0x18 do_page_fault+0x4ca/0x54a do_page_fault+0x0/0x54a error_code+0x4f/0x54 our fs (LFS) report ------------------- ------------[ cut here ]------------ kernel BUG at mm/rmap.c:71! invalid opcode: 0000 [#1] PREEMPT DEBUG_PAGEALLOC Modules linked in: lfs netconsole snd_mixer_oss 8139cp snd_via82xx snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore ehci_hcd usbcore 8139too mii fan thermal processor rt2500 rtc unix CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00010202 (2.6.17.4 #11) EIP is at anon_vma_link+0x59/0xa3 eax: f77ca29c ebx: f6675478 ecx: f6365954 edx: f636598c esi: f77ca28c edi: 000186a1 ebp: f7143ea0 esp: f7143e8c ds: 007b es: 007b ss: 0068 Process bash (pid: 2994, threadinfo=f7143000 task=f7a12ac0) Stack: 00000001 f77ca28c f6302b48 00000002 f76c20bc f7143f38 c0113ea2 f6302b48 f6302b48 f76c20bc 00000058 f7143fbc bfd3e6fc 01200011 00000000 fffffff4 f494fac0 f7143000 f494fac0 ecf5ae18 f6302c80 f6302c94 f6302c8c f70f1e18 Call Trace: [] show_stack_log_lvl+0x85/0x8f [] show_registers+0x14b/0x1bf [] die+0x165/0x266 [] do_trap+0x7a/0x98 [] do_invalid_op+0x8a/0x94 [] error_code+0x4f/0x54 [] copy_process+0xa8e/0x1188 [] do_fork+0x94/0x196 [] sys_clone+0x21/0x23 [] syscall_call+0x7/0xb Code: 04 8b 5d 08 89 48 04 89 53 38 89 46 10 8b 43 40 89 45 f0 8b 48 10 c7 45 ec 00 00 00 00 83 e9 38 eb 23 47 81 ff a0 86 01 00 76 08 <0f> 0b 47 00 ca 7d 2b c0 3b 4d 08 b8 01 00 00 00 8d 4b c8 0f 45 EIP: [] anon_vma_link+0x59/0xa3 SS:ESP 0068:f7143e8c <3>BUG: sleeping function called from invalid context at include/linux/rwsem.h:43 in_atomic():1, irqs_disabled():0 [] show_trace+0x13/0x15 [] dump_stack+0x18/0x1c [] __might_sleep+0x87/0x8f [] blocking_notifier_call_chain+0x13/0x42 [] profile_task_exit+0x12/0x17 [] do_exit+0x1b/0x76b [] die+0x23f/0x266 [] do_trap+0x7a/0x98 [] do_invalid_op+0x8a/0x94 [] error_code+0x4f/0x54 [] copy_process+0xa8e/0x1188 [] do_fork+0x94/0x196 [] sys_clone+0x21/0x23 [] syscall_call+0x7/0xb note: bash[2994] exited with preempt_count 1 BUG: scheduling while atomic: bash/0x00000001/2994 [] show_trace+0x13/0x15 [] dump_stack+0x18/0x1c [] schedule+0x43/0x5aa [] rwsem_down_read_failed+0x138/0x156 [] .text.lock.exit+0x7/0x67 [] do_exit+0x187/0x76b [] die+0x23f/0x266 [] do_trap+0x7a/0x98 [] do_invalid_op+0x8a/0x94 [] error_code+0x4f/0x54 [] copy_process+0xa8e/0x1188 [] do_fork+0x94/0x196 [] sys_clone+0x21/0x23 [] syscall_call+0x7/0xb