* [BUG] fs/jbd/checkpoint.c:427: "blocknr != 0"
@ 2004-07-24 11:40 Franz Pletz
2004-07-27 23:11 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: Franz Pletz @ 2004-07-24 11:40 UTC (permalink / raw)
To: linux-kernel
Hi!
I got the following error message after trying to mount my data-partition.
Assertion failure in cleanup_journal_tail() at fs/jbd/checkpoint.c:427:
"blocknr != 0"
------------[ cut here ]------------
kernel BUG at fs/jbd/checkpoint.c:427!
invalid operand: 0000 [#1]
PREEMPT SMP
Modules linked in: ds yenta_socket pcmcia_core ide_cd cdrom usb_storage
scsi_mod psmouse evdev pcspkr adm1021 i2c_i801 i2c_sensor i2c_dev
i2c_core natsemi crc32
CPU: 1
EIP: 0060:[<c01a9df4>] Not tainted VLI
EFLAGS: 00010282 (2.6.8-rc1-mm1)
EIP is at cleanup_journal_tail+0x12c/0x185
eax: 0000005a ebx: ddd3e000 ecx: c032b9bc edx: c032b9bc
esi: 00000000 edi: dfd09a00 ebp: 0004e110 esp: ddd3fda8
ds: 007b es: 007b ss: 0068
Process mount (pid: 8635, threadinfo=ddd3e000 task=df64e0b0)
Stack: c02fdd80 c02ebf6f c02fcba4 000001ab c02fcbcb ddd3e000 dfd09a00
ddd3e000
00000000 c01acd79 dfd09a00 c011bda0 ddd3fdd8 ddd3fdd8 00003c70
dfd09a14
c03de41f dfd09a00 dfd07400 dfa39400 dfa39400 c019f39a dfd09a00
c02feca8
Call Trace:
[<c01acd79>] journal_flush+0x101/0x385
[<c011bda0>] autoremove_wake_function+0x0/0x57
[<c019f39a>] ext3_mark_recovery_complete+0x33/0x81
[<c019e957>] ext3_fill_super+0x892/0xbcf
[<c016004e>] get_sb_bdev+0x120/0x153
[<c019f8e4>] ext3_get_sb+0x2f/0x33
[<c019e0c5>] ext3_fill_super+0x0/0xbcf
[<c0160273>] do_kern_mount+0x57/0xd3
[<c0177ab5>] do_new_mount+0x9c/0xe0
[<c0178205>] do_mount+0x145/0x194
[<c0178067>] copy_mount_options+0x63/0xbc
[<c01786a0>] sys_mount+0xd4/0x158
[<c01050fb>] syscall_call+0x7/0xb
Code: 44 24 10 cb cb 2f c0 c7 44 24 0c ab 01 00 00 c7 44 24 08 a4 cb 2f
c0 c7 44 24 04 6f bf 2e c0 c7 04 24 80 dd 2f c0 e8 e3 4a f7 ff <0f> 0b
ab 01 a4 cb 2f c0 e9 3f ff ff ff e8 fd d7 13 00 e9 2d ff
<6>note: mount[8635] exited with preempt_count 2
I'm using 2.6.8-rc1-mm1 but experience the same problem with a 2.4 and
2.6.7 kernel. Every other partition can be mounted without any problems.
I ran fsck on the partition but no errors where found.
What can I do to rescue my data?
I do have backups but some recent work will otherwise be lost. :-(
Thanks!
Greetings from Germany,
Franz Pletz
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [BUG] fs/jbd/checkpoint.c:427: "blocknr != 0"
2004-07-24 11:40 [BUG] fs/jbd/checkpoint.c:427: "blocknr != 0" Franz Pletz
@ 2004-07-27 23:11 ` Andrew Morton
2004-07-27 23:42 ` Franz Pletz
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2004-07-27 23:11 UTC (permalink / raw)
To: Franz Pletz; +Cc: linux-kernel, ext2-devel
franz_pletz@t-online.de (Franz Pletz) wrote:
>
> Hi!
>
> I got the following error message after trying to mount my data-partition.
>
> Assertion failure in cleanup_journal_tail() at fs/jbd/checkpoint.c:427:
> "blocknr != 0"
That's new.
> ------------[ cut here ]------------
> kernel BUG at fs/jbd/checkpoint.c:427!
> invalid operand: 0000 [#1]
> PREEMPT SMP
> Modules linked in: ds yenta_socket pcmcia_core ide_cd cdrom usb_storage
> scsi_mod psmouse evdev pcspkr adm1021 i2c_i801 i2c_sensor i2c_dev
> i2c_core natsemi crc32
> CPU: 1
> EIP: 0060:[<c01a9df4>] Not tainted VLI
> EFLAGS: 00010282 (2.6.8-rc1-mm1)
> EIP is at cleanup_journal_tail+0x12c/0x185
> eax: 0000005a ebx: ddd3e000 ecx: c032b9bc edx: c032b9bc
> esi: 00000000 edi: dfd09a00 ebp: 0004e110 esp: ddd3fda8
> ds: 007b es: 007b ss: 0068
> Process mount (pid: 8635, threadinfo=ddd3e000 task=df64e0b0)
> Stack: c02fdd80 c02ebf6f c02fcba4 000001ab c02fcbcb ddd3e000 dfd09a00
> ddd3e000
> 00000000 c01acd79 dfd09a00 c011bda0 ddd3fdd8 ddd3fdd8 00003c70
> dfd09a14
> c03de41f dfd09a00 dfd07400 dfa39400 dfa39400 c019f39a dfd09a00
> c02feca8
> Call Trace:
> [<c01acd79>] journal_flush+0x101/0x385
> [<c011bda0>] autoremove_wake_function+0x0/0x57
> [<c019f39a>] ext3_mark_recovery_complete+0x33/0x81
> [<c019e957>] ext3_fill_super+0x892/0xbcf
> [<c016004e>] get_sb_bdev+0x120/0x153
> [<c019f8e4>] ext3_get_sb+0x2f/0x33
> [<c019e0c5>] ext3_fill_super+0x0/0xbcf
> [<c0160273>] do_kern_mount+0x57/0xd3
> [<c0177ab5>] do_new_mount+0x9c/0xe0
> [<c0178205>] do_mount+0x145/0x194
> [<c0178067>] copy_mount_options+0x63/0xbc
> [<c01786a0>] sys_mount+0xd4/0x158
> [<c01050fb>] syscall_call+0x7/0xb
> Code: 44 24 10 cb cb 2f c0 c7 44 24 0c ab 01 00 00 c7 44 24 08 a4 cb 2f
> c0 c7 44 24 04 6f bf 2e c0 c7 04 24 80 dd 2f c0 e8 e3 4a f7 ff <0f> 0b
> ab 01 a4 cb 2f c0 e9 3f ff ff ff e8 fd d7 13 00 e9 2d ff
> <6>note: mount[8635] exited with preempt_count 2
>
> I'm using 2.6.8-rc1-mm1 but experience the same problem with a 2.4 and
> 2.6.7 kernel. Every other partition can be mounted without any problems.
> I ran fsck on the partition but no errors where found.
>
> What can I do to rescue my data?
> I do have backups but some recent work will otherwise be lost. :-(
I assume you have a wrecked journal, which is triggering this assert:
} else {
first_tid = journal->j_transaction_sequence;
blocknr = journal->j_head;
}
spin_unlock(&journal->j_list_lock);
J_ASSERT(blocknr != 0);
/* If the oldest pinned transaction is at the tail of the log
already then there's not much we can do right now. */
e2fsck should have fixed this up when doing its journal replay.
You could probably get your data back by temporarily removing the journal:
tune2fs -O ^has_journal /dev/hda1
e2fsck -f /dev/hda1
tune2fs -j /dev/hda1
e2fsck -f /dev/hda1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [BUG] fs/jbd/checkpoint.c:427: "blocknr != 0"
2004-07-27 23:11 ` Andrew Morton
@ 2004-07-27 23:42 ` Franz Pletz
0 siblings, 0 replies; 3+ messages in thread
From: Franz Pletz @ 2004-07-27 23:42 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, ext2-devel
Andrew Morton wrote:
> I assume you have a wrecked journal, which is triggering this assert:
>
> } else {
> first_tid = journal->j_transaction_sequence;
> blocknr = journal->j_head;
> }
> spin_unlock(&journal->j_list_lock);
> J_ASSERT(blocknr != 0);
>
> /* If the oldest pinned transaction is at the tail of the log
> already then there's not much we can do right now. */
>
> e2fsck should have fixed this up when doing its journal replay.
>
> You could probably get your data back by temporarily removing the journal:
>
> tune2fs -O ^has_journal /dev/hda1
> e2fsck -f /dev/hda1
> tune2fs -j /dev/hda1
> e2fsck -f /dev/hda1
That solved the problem. Thank you very much.
I've read the tune2fs manpage in order to rebuild the journal in some
way. But as I didn't want to destroy my data, I didn't dare to do
something unless I am really sure what I'm doing.
I can't track that error down to a specific issue because the machine
didn't lock up or something similar. I just shut it down and got that
message when booting it the other day.
Franz
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-07-27 23:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-24 11:40 [BUG] fs/jbd/checkpoint.c:427: "blocknr != 0" Franz Pletz
2004-07-27 23:11 ` Andrew Morton
2004-07-27 23:42 ` Franz Pletz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®