[Ecls-list] crash on file not found

Dustin Long dlong at stevens.edu
Thu May 3 07:08:52 UTC 2007


Dean O'Connor wrote:
> in continuation of my last email ....
>
> Ok found I using "make_constant_base_string"  instead of 
> "make_simple_base_string" when I load files stopped the initial access 
> violation exception error.
> I'm finding it hard to get any clear doco on this.
> eg.
> cl_load(1, make_simple_base_string("enumerations/sequence-enumeration"));
>
> However, if I specify an incorrect filename (ie. file not there) I also 
> get an access violation exception error.
>
> Does this mean I should only use cl_safe_eval()  and not use these 
> functions, or is it a bug ????
>   
As I understand it, if any of the non-si_safe_eval functions signal a 
condition, it causes that "frs" error to repeat, then the program to 
abort. Basically, frs is some sort of frame stack, and since native c 
code doesn't set up this stack itself, a condition leads to badness. In 
my own ecl aware code I always use si_safe_eval unless I'm sure the call 
won't cause a signal (i.e. cl_format is pretty safe).

Also, in response to your email about cl_env, when you were using a 
threaded build: were you defining ECL_THREADS when compiling your c code 
as well?

Dustin




More information about the ecl-devel mailing list