[Ocfs2-users] Linux kernel crash due to ocfs2

Sunil Mushran sunil.mushran at oracle.com
Thu Sep 15 09:45:09 PDT 2011


I was hoping to get a readable stack. Please could you provide a link to
the coredump.

On 09/15/2011 02:51 AM, Betzos Giorgos wrote:
> Hello,
>
> I am sorry for the delay in responding. Unfortunately, if faulted again.
>
> Here is the log. Although my email client folds the Memory Map lines.
> The core file is available.
>
> Thanks,
>
> George
>
> # ./o2image.ppc.dbg /dev/mapper/mpath0 /files_shared/u02.o2image
> *** glibc detected *** ./o2image.ppc.dbg: corrupted double-linked list:
> 0x10075000 ***
> ======= Backtrace: =========
> /lib/libc.so.6[0xfeb1ab4]
> /lib/libc.so.6(cfree+0xc8)[0xfeb5b68]
> ./o2image.ppc.dbg[0x1000d098]
> ./o2image.ppc.dbg[0x1000297c]
> ./o2image.ppc.dbg[0x10001eb8]
> ./o2image.ppc.dbg[0x1000228c]
> ./o2image.ppc.dbg[0x10002804]
> ./o2image.ppc.dbg[0x10001eb8]
> ./o2image.ppc.dbg[0x1000228c]
> ./o2image.ppc.dbg[0x10002804]
> ./o2image.ppc.dbg[0x10003bbc]
> ./o2image.ppc.dbg[0x10004480]
> /lib/libc.so.6[0xfe4dc60]
> /lib/libc.so.6[0xfe4dea0]
> ======= Memory map: ========
> 00100000-00120000 r-xp 00100000 00:00 0
> [vdso]
> 0f430000-0f440000 r-xp 00000000 08:13
> 180307                             /lib/libcom_err.so.2.1
> 0f440000-0f450000 rw-p 00000000 08:13
> 180307                             /lib/libcom_err.so.2.1
> 0f900000-0f9c0000 r-xp 00000000 08:13
> 180293                             /lib/libglib-2.0.so.0.1200.3
> 0f9c0000-0f9d0000 rw-p 000b0000 08:13
> 180293                             /lib/libglib-2.0.so.0.1200.3
> 0fa40000-0fa50000 r-xp 00000000 08:13
> 180292                             /lib/librt-2.5.so
> 0fa50000-0fa60000 r--p 00000000 08:13
> 180292                             /lib/librt-2.5.so
> 0fa60000-0fa70000 rw-p 00010000 08:13
> 180292                             /lib/librt-2.5.so
> 0fce0000-0fd00000 r-xp 00000000 08:13
> 180291                             /lib/libpthread-2.5.so
> 0fd00000-0fd10000 r--p 00010000 08:13
> 180291                             /lib/libpthread-2.5.so
> 0fd10000-0fd20000 rw-p 00020000 08:13
> 180291                             /lib/libpthread-2.5.so
> 0fe30000-0ffa0000 r-xp 00000000 08:13
> 180288                             /lib/libc-2.5.so
> 0ffa0000-0ffb0000 r--p 00160000 08:13
> 180288                             /lib/libc-2.5.so
> 0ffb0000-0ffc0000 rw-p 00170000 08:13
> 180288                             /lib/libc-2.5.so
> 0ffc0000-0ffe0000 r-xp 00000000 08:13
> 180287                             /lib/ld-2.5.so
> 0ffe0000-0fff0000 r--p 00010000 08:13
> 180287                             /lib/ld-2.5.so
> 0fff0000-10000000 rw-p 00020000 08:13
> 180287                             /lib/ld-2.5.so
> 10000000-10050000 r-xp 00000000 08:13
> 7487795                            /root/o2image.ppc.dbg
> 10050000-10060000 rw-p 00040000 08:13
> 7487795                            /root/o2image.ppc.dbg
> 10060000-10090000 rwxp 10060000 00:00 0
> [heap]
> f7680000-f7ff0000 rw-p f7680000 00:00 0
> ff9a0000-ffaf0000 rw-p ff9a0000 00:00 0
> [stack]
> Aborted (core dumped)
>
>
> On Thu, 2011-09-08 at 12:10 -0700, Sunil Mushran wrote:
>> http://oss.oracle.com/~smushran/o2image.ppc.dbg
>>
>> Use the above executable. Hoping it won't fault. But if it does
>> email me the backtrace. That trace will be readable as the exec
>> has debugging symbols enabled.
>>
>> On 09/07/2011 11:24 PM, Betzos Giorgos wrote:
>>> # rpm -q ocfs2-tools
>>> ocfs2-tools-1.4.4-1.el5.ppc
>>>
>>> On Wed, 2011-09-07 at 09:13 -0700, Sunil Mushran wrote:
>>>> version of ocfs2-tools?
>>>>
>>>> On 09/07/2011 09:10 AM, Betzos Giorgos wrote:
>>>>> Hello,
>>>>>
>>>>> I tried what you suggested but here is what I got:
>>>>>
>>>>> # o2image /dev/mapper/mpath0 /files_shared/u02.o2image
>>>>> *** glibc detected *** o2image: corrupted double-linked list: 0x10045000 ***
>>>>> ======= Backtrace: =========
>>>>> /lib/libc.so.6[0xfeb1ab4]
>>>>> /lib/libc.so.6(cfree+0xc8)[0xfeb5b68]
>>>>> o2image[0x10007bb0]
>>>>> o2image[0x10002748]
>>>>> o2image[0x10001f50]
>>>>> o2image[0x10002334]
>>>>> o2image[0x100026a0]
>>>>> o2image[0x10001f50]
>>>>> o2image[0x10002334]
>>>>> o2image[0x100026a0]
>>>>> o2image[0x1000358c]
>>>>> o2image[0x10003e28]
>>>>> /lib/libc.so.6[0xfe4dc60]
>>>>> /lib/libc.so.6[0xfe4dea0]
>>>>> ======= Memory map: ========
>>>>> 00100000-00120000 r-xp 00100000 00:00 0                                  [vdso]
>>>>> 0f550000-0f560000 r-xp 00000000 08:13 2881590                            /lib/libcom_err.so.2.1
>>>>> 0f560000-0f570000 rw-p 00000000 08:13 2881590                            /lib/libcom_err.so.2.1
>>>>> 0f900000-0f9c0000 r-xp 00000000 08:13 2881576                            /lib/libglib-2.0.so.0.1200.3
>>>>> 0f9c0000-0f9d0000 rw-p 000b0000 08:13 2881576                            /lib/libglib-2.0.so.0.1200.3
>>>>> 0fa40000-0fa50000 r-xp 00000000 08:13 2881575                            /lib/librt-2.5.so
>>>>> 0fa50000-0fa60000 r--p 00000000 08:13 2881575                            /lib/librt-2.5.so
>>>>> 0fa60000-0fa70000 rw-p 00010000 08:13 2881575                            /lib/librt-2.5.so
>>>>> 0fce0000-0fd00000 r-xp 00000000 08:13 2881574                            /lib/libpthread-2.5.so
>>>>> 0fd00000-0fd10000 r--p 00010000 08:13 2881574                            /lib/libpthread-2.5.so
>>>>> 0fd10000-0fd20000 rw-p 00020000 08:13 2881574                            /lib/libpthread-2.5.so
>>>>> 0fe30000-0ffa0000 r-xp 00000000 08:13 2881571                            /lib/libc-2.5.so
>>>>> 0ffa0000-0ffb0000 r--p 00160000 08:13 2881571                            /lib/libc-2.5.so
>>>>> 0ffb0000-0ffc0000 rw-p 00170000 08:13 2881571                            /lib/libc-2.5.so
>>>>> 0ffc0000-0ffe0000 r-xp 00000000 08:13 2881570                            /lib/ld-2.5.so
>>>>> 0ffe0000-0fff0000 r--p 00010000 08:13 2881570                            /lib/ld-2.5.so
>>>>> 0fff0000-10000000 rw-p 00020000 08:13 2881570                            /lib/ld-2.5.so
>>>>> 10000000-10020000 r-xp 00000000 08:13 15058799                           /sbin/o2image
>>>>> 10020000-10030000 rw-p 00010000 08:13 15058799                           /sbin/o2image
>>>>> 10030000-10060000 rwxp 10030000 00:00 0                                  [heap]
>>>>> f7680000-f7ff0000 rw-p f7680000 00:00 0
>>>>> ffc60000-ffdb0000 rw-p ffc60000 00:00 0                                  [stack]
>>>>> Aborted (core dumped)
>>>>>
>>>>> I have the core file, if you need it.
>>>>>
>>>>> Here is some information about the fs in question.
>>>>> It is used to store Oracle Archive Logs and also to store the rman backup of the DB
>>>>> In the last crash case the fs became full while rman was running. Maybe we can estimate from
>>>>> this the size of the write in that particular case. Oracle DB rman backup files are from 7 to 11Gb.
>>>>> Maybe Oracle DataGuard was also using on the same fs.
>>>>> After the crash, when we rebooted the servers, they would crash again. We then noticed that
>>>>> the fs was full and we removed some unneeded files.
>>>>>
>>>>> The system has crashed a couple more times when the above conditions may not have been the same.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> George
>>>>>
>>>>> ________________________________________
>>>>> From: Sunil Mushran
>>>>> Sent: Friday, September 02, 2011 8:24 PM
>>>>> To: Betzos Giorgos
>>>>> Cc: ocfs2-users at oss.oracle.com
>>>>> Subject: Re: [Ocfs2-users] Linux kernel crash due to ocfs2
>>>>>
>>>>> Can you provide me with the o2image. It includes the entire fs metadata.
>>>>> The size of the image file depends on the number of files/dirs.
>>>>>
>>>>> # o2image /dev/sdX  /path/to/image/file
>>>>>
>>>>> So the error is clear. We have underestimated the amount of credits
>>>>> (num of blocks that need to be dirtied in that transaction). This is the most
>>>>> common write path in the fs and thus hit heavily. So I am surprised by this.
>>>>>
>>>>> One way to fix it is by reproducing it inhouse. And having the image will allow
>>>>> us to mount the fs and reproduce the issue. Do you know the size of the write?
>>>>>
>>>>> On 09/02/2011 07:23 AM, Betzos Giorgos wrote:
>>>>>> Hello,
>>>>>>
>>>>>> we have a pair of IBM P570 servers running RHEL5.2
>>>>>> kernel 2.6.18-92.el5.ppc64
>>>>>> We have Oracle RAC on ocfs2 storage
>>>>>> ocfs2 is 1.4.7-1 for the above kernel (downloaded from oracle oss site)
>>>>>>
>>>>>> Recently both servers have been crashing with the following error:
>>>>>>
>>>>>> Assertion failure in journal_dirty_metadata() at
>>>>>> fs/jbd/transaction.c:1130: "handle->h_buffer_credits>     0"
>>>>>> kernel BUG in journal_dirty_metadata at fs/jbd/transaction.c:1130!
>>>>>>
>>>>>> We get some kind of kernel debug prompt.
>>>>>>
>>>>>> the stack is as follows:
>>>>>>
>>>>>> .ocfs2_journal_dirty+0x78/0x13c [ocfs2]
>>>>>> .ocfs2_search_chain+0x131c/0x165c [ocfs2]
>>>>>> .ocfs2_claim_suballoc_bits+0xadc/0xd94 [ocfs2]
>>>>>> .__ocfs2_claim_clusters+0x1b0/0x348 [ocfs2]
>>>>>> .ocf2_do_extend_allocation+0x1f8/0x5b4 [ocfs2]
>>>>>> .ocfs2_write_cluster_by_desc+0x128/0x850 [ocfs2]
>>>>>> .ocfs2_write_begin_nolock+0xdc0/0xfbc [ocfs2]
>>>>>> .ocfs2_write_begin+0x124/0x224 [ocfs2]
>>>>>> .ocfs2_file_aio_write+0x6a4/0xb40 [ocfs2]
>>>>>> .aio_pwrite+0x50/0xb4
>>>>>> .aio_run_iocb+0x140/0x214
>>>>>> .io_submit_one+0x2fc/0x3a8
>>>>>> .sys_io_submit+0xd0/0x17c
>>>>>> syscall_exit+0x0/0x40
>>>>>>
>>>>>> In the last crash case, the file system was full.
>>>>>>
>>>>>> Any clues?
>>>>>>
>>>>>> There seems to be a ocfs2 kernel patch some time ago for the 2.6.20.2
>>>>>> kernel that fixed some journal credits updates.
>>>>>>
>>>>>> Is this another bug?
>>>>>>
>>>>>> Any help will be greatly appreciated, because this is a production
>>>>>> system.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> George




More information about the Ocfs2-users mailing list