I'm new to this mailing list and I'm not clear on how much this has been 
discussed before, but is there a way to recover from an application crash 
without having to reboot the system?

I have this daemon that interfaces with the codec engine for the audio 
processing and even though I'd like to think that my code is 100% bug free 
(...), on the rare occasion where it would crash, I would at least like to be 
able to just restart it to recover.
 
However most often than not I will either get a failed return code I believe 
when creating the audio encoder instance, or worst my thread will hang FOREVER 
on the call to Engine_open which never returns.

Is there a way upon application restart to re-initialize things properly in 
order to avoid the reboot?


Steph

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of 
Joshua Hintze
Sent: Thursday, June 04, 2009 1:13 PM
To: [email protected]
Subject: Crashing on ARM side while codec engine is running.

Lately I've been trying to track down a bug on some of my arm code running on 
the davinci.  As most programmers know there can be plenty of sigfaults.
The problem is that the codec engine is running when I sigfault so it doesn't 
get closed down properly. This means the next time I try to launch my 
application I get this error:

@0x0007f980:[T:0x4194db60] OP - Processor_create_d> Loading and starting DSP 
server 'algo.x64P' FAILED, status=[0x8000800b] (look for error code 'DSP_EBASE 
+ 0xb' in dsplink*/packages/dsplink/gpp/inc/errbase.h)
@0x0007fbe0:[T:0x4194db60] OP - Processor_delete_d> Closing remote transport 
FAILED, status=0x80008002.
@0x0007fd08:[T:0x4194db60] OP - Processor_delete_d> Stopping DSP FAILED, 
status=0x80008000 @0x0007fe0a:[T:0x4194db60] OP - Processor_delete_d> Closing 
pool FAILED, status=0x80008000 @0x0007fedf:[T:0x4194db60] OP - 
Processor_delete_d> Detaching from DSP FAILED, status=0x80008000 
@0x00080948:[T:0x4214db60] CE - rserverOpen: can't start 'SARalgo.x64P'; 
Processor_create failed
TraceUtil> Error: Failed to open codec engine "algo"

I looked in errbase.h and I see this.

/* An invalid argument was specified. */ #define DSP_EINVALIDARG             
(DSP_EBASE + 0xBl)

I don't think it's an invalid argument problem because it runs just fine if I 
comment out the ARM code that is causing the segfault.  The only way to get it 
to launch the codec engine again is a full system restart. I've tried rmmod 
dsplinkk and cmemk and re-inserting them but that doesn't work. Just the reboot 
does.

Any suggestions?

Thanks,

Josh



_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to