Remote node creation FAILED

2009-04-30 Thread bhushan
Hi all,
  I am developing an application based on the scale example in the
codec_engine_1_10_01 package. The changes made are essentially adding
elements to the ISCALE_Params struct in the codecs/iscale.h file.
When I run the application it gives remote node creation failure. The
logs obtained are as follows:

Calling SCALE main()
TraceUtil> Warning: Failed to open local log file
"trace/cearmlog.txt", using stdout
TraceUtil> Warning: Failed to open dsp CE log file
"trace/cedsp0log.txt", using stdout
TraceUtil> Warning: Failed to open dsp/bios log file
"trace/bioslog.dat", disabling log
@0x00046a28:[T:0x4000] ZZ - main> Welcome to app's main().
App-> Application started.
@0x00046c68:[T:0x4000] OM - Memory_contigAlloc> Enter(size=1024, align=-1)
@0x00046e53:[T:0x4000] OM - Memory_contigAlloc> CMEM_alloc(1024) =
0x40018000.
@0x00046f58:[T:0x4000] OM - Memory_contigAlloc>
CMEM_getPhys(0x40018000) = 0x84133000.
@0x0004701c:[T:0x4000] OM - Memory__addContigBuf>
Enter(virtAddr=0x40018000, size=1024, physAddr=0x84133000)
@0x000470e4:[T:0x4000] OM - Memory__addContigBuf> creating new
contigBuf object
@0x000471ac:[T:0x4000] OM - Memory__addContigBuf> returning:
cb->phys=0x84133000, cb->size=1024, cb->virt=0x40018000
@0x00047285:[T:0x4000] OM - Memory_contigAlloc> return (0x40018000)
@0x00047328:[T:0x4000] OM - Memory_contigAlloc> Enter(size=1024, align=-1)
@0x00047445:[T:0x4000] OM - Memory_contigAlloc> CMEM_alloc(1024) =
0x4001b000.
@0x00047523:[T:0x4000] OM - Memory_contigAlloc>
CMEM_getPhys(0x4001b000) = 0x8413.
@0x000475e2:[T:0x4000] OM - Memory__addContigBuf>
Enter(virtAddr=0x4001b000, size=1024, physAddr=0x8413)
@0x000476b0:[T:0x4000] OM - Memory__addContigBuf> creating new
contigBuf object
@0x00047785:[T:0x4000] OM - Memory__addContigBuf> returning:
cb->phys=0x8413, cb->size=1024, cb->virt=0x4001b000
@0x00047864:[T:0x4000] OM - Memory_contigAlloc> return (0x4001b000)
After memory allocation
After opening files
@0x0004834b:[T:0x4002] OP - daemon> thread created.
@0x00048483:[T:0x4000] CE - Engine_open('scale', 0x0, 0xbefffaec)
@0x0004856c:[T:0x4000] CE - rserverOpen('./all.x64P'), count = 0
@0x00048634:[T:0x4000] OP - Process_create>
Enter(imageName='./all.x64P', attrs=0xbefffaf0)
@0x00048fc9:[T:0x4002] OP - Process_create_d> Enter(proc=0x49640)
@0x000490c0:[T:0x4002] OP - Process_create_d> Initializing DSP PROC...
@0x000495d2:[T:0x4002] OP - Process_create_d> Attaching to DSP PROC...
@0x0004ad60:[T:0x4002] OP - Process_create_d> Opening MSGQ pool...
@0x0004afcf:[T:0x4002] OP - Process_create_d> Loading ./all.x64P
on DSP (2 args)...
@0x0005bc65:[T:0x4002] OP - Process_create_d> Starting DSP PROC...
@0x0005c21a:[T:0x4002] OP - Process_create_d> Opening remote transport...
@0x0005c3fc:[T:0x4002] OP - Process_create_d> return (1)
@0x0005c5c3:[T:0x4000] OP - Process_create> return (0x49640)
@0x0005c69a:[T:0x4000] CE - rserverOpen('./all.x64P'): 0x42234 done.
@0x0005c758:[T:0x4000] OC - Comm_create> Enter(queueName='scale',
queue=0x49620, attrs=0x0)
@0x0005c921:[T:0x4000] OC - Comm_create> return (0x49678)
@0x0005ca27:[T:0x4000] OC - Comm_alloc> Enter(poolId=0x0,
msg=0x4962c, size=576)
@0x0005cb1d:[T:0x4000] OC - Comm_alloc> msg=0x4032a900, returning (0)
@0x0005cbd7:[T:0x4000] OC - Comm_locate> Enter(queueName='rmsq',
queue=0x4961c)
@0x0005e614:[T:0x4000] OC - Comm_locate> return (0)
@0x0005e6f9:[T:0x4000] CE - checkServer(0x49610)
@0x0005e7bd:[T:0x4000] OC - Comm_put> Enter(queue=0x0, msg=0x4032a900)
@0x0005e8a9:[T:0x4000] OC - Comm_put> return (0)
@0x0005e99a:[T:0x4000] OC - Comm_get> Enter(queue=0x1,
msg=0xbefffae8, timeout=-1)
@0x0005ea82:[T:0x4000] OC - Comm_get> return (0)
After opening engine
@0x0005ebb2:[T:0x4000] extensions.scale.SCALE - SCALE_create>
Enter (server=0x49610, name='scale', params=0xbefffb48)
@0x0005ecba:[T:0x4000] CV - VISA_create(0x49610, 'scale',
0xbefffb48, 0x804, 'extensions.scale.ISCALE')
@0x0005eda9:[T:0x4000] CE - Engine_createNode(0x49610, 'scale',
804, 0xbefffb48)
@0x0005ee78:[T:0x4000] OC - Comm_create>
Enter(queueName='gppfromnode', queue=0x49700, attrs=0x0)
@0x0005f047:[T:0x4000] OC - Comm_create> return (0x49720)
@0x0005f1a3:[T:0x4000] OC - Comm_put> Enter(queue=0x0, msg=0x4032a900)
@0x0005f2a5:[T:0x4000] OC - Comm_put> return (0)
@0x0005f34d:[T:0x4000] OC - Comm_get> Enter(queue=0x1,
msg=0xbefffa9c, timeout=-1)
@0x0005f784:[T:0x4000] OC - Comm_get> return (0)
@0x0005f857:[T:0x4000] OC - Comm_delete> Enter (comm=0x49720)
@0x0005fa68:[T:0x4000] OC - Comm

