Vijay,
 
To find out exactly where the failure occurred, you can try the
following technique of enabling SET_FAILURE_REASON prints: 
Enable SET_FAILURE_REASON print: 
File: /${DSPLINK}/dsplink/gpp/src/gen/trc.c 
Function: TRC_SetReason () 
Existing Code: 
#if defined(DDSP_DEBUG)
TRC_3PRINT (TRC_LEVEL7,
            "Failure [0x%x] in [0x%x] at line %d\n",
            status, FileId, Line) ;
#endif  /* #if defined(DDSP_DEBUG) */

Add: 
PRINT_Printf ("Failure [0x%x] in [0x%x] at line %d\n",
              status, FileId, Line) ;


*       Now rebuild the GPP-side of DSPLink. 
*       Run the application 
*       Some kernel prints will be seen of the type: 

Failure [0x8000800C] in [0x71B] at line 455 

To interpret this: 

*       

        *       The numbers in the above statement (0x8000800C, 0x71B
and line 455) refer to sources of release v1.40.05. 
        *       File /${DSPLINK}/gpp/inc/_signature.h has the
identifiers for all source files. 
        *       0x8000800C is the error code. It is DSP_EMEMORY (refer
to section above for this interpretation). 
        *       The 0x71B refers to file identifiers. From the
_signature.h file, this corresponds to FID_C_LDRV_POOL source file, i.e.
ldrv_pool.c. 
        *       The line number is 455 within the ldrv_pool.c file. This
indicates that the failure DSP_EMEMORY is due to failure in the
allocation from shared memory, which means that the amount of shared
memory specified for the pool cannot fit into the specified memory entry
in the configuration. 

The first SET_FAILURE_REASON print usually indicates the original cause
of failure. The subsequent failures usually occur as a result of the
first failure.

Regards,
Mugdha

________________________________

From: Viraj Karandikar [mailto:[EMAIL PROTECTED] 
Sent: Monday, March 10, 2008 2:17 PM
To: Kamoolkar, Mugdha; davinci-linux-open-source@linux.davincidsp.com
Subject: RE: Error "Remote node creation FAILED " for multithreaded
application & combo server



Thanks Mugdha,

Can you tell me in what scenarios we get DSP_EFAIL (0x80008008) error?
(or suggest some related doc).

FYI I am using dsplink_1_30_08_02  and CE 1.02.

 

Regards,

Viraj

 

From: Kamoolkar, Mugdha [mailto:[EMAIL PROTECTED] 
Sent: Monday, March 10, 2008 10:30 AM
To: Viraj Karandikar; davinci-linux-open-source@linux.davincidsp.com
Subject: RE: Error "Remote node creation FAILED " for multithreaded
application & combo server

 

Viraj,

 

0x80008008 is DSPLink error code DSP_EFAIL (refer to
$DSPLINK/gpp/inc/errbase.h file). This can occur in multiple scenarios,
and not version mismatch only. In fact, in recent versions of DSPLink,
version mismatch returns DSP_ECONFIG error, and not DSP_EFAIL.

 

Someone from CE might be able to help with why this failure is
occurring.

 

Regards,
Mugdha

 

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Viraj Karandikar
Sent: Monday, March 10, 2008 10:18 AM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: Error "Remote node creation FAILED " for multithreaded
application & combo server

Hi,

I have a combo server with multiple codecs on DSP side and a
multithreaded application on arm side. The application creates a thread
for each codec. 

Each thread opens engine and calls codec APIs. Problem I am facing is,
if I try to open 8 threads for codec A first and then 8 threads for
codec B, it works fine.

But if I reverse the codec order (i.e if I open 8 threads for codec B
first and then 8 threads of codec A,  then for codec A threads I am
getting error as ->

 

@0x00084474:[T:0x0002800b] CE - Engine_createNode> Remote node creation
FAILED (0x80008008).

 

Number of threads out of 8 of codec A which give this error varies for
each run.

 

I have checked and I am getting non-NULL CE handle with no error code.
Also somewhere on net I read that above error code 0x80008008 indicates
dsp link layer version mismatch.

But then this error should have come in all cases for all threads.

 

I also tried ensuring that a thread's call to Engine_open() is complete
before other thread calls its Engine_open. (by using mutex) . But it
didn't resolve the problem.

If I create any number of threads only for codec A or only for codec B,
then application works fine with no errors.

Any help is welcome J

 

Regards,

Viraj

**********************************************************************

This email and any files transmitted with it are confidential and

intended solely for the use of the individual or entity to whom they

are addressed. If you have received this email in error please notify

[EMAIL PROTECTED]

**********************************************************************

 

_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to