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 oops 17 when calling Notify_sendEvent after update to ezsdk 5_02_02_60

Hello,

because of trouble with finding the correct memory map we updated from ezsdk 5_01_00_77 to ezsdk 5_02_02_60. The problem with the memory map is gone, but now a kernel oops appears as soon as we call this:

        // Now that everything has been set up on the ARM, trigger the DSP
        Notify_sendEvent(DSP_PROC_ID,                       // 0
                         0,
                         APPNOTIFY_EVENT_NO,                // 11
                         0,
                         TRUE);

When debugging further, that's where it happens, as far as I can see:

in /opt/ti/syslink_2_00_02_80/packages/ti/syslink/ipc/hlos/usr/Notify.c:

  1090  #endif /* if !defined(SYSLINK_BUILD_OPTIMIZE) */
  1091          cmdArgs.procId = procId;
  1092          cmdArgs.lineId    = lineId;
  1093          cmdArgs.eventId   = eventId;
  1094          cmdArgs.payload = payload;
  1095          cmdArgs.waitClear = waitClear;
  1096          status = NotifyDrvUsr_ioctl (CMD_NOTIFY_SENDEVENT, &cmdArgs);     // <==== CRASH
  1097  #if !defined(SYSLINK_BUILD_OPTIMIZE)

 

As soon as line 1096 is executed, 12MB of kernel log is printed, where the start is printed below.

My code was mainly copied from elder syslink examples and worked like a charm with the old ipc/syslink from ezsdk 5_01_00_70.

What has happened? I found nothing in the release notes.

 

 

