|
Bugzilla – Full Text Bug Listing |
| Summary: | kernel ooops on reiser4 partitions | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE LINUX 10.0 | Reporter: | Kai Krakow <kai> |
| Component: | Kernel | Assignee: | Chris L Mason <mason> |
| Status: | RESOLVED WONTFIX | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P5 - None | ||
| Version: | RC 1 | ||
| Target Milestone: | --- | ||
| Hardware: | i686 | ||
| OS: | SUSE Other | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Kai Krakow
2005-09-19 23:50:31 UTC
Here is one of the ooops messages - got this with the kernel of the day. But this kernel does not hang the processes as 2.6.13-8 from RC1 does. It just segfaults them: Sep 20 08:02:59 ganymed kernel: kernel BUG at fs/inode.c:252! Sep 20 08:02:59 ganymed kernel: invalid operand: 0000 [#1] Sep 20 08:02:59 ganymed kernel: Modules linked in: sg st sr_mod joydev snd_trident gameport snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd_page_alloc snd_uti l_mem snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore sis drm hfsplus vfat fat subfs ipt_pkttype ipt_LOG ipt_limit usbserial speedstep_lib freq_table p arport_pc lp parport irtty_sir sir_dev pcc_acpi ircomm_tty sony_acpi ircomm irda crc_ccitt thermal processor ide_cd cdrom fan button battery ac pcmcia firmware_ class edd uhci_hcd ehci_hcd ip6t_REJECT ipt_REJECT ipt_state yenta_socket rsrc_nonstatic pcmcia_core iptable_mangle iptable_nat shpchp pci_hotplug iptable_filte r ip6table_mangle sis_agp agpgart ip_conntrack ip_tables i2c_sis630 i2c_core ip6table_filter ip6_tables usbhid sis900 mii ohci_hcd usbcore ipv6 af_packet sd_mod scsi_mod dm_mod reiser4 reiserfs sis5513 zlib_deflate ide_disk ide_core Sep 20 08:02:59 ganymed kernel: CPU: 0 Sep 20 08:02:59 ganymed kernel: EIP: 0060:[<c016fb43>] Tainted: G U VLI Sep 20 08:02:59 ganymed kernel: EFLAGS: 00010202 (2.6.13-20050919180106-default) Sep 20 08:02:59 ganymed kernel: EIP is at clear_inode+0x13/0xf0 Sep 20 08:02:59 ganymed kernel: eax: 00000001 ebx: ce72f50c ecx: 00000000 edx: ce72f5e8 Sep 20 08:02:59 ganymed kernel: esi: d890a8b0 edi: d5525f68 ebp: d027e53c esp: d5525ebc Sep 20 08:02:59 ganymed kernel: ds: 007b es: 007b ss: 0068 Sep 20 08:02:59 ganymed kernel: Process vi (pid: 13642, threadinfo=d5524000 task=d4afea60) Sep 20 08:02:59 ganymed kernel: Stack: ce72f50c d890a8b0 d890a914 4b1b5d0b 00000000 00000001 d5525ed4 d5525ed4 Sep 20 08:02:59 ganymed kernel: 00000000 d5525ee0 d5525ee0 d5525bc0 cc565900 00000000 00000000 00000000 Sep 20 08:02:59 ganymed kernel: d5525efc d5525efc d5525f08 00000000 00000001 cf472da0 cf472e30 cf472e30 Sep 20 08:02:59 ganymed kernel: Call Trace: Sep 20 08:02:59 ganymed kernel: [<d890a8b0>] reiser4_delete_inode+0x0/0x80 [reiser4] Sep 20 08:02:59 ganymed kernel: [<d890a914>] reiser4_delete_inode+0x64/0x80 [reiser4] Sep 20 08:02:59 ganymed kernel: [<d890a8b0>] reiser4_delete_inode+0x0/0x80 [reiser4] Sep 20 08:02:59 ganymed kernel: [<c01707ab>] generic_delete_inode+0x7b/0x120 Sep 20 08:02:59 ganymed kernel: [<c0170a0a>] iput+0x5a/0x70 Sep 20 08:02:59 ganymed kernel: [<c0167bd4>] sys_unlink+0xd4/0x130 Sep 20 08:02:59 ganymed kernel: [<c0102d1b>] sysenter_past_esp+0x54/0x79 Sep 20 08:02:59 ganymed kernel: Code: fb 41 c0 48 a3 28 fb 41 c0 eb c4 8d b6 00 00 00 00 8d bc 27 00 00 00 00 56 53 89 c3 e8 77 b3 fe ff 8b 83 c8 00 00 00 85 c0 74 08 <0f> 0b fc 00 97 70 31 c0 8b 83 2c 01 00 00 a8 10 75 08 0f 0b fe Without having done extensive testing, I seem to have fixed it by reapplying the current reiser4 patch to the kotd sources. I did it the following way: 1. Downloaded and installed: ftp://ftp.suse.com/pub/projects/kernel/kotd/i386/HEAD/kernel-source-2.6.13-20050919180106.src.rpm In the src directory I moved fs/reiser4/ to fs/reiser4.suse/. 2. Downloaded and applied: ftp://ftp.namesys.com/pub/reiser4-for-2.6/2.6.12/reiser4-for-2.6.12-3.patch.gz I checked all the rejects if changes are now and had been applied correctly before. In der src directory I moved fs/reiser4/ to fs/reiser4.orig/. 3. Downloaded and applied: ftp://ftp.namesys.com/pub/reiser4-for-2.6/2.6.13-mm1/reiser4-only.1.patch There should be no rejects this time, just a failing patch because of a missing file. On my assumptions this is okay, but I need to copy back some files from the original suse reiser4 directory: 4. Restore Makefile and Kconfig from fs/reiser4.suse/ to fs/reiser4/ After this I checked all reject files again, and the code looked as it would compile now. And it did. Sure, this may be a pretty dirty way to include the current patch but I didn't have the original (Open)SuSE sources with all patches but the reiser4 one included. After diffing the original reiser4 source from kotd with the current patch from namesys I found many read_lock calls habe been replaced by write_lock calls. I suppose this is why the kernel oopsed before - inodes were not properly locked in kernel 2.6.13 semantics. Just my 2 cents... ;-) BTW: About restoring files in point 4 - I am currently not sure about how and from where restoring the Makefile. My comment about this may thus be wrong. Well after some testing, my last steps fixed the hangs during bootup but kdm and the x-server just don't start and can't be killed. I get about the same kernel oopses then (related to unlinking files) but vim is able to write changes to files now without hangs and oopses. Now I'm clueless. I'm no kernel hacker. ;-) Sigh, maybe I need to go back to reiserfs if this won't be fixed till 10.0 final release. I'm running fine now on kernel 2.6.13-mm3 from kernel.org using /proc/config.gz from the delivered kernel 2.8.13-8. Closed due to inactivity. |