[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