RE: Remote node creation FAILED

2009-04-30 Thread Ring, Chris
Can you run your app with the CE_DEBUG env var set to 2 or 3?

http://tiexpressdsp.com/index.php?title=CE_DEBUG

Looks like you're DSP load is ok, but something's going wrong locating or 
starting the remote alg.  CE_DEBUG=3 will increase the amount of trace, as well 
as provide the DSP-side inlined with the ARM-side API calls.

Chris 

> -Original Message-
> From: 
> davinci-linux-open-source-bounces+cring=ti@linux.davincids
> p.com 
> [mailto:davinci-linux-open-source-bounces+cring=ti@linux.d
> avincidsp.com] On Behalf Of bhushan
> Sent: Thursday, April 30, 2009 8:23 AM
> To: davinci-linux-open-source@linux.davincidsp.com
> Subject: Remote node creation FAILED
> 
> Hi all,
>   I am developing an application based on the scale example in the
> codec_engine_1_10_01 package. The changes made are essentially adding
> elements to the ISCALE_Params struct in the codecs/iscale.h file.
> When I run the application it gives remote node creation failure. The
> logs obtained are as follows:
> 
> Calling SCALE main()
> TraceUtil> Warning: Failed to open local log file
> "trace/cearmlog.txt", using stdout
> TraceUtil> Warning: Failed to open dsp CE log file
> "trace/cedsp0log.txt", using stdout
> TraceUtil> Warning: Failed to open dsp/bios log file
> "trace/bioslog.dat", disabling log
> @0x00046a28:[T:0x4000] ZZ - main> Welcome to app's main().
> App-> Application started.
> @0x00046c68:[T:0x4000] OM - Memory_contigAlloc> 
> Enter(size=1024, align=-1)
> @0x00046e53:[T:0x4000] OM - Memory_contigAlloc> CMEM_alloc(1024) =
> 0x40018000.
> @0x00046f58:[T:0x4000] OM - Memory_contigAlloc>
> CMEM_getPhys(0x40018000) = 0x84133000.
> @0x0004701c:[T:0x4000] OM - Memory__addContigBuf>
> Enter(virtAddr=0x40018000, size=1024, physAddr=0x84133000)
> @0x000470e4:[T:0x4000] OM - Memory__addContigBuf> creating new
> contigBuf object
> @0x000471ac:[T:0x4000] OM - Memory__addContigBuf> returning:
> cb->phys=0x84133000, cb->size=1024, cb->virt=0x40018000
> @0x00047285:[T:0x4000] OM - Memory_contigAlloc> return 
> (0x40018000)
> @0x00047328:[T:0x4000] OM - Memory_contigAlloc> 
> Enter(size=1024, align=-1)
> @0x00047445:[T:0x4000] OM - Memory_contigAlloc> CMEM_alloc(1024) =
> 0x4001b000.
> @0x00047523:[T:0x4000] OM - Memory_contigAlloc>
> CMEM_getPhys(0x4001b000) = 0x8413.
> @0x000475e2:[T:0x4000] OM - Memory__addContigBuf>
> Enter(virtAddr=0x4001b000, size=1024, physAddr=0x8413)
> @0x000476b0:[T:0x4000] OM - Memory__addContigBuf> creating new
> contigBuf object
> @0x00047785:[T:0x4000] OM - Memory__addContigBuf> returning:
> cb->phys=0x8413, cb->size=1024, cb->virt=0x4001b000
> @0x00047864:[T:0x4000] OM - Memory_contigAlloc> return 
> (0x4001b000)
> After memory allocation
> After opening files
> @0x0004834b:[T:0x4002] OP - daemon> thread created.
> @0x00048483:[T:0x4000] CE - Engine_open('scale', 0x0, 0xbefffaec)
> @0x0004856c:[T:0x4000] CE - rserverOpen('./all.x64P'), count = 0
> @0x00048634:[T:0x4000] OP - Process_create>
> Enter(imageName='./all.x64P', attrs=0xbefffaf0)
> @0x00048fc9:[T:0x4002] OP - Process_create_d> Enter(proc=0x49640)
> @0x000490c0:[T:0x4002] OP - Process_create_d> 
> Initializing DSP PROC...
> @0x000495d2:[T:0x4002] OP - Process_create_d> Attaching 
> to DSP PROC...
> @0x0004ad60:[T:0x4002] OP - Process_create_d> Opening MSGQ pool...
> @0x0004afcf:[T:0x4002] OP - Process_create_d> Loading ./all.x64P
> on DSP (2 args)...
> @0x0005bc65:[T:0x4002] OP - Process_create_d> Starting DSP PROC...
> @0x0005c21a:[T:0x4002] OP - Process_create_d> Opening 
> remote transport...
> @0x0005c3fc:[T:0x4002] OP - Process_create_d> return (1)
> @0x0005c5c3:[T:0x4000] OP - Process_create> return (0x49640)
> @0x0005c69a:[T:0x4000] CE - rserverOpen('./all.x64P'): 
> 0x42234 done.
> @0x0005c758:[T:0x4000] OC - Comm_create> Enter(queueName='scale',
> queue=0x49620, attrs=0x0)
> @0x0005c921:[T:0x4000] OC - Comm_create> return (0x49678)
> @0x0005ca27:[T:0x4000] OC - Comm_alloc> Enter(poolId=0x0,
> msg=0x4962c, size=576)
> @0x0005cb1d:[T:0x4000] OC - Comm_alloc> msg=0x4032a900, 
> returning (0)
> @0x0005cbd7:[T:0x4000] OC - Comm_locate> Enter(queueName='rmsq',
> queue=0x4961c)
> @0x0005e614:[T:0x4000] OC - Comm_locate> return (0)
> @0x0005e6f9:[T:0x4000] CE - checkServer(0x49610)
> @0x0005e7bd:[T:0x4000] OC - Comm_put> Enter(queue=0x0, 
> msg=0x4032a900)
> @0x0005e8a9

