This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

kernel crash while running h264 codec on DM6446 based board

Hi,
we are using our own custom made board with DM6446. I have written a camera capture application which
captures images encodes it in H264, decodes it & then display it on fb.
It runs smoothly for some time & then crashes .

How do I debug this crash dump so that i can find the source of the problem.

ortp-m, *pte=00000000essage-get_pictu, *ppte=00000000re_buffer_size 1
07
ortp-messageInternal error: Oops: 7 [#1]
Modules linked in: dsplinkk cmemk
CPU: 0    Not tainted  (2.6.23-davinci1 #219)
PC is at SYNC_WaitSEM+0x1d0/0x260 [dsplinkk]
LR is at __atomic_notifier_call_chain+

0x1c/0x24
pc : [<bf00d680>]    lr : [<c004959c>]    psr: 50000013
sp : c1975dd0  ip : 00000000  fp : c1975e44
r10: c0038e14  r9 : 00008000  r8 : c7930008
r7 : c1974000  r6 : c1975de8  r5 : c7930000  r4 : c1975de0
r3 : 00000001  r2 : c04bb900  r1 : 00000002  r0 : c04bb900
Flags: nZcV  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: 81794000  DAC: 00000015
Process linphonec (pid: 1118, stack limit = 0xc1974260)
Stack: (0xc1975dd0 to 0xc1976000)
5dc0:                                     00000000 c04bb900 c0038e14 00000000
5de0: 00000000 00000000 00000001 c04bb900 c0038e14 c7930008 c7930008 c0038edc
5e00: 60000013 ffffffff 00000000 bf02211c 00000000 c7932008 c1975e44 00008000
5e20: c15174c0 bf02211c c67526e0 bf02210c 00000000 00000000 c1975e7c c1975e48
5e40: bf00c4d4 bf00d4c0 bf00b8d8 ffffffff c1975e8c c1975e8c 00000000 00008000
5e60: 00007302 c002861c c1974000 00900036 c1975eac c1975e80 bf00c714 bf00c394
5e80: 00000000 00000000 c1975f0c 00000000 c0027ab4 c1975f00 00008000 00008000
5ea0: c1975efc c1975eb0 bf008930 bf00c5d8 40020000 c6687288 00000000 40020000
5ec0: 4002b000 40020000 c748d23c c1975f1c c1975f0c c1975ee0 c006e18c 43f60170
5ee0: 00000000 43f60170 00000000 00007302 c1975f34 c1975f00 bf008138 bf0081c8
5f00: 00008000 00000000 40020480 00008200 001eff10 00008000 c75758a0 ffffffe7
5f20: 43f60170 00000011 c1975f54 c1975f38 c008b490 bf0080b8 c1975f84 c75758a0
5f40: 43f60170 00000000 c1975f7c c1975f58 c008b72c c008b42c 00008680 c6752714
5f60: fffffff7 43f60170 00007302 c75758a0 c1975fa4 c1975f80 c008b790 c008b4b0
5f80: c0073d9c 00000001 001f02b0 43f61000 00215d70 00000036 00000000 c1975fa8
5fa0: c0027e20 c008b75c 001f02b0 43f61000 00000011 00007302 43f60170 00213e60
5fc0: 001f02b0 43f61000 00215d70 00000108 00215d34 000005a0 00000000 43f6016c
5fe0: 001d6024 43f60110 000221e4 401d2294 80000010 00000011 020030fe e2200000
Backtrace:
[<bf00d4b0>] (SYNC_WaitSEM+0x0/0x260 [dsplinkk]) from [<bf00c4d4>] (UEVENT_AddBufByPid+0x150/0x17c [dsplinkk])
[<bf00c384>] (UEVENT_AddBufByPid+0x0/0x17c [dsplinkk]) from [<bf00c714>] (NOTIFY_KnlFinalize+0x14c/0x16c [dsplinkk])
[<bf00c5c8>] (NOTIFY_KnlFinalize+0x0/0x16c [dsplinkk]) from [<bf008930>] (DRV_CallAPI+0x778/0x8f0 [dsplinkk])
 r6:00008000 r5:00008000 r4:c1975f00
[<bf0081b8>] (DRV_CallAPI+0x0/0x8f0 [dsplinkk]) from [<bf008138>] (DRV_Ioctl+0x90/0x110 [dsplinkk])
 r7:00007302 r6:00000000 r5:43f60170 r4:00000000
[<bf0080a8>] (DRV_Ioctl+0x0/0x110 [dsplinkk]) from [<c008b490>] (do_ioctl+0x74/0x84)
 r7:00000011 r6:43f60170 r5:ffffffe7 r4:c75758a0
[<c008b41c>] (do_ioctl+0x0/0x84) from [<c008b72c>] (vfs_ioctl+0x28c/0x2ac)
 r6:00000000 r5:43f60170 r4:c75758a0
[<c008b4a0>] (vfs_ioctl+0x0/0x2ac) from [<c008b790>] (sys_ioctl+0x44/0x68)
 r7:c75758a0 r6:00007302 r5:43f60170 r4:fffffff7
[<c008b74c>] (sys_ioctl+0x0/0x68) from [<c0027e20>] (ret_fast_syscall+0x0/0x2c)
 r7:00000036 r6:00215d70 r5:43f61000 r4:001f02b0
Code: eb410c34 e597200c e3a03001 e5823000 (e5953010) 


--
Thanks & regards
yuvraj pasi
  • Hi Yuvraj,

    ortp-messageInternal error: Oops: 7 [#1]

    This error is generally seen due to kernel pointer pointing to an unreferenced module. This module may be left out of the link and it maybe running smoothly till the requirement of access to such a module occurred. Then kernel has a null pointer pointing to the missing module. The dump file probably wont give you much information about these missing modules. Try looking into the kernel linked files for some missing module/reference.

    Hope this helps,

    Regards,

    Sid

  • Hi Sid,

    Thanks for the reply. I was analysing the dump & found that this crash is happening dsplinkk.ko module (.text 0xbf008000) address.

    It seems like it is happening in file /home/chandu/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt/packages/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c

    in function UEVENT_AddBufByPid() called by function NOTIFY_KnlFinalize(). which i think is probably used to notify something to kernel. so as what you

    said in your post it notifies something to a kernel module which probably missing. what that module can be. Any ideas !!!

    On a second thought can I disable this notification to kernel by dsplinkk.

    Is there a workaround possible for this problem???

     

    Thanks & regards

    yuvraj pasi

     

  • Hi Yuvraj,

    I cant think of the exact module that could be missing. Maybe a patch or an upgrade is available if this is a known issue. Can you dig around regarding this. Also, does 'dmesg' give you a detailed view of the kernel modules linked? Posting it might help too

    Regards,

    Sid

  • Yuvraj,

    Pasting Mugdha's reply on the forum here for future reference.

    Hi,

     

    Are you by any chance calling ‘kill’ or attempting to terminate the threads internally in your application? We have seen this crash sometimes if we do Ctrl C while running DSPLink applications. Also, after this crash, everything still continues normally. This is a known issue documented in the Release Notes.

    Are you seeing the similar thing, or is it something that’s coming even if you’re not killing the threads? Does the kernel hang or are you able to continue after this?

     

    Regards,
    Mugdha