System crashed with "Assertion failure in journal_commit_transaction()" message

Issue:

System crashed with following panic message:

Assertion failure in journal_commit_transaction() at fs/jbd/commit.c:485: \
"commit_transaction->t_nr_buffers <= commit_transaction->t_outstanding_credits"
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at fs/jbd/commit.c:485
invalid opcode: 0000 [1] SMP
last sysfs file: /devices/pci0000:20/0000:20:01.0/0000:21:01.0/0000:22:06.1/irq
CPU 1
Pid: 2840, comm: kjournald Not tainted 2.6.18-128.1.10.el5 #1
RIP: 0010:[]  [] \
:jbd:journal_commit_transaction+0x692/0x10e6
RSP: 0018:ffff81026da81de0  EFLAGS: 00010286
RAX: 000000000000009d RBX: ffff8103ffd9754c RCX: 0000000000000000
RDX: 00000000000000ff RSI: 0000000000000000 RDI: ffffffff802f7aa0
RBP: ffff8103ffd97400 R08: ffffffff802f7aa8 R09: 0000000000000046
R10: ffff81026da81a90 R11: 0000000000000280 R12: 0000000000000000
R13: ffff81025ef9f3c0 R14: 0000000000000000 R15: ffff8103fb2e3000
FS:  00002b55a855e670(0000) GS:ffff81010e1117c0(0000) knlGS:00000000eb779b90
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00000000006408a0 CR3: 000000006bba0000 CR4: 00000000000006e0
Process kjournald (pid: 2840, threadinfo ffff81026da80000, task ffff8103fb14f040)
Stack:  ffff8103fb2e3000 0000000000002695 ffff810300000000 0000000000000000
0000000300000000 ffff81010e116100 0000000000000286 ffffffff8003d525
ffff8103ffd97590 00000000ffffffff 0000000000000286 ffffffff8004abc9
Call Trace:
[]lock_timer_base+0x1b/0x3c
[]try_to_del_timer_sync+0x51/0x5a
[]:jbd:kjournald+0xc1/0x213
[] autoremove_wake_function+0x0/0x2e
[] keventd_create_kthread+0x0/0xc4
[] :jbd:kjournald+0x0/0x213
[] keventd_create_kthread+0x0/0xc4
[] kthread+0xfe/0x132
[] child_rip+0xa/0x11
[] keventd_create_kthread+0x0/0xc4
[] kthread+0x0/0x132
[] child_rip+0x0/0x11

Code: 0f 0b 68 74 8e 03 88 c2 e5 01 45 31 e4 45 31 ff c7 44 24 18
RIP  [] :jbd:journal_commit_transaction+0x692/0x10e6
RSP 
        
Environment:
  • Red Hat Enterprise Linux (RHEL), including:
    • Red Hat Enterprise Linux 5 (RHEL4) - all versions
    • Red Hat Enterprise Linux 5 (RHEL5) - all current versions
  • EXT4 filesystems are in use.
Resolution:

Fixes will are planned to be released via erratas for RHEL 5.3, 5.6, and 5.8. A fix is also planned to be included in RHEL 5.9.

Root Cause:

A bug has been discovered that allows a counter within the journal_commit_transaction code to go negative, which triggers the assert and causes a kernel panic.


Back to top...

 

+ Recent posts