Re: Remote node creation FAILED

2009-04-30 Thread bhushan
Hi Chris,
  I tried with some code changes and observe that the application runs
successfully when I disable the memory allocations added in
SCALE_TI_Alloc() function in scale_ti_impl.c file. So there is some
problem it seems with the memory allocation.
 Another problem I am facing is with starting the DSP side traces. I
am unable to get them on the ARM side. Can you please suggest some
steps for that?

regards
Bhushan

On Thu, Apr 30, 2009 at 10:46 PM, Ring, Chris  wrote:
> Can you run your app with the CE_DEBUG env var set to 2 or 3?
>
> http://tiexpressdsp.com/index.php?title=CE_DEBUG
>
> Looks like you're DSP load is ok, but something's going wrong locating or 
> starting the remote alg.  CE_DEBUG=3 will increase the amount of trace, as 
> well as provide the DSP-side inlined with the ARM-side API calls.
>
> Chris
>
>> -Original Message-
>> From:
>> davinci-linux-open-source-bounces+cring=ti@linux.davincids
>> p.com
>> [mailto:davinci-linux-open-source-bounces+cring=ti@linux.d
>> avincidsp.com] On Behalf Of bhushan
>> Sent: Thursday, April 30, 2009 8:23 AM
>> To: davinci-linux-open-source@linux.davincidsp.com
>> Subject: Remote node creation FAILED
>>
>> Hi all,
>>   I am developing an application based on the scale example in the
>> codec_engine_1_10_01 package. The changes made are essentially adding
>> elements to the ISCALE_Params struct in the codecs/iscale.h file.
>> When I run the application it gives remote node creation failure. The
>> logs obtained are as follows:
>>
>> Calling SCALE main()
>> TraceUtil> Warning: Failed to open local log file
>> "trace/cearmlog.txt", using stdout
>> TraceUtil> Warning: Failed to open dsp CE log file
>> "trace/cedsp0log.txt", using stdout
>> TraceUtil> Warning: Failed to open dsp/bios log file
>> "trace/bioslog.dat", disabling log
>> @0x00046a28:[T:0x4000] ZZ - main> Welcome to app's main().
>> App-> Application started.
>> @0x00046c68:[T:0x4000] OM - Memory_contigAlloc>
>> Enter(size=1024, align=-1)
>> @0x00046e53:[T:0x4000] OM - Memory_contigAlloc> CMEM_alloc(1024) =
>> 0x40018000.
>> @0x00046f58:[T:0x4000] OM - Memory_contigAlloc>
>> CMEM_getPhys(0x40018000) = 0x84133000.
>> @0x0004701c:[T:0x4000] OM - Memory__addContigBuf>
>> Enter(virtAddr=0x40018000, size=1024, physAddr=0x84133000)
>> @0x000470e4:[T:0x4000] OM - Memory__addContigBuf> creating new
>> contigBuf object
>> @0x000471ac:[T:0x4000] OM - Memory__addContigBuf> returning:
>> cb->phys=0x84133000, cb->size=1024, cb->virt=0x40018000
>> @0x00047285:[T:0x4000] OM - Memory_contigAlloc> return
>> (0x40018000)
>> @0x00047328:[T:0x4000] OM - Memory_contigAlloc>
>> Enter(size=1024, align=-1)
>> @0x00047445:[T:0x4000] OM - Memory_contigAlloc> CMEM_alloc(1024) =
>> 0x4001b000.
>> @0x00047523:[T:0x4000] OM - Memory_contigAlloc>
>> CMEM_getPhys(0x4001b000) = 0x8413.
>> @0x000475e2:[T:0x4000] OM - Memory__addContigBuf>
>> Enter(virtAddr=0x4001b000, size=1024, physAddr=0x8413)
>> @0x000476b0:[T:0x4000] OM - Memory__addContigBuf> creating new
>> contigBuf object
>> @0x00047785:[T:0x4000] OM - Memory__addContigBuf> returning:
>> cb->phys=0x8413, cb->size=1024, cb->virt=0x4001b000
>> @0x00047864:[T:0x4000] OM - Memory_contigAlloc> return
>> (0x4001b000)
>> After memory allocation
>> After opening files
>> @0x0004834b:[T:0x4002] OP - daemon> thread created.
>> @0x00048483:[T:0x4000] CE - Engine_open('scale', 0x0, 0xbefffaec)
>> @0x0004856c:[T:0x4000] CE - rserverOpen('./all.x64P'), count = 0
>> @0x00048634:[T:0x4000] OP - Process_create>
>> Enter(imageName='./all.x64P', attrs=0xbefffaf0)
>> @0x00048fc9:[T:0x4002] OP - Process_create_d> Enter(proc=0x49640)
>> @0x000490c0:[T:0x4002] OP - Process_create_d>
>> Initializing DSP PROC...
>> @0x000495d2:[T:0x4002] OP - Process_create_d> Attaching
>> to DSP PROC...
>> @0x0004ad60:[T:0x4002] OP - Process_create_d> Opening MSGQ pool...
>> @0x0004afcf:[T:0x4002] OP - Process_create_d> Loading ./all.x64P
>> on DSP (2 args)...
>> @0x0005bc65:[T:0x4002] OP - Process_create_d> Starting DSP PROC...
>> @0x0005c21a:[T:0x4002] OP - Process_create_d> Opening
>> remote transport...
>> @0x0005c3fc:[T:0x4002] OP - Process_create_d> return (1)
>> @0x0005c5c3:[T:0x4000] OP - Process_create> return (0x4964

Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-09 Thread Viraj Karandikar
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


RE: Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-09 Thread Kamoolkar, Mugdha
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


RE: Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-10 Thread Viraj Karandikar
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


RE: Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-10 Thread Kamoolkar, Mugdha
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


RE: Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-10 Thread Ring, Chris
I don't suspect this to be a Link error as a fork on this thread is
chasing.
 
More likely, it's a mis-configured server.cfg script.  As a simple
example, consider the following:
   * codec A and codec B share internal scratch memory
   * codec A needs 40k, codec B needs 50k
   * codec A and B are placed into scratch group 0
   * there is 64k configured for internal memory
 
The server.cfg script _should_ configure 50k (the max for all codecs)
into scratch group 0.  However, if the server.cfg script only configured
40k...
   * If codec A is created first, 40k (max of configured mem - 40k - and
requested mem - 40k) will be allocated.  When codec B is created,
there's not enough memory in scratch (only 40k was allocated), so the
creation of alg B may fail.
   * If codec B is created first, 50k (max of configured mem - 40k - and
requested mem - 50k) will be allocated.  Creating codec A later will
succeed.
 
[ That's a simple example, but the same concept applies to DMA and other
resources as well. ]
 
These can get a bit tricky - I might suggest you open a ticket with TI's
software support so they can help dig in a bit more.
 
Unfortunately, CE 1.02 had little tracing support for getting further
insight into these complex codec resources requests.  CE 2.00 and later
have much better tracing support for these things, if you have the
flexibility to upgrade.
 
Chris




From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Viraj Karandikar
Sent: Sunday, March 09, 2008 9:48 PM
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


RE: Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-10 Thread Viraj Karandikar
Thanks Chris,

Your guess was correct. 

DSKT2.ALLOW_EXTERNAL_SCRATCH parameter in server.cfg file was set to
"false". Changing it to "true", solved the problem J

 

Thanks again J

Viraj

 

 

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

 

I don't suspect this to be a Link error as a fork on this thread is
chasing.

 

More likely, it's a mis-configured server.cfg script.  As a simple
example, consider the following:

   * codec A and codec B share internal scratch memory

   * codec A needs 40k, codec B needs 50k

   * codec A and B are placed into scratch group 0

   * there is 64k configured for internal memory

 

The server.cfg script _should_ configure 50k (the max for all codecs)
into scratch group 0.  However, if the server.cfg script only configured
40k...

   * If codec A is created first, 40k (max of configured mem - 40k - and
requested mem - 40k) will be allocated.  When codec B is created,
there's not enough memory in scratch (only 40k was allocated), so the
creation of alg B may fail.

   * If codec B is created first, 50k (max of configured mem - 40k - and
requested mem - 50k) will be allocated.  Creating codec A later will
succeed.

 

[ That's a simple example, but the same concept applies to DMA and other
resources as well. ]

 

These can get a bit tricky - I might suggest you open a ticket with TI's
software support so they can help dig in a bit more.

 

Unfortunately, CE 1.02 had little tracing support for getting further
insight into these complex codec resources requests.  CE 2.00 and later
have much better tracing support for these things, if you have the
flexibility to upgrade.

 

Chris

 





From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Viraj Karandikar
Sent: Sunday, March 09, 2008 9:48 PM
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


Re: Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-14 Thread Omkiran Sharma
Sorry for picking up an non-active thread.
>From what is mentioned below the CE shall allocate (max of configured mem -
40k - and requested mem - 40k). This raises the question of what is the real
purpose of having the configured memory. One could have configured it as 0K
and as long as the worst case request was made first all would work. I have
confirmed it does. Our current understanding was that for various groups you
are limiting how much memory can be given to it. I guess its wrong. Can we
get a pointer to where to look up on why the configuration and various
groupings are present?
Regards,
Omkiran

2008/3/10 Ring, Chris <[EMAIL PROTECTED]>:

>  I don't suspect this to be a Link error as a fork on this thread is
> chasing.
>
> More likely, it's a mis-configured server.cfg script.  As a simple
> example, consider the following:
>* codec A and codec B share internal scratch memory
>* codec A needs 40k, codec B needs 50k
>* codec A and B are placed into scratch group 0
>* there is 64k configured for internal memory
>
> The server.cfg script _should_ configure 50k (the max for all codecs) into
> scratch group 0.  However, if the server.cfg script only configured 40k...
>* If codec A is created first, 40k (max of configured mem - 40k - and
> requested mem - 40k) will be allocated.  When codec B is created, there's
> not enough memory in scratch (only 40k was allocated), so the creation of
> alg B may fail.
>* If codec B is created first, 50k (max of configured mem - 40k - and
> requested mem - 50k) will be allocated.  Creating codec A later will
> succeed.
>
> [ That's a simple example, but the same concept applies to DMA and other
> resources as well. ]
>
> These can get a bit tricky - I might suggest you open a ticket with TI's
> software support so they can help dig in a bit more.
>
> Unfortunately, CE 1.02 had little tracing support for getting further
> insight into these complex codec resources requests.  CE 2.00 and later
> have much better tracing support for these things, if you have the
> flexibility to upgrade.
>
> Chris
>
>  --
>  *From:* [EMAIL PROTECTED] [mailto:
> [EMAIL PROTECTED] *On Behalf Of *Viraj
> Karandikar
> *Sent:* Sunday, March 09, 2008 9:48 PM
> *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
>
>
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


RE: Error "Remote node creation FAILED " for multithreaded application & combo server

2008-03-14 Thread Ring, Chris
The DSKT2 Users Guide goes over this (specifically, refer to section
1.4):
http://www-s.ti.com/sc/techlit/spruev5
 
You're right, if you're in a closed system, and can always:
   * create the same versions of the same codecs
   * with the same create params
   * in the same order
 
... you can configure the scratch size to 0k and still get deterministic
resource allocation behavior.  However, you can break those hard
constraints by configuring the scratch sizes to the max - which is
what's strongly recommended.
 
Chris




From: Omkiran Sharma [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 14, 2008 12:05 AM
To: Ring, Chris
Cc: Viraj Karandikar;
davinci-linux-open-source@linux.davincidsp.com
Subject: Re: Error "Remote node creation FAILED " for
multithreaded application & combo server


Sorry for picking up an non-active thread. 
From what is mentioned below the CE shall allocate (max of
configured mem - 40k - and requested mem - 40k). This raises the
question of what is the real purpose of having the configured memory.
One could have configured it as 0K and as long as the worst case request
was made first all would work. I have confirmed it does. Our current
understanding was that for various groups you are limiting how much
memory can be given to it. I guess its wrong. Can we get a pointer to
where to look up on why the configuration and various groupings are
present?  
Regards,
Omkiran

2008/3/10 Ring, Chris <[EMAIL PROTECTED]>:


I don't suspect this to be a Link error as a fork on
this thread is chasing.
 
More likely, it's a mis-configured server.cfg script.
As a simple example, consider the following:
   * codec A and codec B share internal scratch memory
   * codec A needs 40k, codec B needs 50k
   * codec A and B are placed into scratch group 0
   * there is 64k configured for internal memory
 
The server.cfg script _should_ configure 50k (the max
for all codecs) into scratch group 0.  However, if the server.cfg script
only configured 40k...
   * If codec A is created first, 40k (max of configured
mem - 40k - and requested mem - 40k) will be allocated.  When codec B is
created, there's not enough memory in scratch (only 40k was allocated),
so the creation of alg B may fail.
   * If codec B is created first, 50k (max of configured
mem - 40k - and requested mem - 50k) will be allocated.  Creating codec
A later will succeed.
 
[ That's a simple example, but the same concept applies
to DMA and other resources as well. ]
 
These can get a bit tricky - I might suggest you open a
ticket with TI's software support so they can help dig in a bit more.
 
Unfortunately, CE 1.02 had little tracing support for
getting further insight into these complex codec resources requests.  CE
2.00 and later have much better tracing support for these things, if you
have the flexibility to upgrade.
 
Chris





From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Viraj Karandikar

Sent: Sunday, March 09, 2008 9:48 PM 

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 th