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.

TMS320DM8148: syslink module crash during Engine_close() call

Part Number: TMS320DM8148

Hi All,

Please find below basic info:

Processor : TMS320DM8148

EZSDK version : ezsdk_5_05_02_00

Linux kernel version : linux-2.6.37-psp04.04.00.01

Syslink version : syslink_2_20_02_20

In our project we are using Ittiam provided audio encoder which is codec engine API based implementation.

It contains sample application for audio encoding.

This application is running fine. But not always. Sometimes at exit of an application there is large carsh coming at the end.

Crash show that it is coming from syslink driver.

CPU: 0    Not tainted  (2.6.37-centaurus-036 #1)
PC is at _TransportShm_notifyFxn+0xac/0xfc [syslink]
LR is at MessageQ_put+0x478/0x4e4 [syslink]
pc : [<bf09f334>]    lr : [<bf082b30>]    psr: 80000013
sp : c5967e38  ip : 00000000  fp : c5967e5c
r10: 00000004  r9 : c054e934  r8 : 00000002
r7 : cb805a80  r6 : 00000000  r5 : cbf2c000  r4 : cb807480
r3 : 00000000  r2 : 00000000  r1 : 00060000  r0 : 00000000
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 85bf4019  DAC: 00000017
Process kworker/0:1 (pid: 22, stack limit = 0xc59662e8)

Due to this crash board hangs after that only power cycle reboot is an option. This issue is very critical.

Please find the attached crash log for your reference.

We are clueless about this issue and not sure how to debug this issue.

Any pointers or help regarding this issue will be appreciated. Let me know if any logs or more information is needed.

Thanks,

Jemish

  • Part Number: TMS320DM8148

    crash_log.zipHi All,

    Please find below basic info:

    Processor : TMS320DM8148

    EZSDK version : ezsdk_5_05_02_00

    Linux kernel version : linux-2.6.37-psp04.04.00.01

    Syslink version : syslink_2_20_02_20

    In our project we are using Ittiam provided audio encoder which is codec engine API based implementation.

    It contains sample application for audio encoding.

    This application is running fine. But not always. Sometimes at exit of an application there is large carsh coming at the end.

    Crash show that it is coming from syslink driver.

    CPU: 0    Not tainted  (2.6.37-centaurus-036 #1)
    PC is at _TransportShm_notifyFxn+0xac/0xfc [syslink]
    LR is at MessageQ_put+0x478/0x4e4 [syslink]
    pc : [<bf09f334>]    lr : [<bf082b30>]    psr: 80000013
    sp : c5967e38  ip : 00000000  fp : c5967e5c
    r10: 00000004  r9 : c054e934  r8 : 00000002
    r7 : cb805a80  r6 : 00000000  r5 : cbf2c000  r4 : cb807480
    r3 : 00000000  r2 : 00000000  r1 : 00060000  r0 : 00000000
    Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
    Control: 10c5387d  Table: 85bf4019  DAC: 00000017
    Process kworker/0:1 (pid: 22, stack limit = 0xc59662e8)

    Due to this crash board hangs after that only power cycle reboot is an option. This issue is very critical.

    Please find the attached crash log for your reference.

    We are clueless about this issue and not sure how to debug this issue.

    Any pointers or help regarding this issue will be appreciated. Let me know if any logs or more information is needed.

    Thanks,

    Jemish

  • Hi Jemish,

    Do you use DM814x TI EVM or custom board?

    Can you test with the aaclc encoder?
    processors.wiki.ti.com/.../OMX_AAC_LC_Encoder_Integration_in_EZSDK
    processors.wiki.ti.com/.../Example_GStreamer_Pipelines

    To close an Engine instance and free memory it uses, your application should call Engine_close(). You should do this only after you have deleted any algorithm instances created for this Engine.

    You can also enable debug feature for Codec Engine and Syslink:

    processors.wiki.ti.com/.../CE_DEBUG
    processors.wiki.ti.com/.../SysLink_Install_Guide
    processors.wiki.ti.com/.../SysLink_UserGuide

    Regards,
    Pavel
  • Hi Pavel,

    Thanks for you reply!

    >> Do you use DM814x TI EVM or custom board?

    We are using custom board based on DM8148 processor.

    >> Can you test with the aaclc encoder?
    We have already tested with aaclc encoder which is running fine in our system from long time.

    Actually we haven't faced issue earlier. This issue is introduced once we started using Ittiam provided encoder.  Which is using codec engine APIs.

    For that I want to make sure that issue is not on ezsdk side. Is there any similar sample application which uses codec engine APIs .

    I can run that application on my system and make sure that something is wrong in Encoder which Ittiam provide.

    >> You can also enable debug feature for Codec Engine and Syslink: 

    Please fine the attached log I have captured in which you can see that crash is coming at the end of the log when I run application multiple times.

    This log has been captured with CE_DEBUG=3 flag.

    If you can point out something suspicious it will be very helpful to me.

    Thanks,

    Jemishdebug_log.zip

  • Jemish Patel37 said:
    We are using custom board based on DM8148 processor.

    It will be helpful if you can test your application on the TI EVM

    Jemish Patel37 said:

    Actually we haven't faced issue earlier. This issue is introduced once we started using Ittiam provided encoder.  Which is using codec engine APIs.

    For that I want to make sure that issue is not on ezsdk side. Is there any similar sample application which uses codec engine APIs .

    I can run that application on my system and make sure that something is wrong in Encoder which Ittiam provide.

    Refer to:

    ti-ezsdk_dm814x-evm_5_05_02_00/docs/DM814x_EZ_Software_Developers_Guide.pdf - section 3.3 Running the Codec Engine examples

    ti-ezsdk_dm814x-evm_5_05_02_00/ezsdk_5_05_02_00_dm814x_Release_Notes.pdf - SDOCM00085970

    ti-ezsdk_dm814x-evm_5_05_02_00/component-sources/codec_engine_3_22_01_06/examples/ti/

    Regards,
    Pavel

  • Hi All,

    Thanks for your help and support this issue has been resolved. We can close this discussion now.

    Thanks,
    Jemish
  • Jemish,

    Glad to see you managed to resolve. Can you point briefly what was the solution?

    Regards,
    Pavel
  • Hi Pavel,

    I got solution after I stated comparing our latest kernel defconfig with TI8148 EVM defconfig . Comparing both I found that in our kernel "CONFIG_PREEMPT=y" was set. Which is not in the case on TI8148 EVM kernel config. In EVM kernel config this options was set as "CONFIG_PREEMPT_NONE=y". So I reverted it according to EVM defconfig and issue got resolved.

    But my question was this option "CONFIG_PREEMPT" was this options purposefully not set in TI8148 EVM? Is there any such known issue due to enabling this flag? I want to understand how enabling PREEMPT is causing crash.

    If you want me to ask this question in separate thread I will do that. But if answer is known to you I want to understand this.

    Thanks,
    Jemish
  • Jemish,

    Please open new e2e thread regarding "CONFIG_PREEMPT"

    Regards,
    Pavel