Unable to handle kernel NULL pointer dereference at virtual address 00000010
pgd = c0004000
[00000010] *pgd=00000000
Internal error: Oops: 17 [#1]
last sysfs file: /sys/devices/platform/ti81xxfb/graphics/fb0/bits_per_pixel
Modules linked in: ipv6 ti81xxhdmi ti81xxfb vpss syslink
CPU: 0    Not tainted  (2.6.37 #1)
PC is at notify_shmdrv_isr_callback+0x1c/0xac
LR is at notify_shmdrv_dsp_isr+0x2c/0x3c
pc : [<c02a545c>]    lr : [<c02a5518>]    psr: 60000013
sp : c9165e88  ip : c9165ea8  fp : c9165ea4
r10: 00000004  r9 : c00617a8  r8 : 00000004
r7 : 00000000  r6 : 00000000  r5 : 00000000  r4 : 00000000
r3 : 00000004  r2 : 00000004  r1 : 00000004  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 88350019  DAC: 00000017
Process kworker/0:1 (pid: 22, stack limit = 0xc91642e8)
Stack: (0xc9165e88 to 0xc9166000)
5e80:                   00000004 00000000 fffffffe 00000000 c9165ebc c9165ea8
5ea0: c02a5518 c02a544c 00000000 00000000 c9165ee4 c9165ec0 c03690cc c02a54f8
5ec0: c04aaab8 c04aaaac 00000004 ffffffff 00000004 00000000 c9165f14 c9165ee8
5ee0: c0083c64 c03690a4 00000000 c04addc4 c9165f14 c9283580 00000004 c9165f34
5f00: c04addc4 c905e800 c9165f2c c9165f18 c0083c9c c0083c1c 00000000 c04ade7c
5f20: c9165f54 c9165f30 c00617f0 c0083c88 c036912c 00000004 00000000 c9283594
5f40: c04ade7c c9156340 c9165f8c c9165f58 c0079ec4 c00617b4 c9165f7c 00000000
5f60: c0078f5c c9156340 c04addc4 00000009 c04addc4 c04addc4 c9156350 c9164000
5f80: c9165fbc c9165f90 c007a81c c0079ce4 00000000 c9165fcc c902fee0 c9156340
5fa0: c007a668 00000000 00000000 00000000 c9165ff4 c9165fc0 c007eb1c c007a674
5fc0: c902fee0 00000000 c9156340 00000000 c9165fd0 c9165fd0 c902fee0 c007ea90
5fe0: c006aeec 00000013 00000000 c9165ff8 c006aeec c007ea9c 00004008 00000010
Backtrace:
[<c02a5440>] (notify_shmdrv_isr_callback+0x0/0xac) from [<c02a5518>] (notify_shmdrv_dsp_isr+0x2c/0x3c)
 r7:00000000 r6:fffffffe r5:00000000 r4:00000004
[<c02a54ec>] (notify_shmdrv_dsp_isr+0x0/0x3c) from [<c03690cc>] (notifier_call_chain+0x34/0x78)
 r5:00000000 r4:00000000
[<c0369098>] (notifier_call_chain+0x0/0x78) from [<c0083c64>] (__blocking_notifier_call_chain+0x54/0x6c)
[<c0083c10>] (__blocking_notifier_call_chain+0x0/0x6c) from [<c0083c9c>] (blocking_notifier_call_chain+0x20/0x28)
 r8:c905e800 r7:c04addc4 r6:c9165f34 r5:00000004 r4:c9283580
[<c0083c7c>] (blocking_notifier_call_chain+0x0/0x28) from [<c00617f0>] (mbox_rx_work+0x48/0xec)
[<c00617a8>] (mbox_rx_work+0x0/0xec) from [<c0079ec4>] (process_one_work+0x1ec/0x318)
 r6:c9156340 r5:c04ade7c r4:c9283594
[<c0079cd8>] (process_one_work+0x0/0x318) from [<c007a81c>] (worker_thread+0x1b4/0x2d0)
[<c007a668>] (worker_thread+0x0/0x2d0) from [<c007eb1c>] (kthread+0x8c/0x94)
[<c007ea90>] (kthread+0x0/0x94) from [<c006aeec>] (do_exit+0x0/0x5e4)
 r7:00000013 r6:c006aeec r5:c007ea90 r4:c902fee0
Code: e1a06000 f57ff04f e3a04000 e2843004 (e7960103)
---[ end trace d8470b2128c7c716 ]---
Unable to handle kernel paging request at virtual address fffffffc
pgd = c0004000
[fffffffc] *pgd=895fe021, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#2]
last sysfs file: /sys/devices/platform/ti81xxfb/graphics/fb0/bits_per_pixel
Modules linked in: ipv6 ti81xxhdmi ti81xxfb vpss syslink
CPU: 0    Tainted: G      D      (2.6.37 #1)
PC is at kthread_data+0x10/0x18
LR is at wq_worker_sleeping+0x14/0x88
pc : [<c007e644>]    lr : [<c007b700>]    psr: 00000193
sp : c9165c40  ip : c9165c50  fp : c9165c4c
r10: c907bc68  r9 : c907bb78  r8 : c9164000
r7 : c9020000  r6 : c907bce4  r5 : c907bb80  r4 : 00000000
r3 : 00000000  r2 : 00000040  r1 : 00000000  r0 : c907bb80
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 88350019  DAC: 00000015
Process kworker/0:1 (pid: 22, stack limit = 0xc91642e8)
Stack: (0xc9165c40 to 0xc9166000)
5c40: c9165c64 c9165c50 c007b700 c007e640 ffffffff c907bb80 c9165c8c c9165c68
5c60: c0365628 c007b6f8 ffffffff c907bb78 c907bb80 c9020000 c907bc68 c907bb78
5c80: c9165cb4 c9165c90 c006b49c c0365584 00000008 00000001 c9165cb4 c9165c9c
5ca0: c9165c9c c907bcb0 c9165d2c c9165cb8 c0046ef0 c006aef8 c91642e8 0000000b
5cc0: 00000000 00000000 65000017 36306131 20303030 66373566 66343066 61336520
5ce0: 30303430 32652030 30333438 28203430 36393765 33303130 c0002029 c0365134
5d00: c0462bf6 00000010 c9165e40 00000000 00000017 00000000 00000017 00000010
5d20: c9165d54 c9165d30 c00499c4 c0046c60 c0498738 c9165e40 c907bb80 00000000
5d40: 00000010 00000017 c9165d8c c9165d58 c0368fd4 c0049964 00000000 00000000
5d60: 00000000 c0498738 c04987a8 00000017 c9165e40 00000010 20000113 00000004
5d80: c9165e3c c9165d90 c00382a4 c0368df0 00000000 00000000 00000000 00000000
5da0: 00000000 00000000 00000000 00000000 c8230000 c8230000 00000003 c8230000
5dc0: c9165de4 c9165dd0 c02dbd90 c00bc4b4 c8230000 00000000 00000000 60000013
5de0: 00000000 00000003 c8230000 00000000 00000000 00000000 c9165e24 c9165e08
5e00: c00633b4 c0063320 00000000 c9165e18 c02dbba4 c8230000 c9165e7c ffffffff
5e20: c9165e74 00000000 00000000 00000004 c9165ea4 c9165e40 c0366fac c0038274
5e40: 00000000 00000004 00000004 00000004 00000000 00000000 00000000 00000000
5e60: 00000004 c00617a8 00000004 c9165ea4 c9165ea8 c9165e88 c02a5518 c02a545c
5e80: 60000013 ffffffff 00000004 00000000 fffffffe 00000000 c9165ebc c9165ea8
5ea0: c02a5518 c02a544c 00000000 00000000 c9165ee4 c9165ec0 c03690cc c02a54f8
5ec0: c04aaab8 c04aaaac 00000004 ffffffff 00000004 00000000 c9165f14 c9165ee8
5ee0: c0083c64 c03690a4 00000000 c04addc4 c9165f14 c9283580 00000004 c9165f34
5f00: c04addc4 c905e800 c9165f2c c9165f18 c0083c9c c0083c1c 00000000 c04ade7c
5f20: c9165f54 c9165f30 c00617f0 c0083c88 c036912c 00000004 00000000 c9283594
5f40: c04ade7c c9156340 c9165f8c c9165f58 c0079ec4 c00617b4 c9165f7c 00000000
5f60: c0078f5c c9156340 c04addc4 00000009 c04addc4 c04addc4 c9156350 c9164000
5f80: c9165fbc c9165f90 c007a81c c0079ce4 00000000 c9165fcc c902fee0 c9156340
5fa0: c007a668 00000000 00000000 00000000 c9165ff4 c9165fc0 c007eb1c c007a674
5fc0: c902fee0 00000000 c9156340 00000001 c9165fd0 c9165fd0 c902fee0 c007ea90
5fe0: c006aeec 00000013 00000000 c9165ff8 c006aeec c007ea9c 00004008 00000010
Backtrace:
[<c007e634>] (kthread_data+0x0/0x18) from [<c007b700>] (wq_worker_sleeping+0x14/0x88)
[<c007b6ec>] (wq_worker_sleeping+0x0/0x88) from [<c0365628>] (schedule+0xb0/0x324)
 r5:c907bb80 r4:ffffffff
[<c0365578>] (schedule+0x0/0x324) from [<c006b49c>] (do_exit+0x5b0/0x5e4)
 r9:c907bb78 r8:c907bc68 r7:c9020000 r6:c907bb80 r5:c907bb78
r4:ffffffff
[<c006aeec>] (do_exit+0x0/0x5e4) from [<c0046ef0>] (die+0x29c/0x2d8)
[<c0046c54>] (die+0x0/0x2d8) from [<c00499c4>] (__do_kernel_fault+0x6c/0x8c)
[<c0049958>] (__do_kernel_fault+0x0/0x8c) from [<c0368fd4>] (do_page_fault+0x1f0/0x20c)
 r9:00000017 r8:00000010 r7:00000000 r6:c907bb80 r5:c9165e40
r4:c0498738
[<c0368de4>] (do_page_fault+0x0/0x20c) from [<c00382a4>] (do_DataAbort+0x3c/0x9c)
[<c0038268>] (do_DataAbort+0x0/0x9c) from [<c0366fac>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc9165e40 to 0xc9165e88)
5e40: 00000000 00000004 00000004 00000004 00000000 00000000 00000000 00000000
5e60: 00000004 c00617a8 00000004 c9165ea4 c9165ea8 c9165e88 c02a5518 c02a545c
5e80: 60000013 ffffffff
 r8:00000004 r7:00000000 r6:00000000 r5:c9165e74 r4:ffffffff
[<c02a5440>] (notify_shmdrv_isr_callback+0x0/0xac) from [<c02a5518>] (notify_shmdrv_dsp_isr+0x2c/0x3c)
 r7:00000000 r6:fffffffe r5:00000000 r4:00000004
[<c02a54ec>] (notify_shmdrv_dsp_isr+0x0/0x3c) from [<c03690cc>] (notifier_call_chain+0x34/0x78)
 r5:00000000 r4:00000000
[<c0369098>] (notifier_call_chain+0x0/0x78) from [<c0083c64>] (__blocking_notifier_call_chain+0x54/0x6c)
[<c0083c10>] (__blocking_notifier_call_chain+0x0/0x6c) from [<c0083c9c>] (blocking_notifier_call_chain+0x20/0x28)
 r8:c905e800 r7:c04addc4 r6:c9165f34 r5:00000004 r4:c9283580
[<c0083c7c>] (blocking_notifier_call_chain+0x0/0x28) from [<c00617f0>] (mbox_rx_work+0x48/0xec)
[<c00617a8>] (mbox_rx_work+0x0/0xec) from [<c0079ec4>] (process_one_work+0x1ec/0x318)
 r6:c9156340 r5:c04ade7c r4:c9283594
[<c0079cd8>] (process_one_work+0x0/0x318) from [<c007a81c>] (worker_thread+0x1b4/0x2d0)
[<c007a668>] (worker_thread+0x0/0x2d0) from [<c007eb1c>] (kthread+0x8c/0x94)
[<c007ea90>] (kthread+0x0/0x94) from [<c006aeec>] (do_exit+0x0/0x5e4)
 r7:00000013 r6:c006aeec r5:c007ea90 r4:c902fee0
Code: e1a0c00d e92dd800 e24cb004 e5903138 (e5130004)
---[ end trace d8470b2128c7c717 ]---
Fixing recursive fault but reboot is needed!
Unable to handle kernel paging request at virtual address fffffffc

  • You need to build your syslink.ko SysLink kernel module with the parameter USE_SYSLINK_NOTIFY=0.  Your Linux kernel has the 'notify' module enabled, and SysLink contains its own Notify module which clashes with the Linux one.

    Please ensure that you build syslink.ko with USE_SYSLINK_NOTIFY=0 on the 'make' command line.  By default it is 1, causing the clash if the Linux 'notify' module is enabled.

    Or, you could upgrade to SysLink 2.03.00.82 which contains automatic detection of the Linux 'notify' module and configures SysLink accordingly.

    Regards,

    - Rob

  • Hello Robert,

    thank you for your very quick response. I'll have to wait till Monday until I can test it and will verify your post as soon as it works.

    cu

    Markus