On 9/18/19, Gunter Königsmann <gun...@peterpall.de> wrote:
> Would it be possible for you to provide backtraces for a few different
> crashes?

Thanks for your input, now let me explain better:

A few days ago I tested with a little different configuration, and the
backtrace was just a few frames. Some 'cl_object' pointer had a too
low address, and this caused an EXC_BAD_ACCESS some frame after
function 'si_pathname_translations()'.

What currently happens (witch Xcode 10.2 and the exact same
'arm64-port' branch as on gitlab) is that the backtrace is very long,
always exactly 6780 frames; I thought of a blown stack, and didn't
look at the highest frames, which indeed point always to the same
function; the error condition happens (as above) inside of function
'si_pathname_translations()'.

Attached you find the full backtrace; at the end I added a short lldb
session, printing some variables.
Here the most interesting lines from the lldb session:

frame #6777: 0x0000000100cd6c88 repl`si_pathname_translations(narg=2,
host=0x000000010250bfc0) at pathname.d:1555:34
   1552         for (l = set, set = ECL_NIL; !ecl_endp(l); l = CDR(l)) {
   1553                 cl_object item = CAR(l);
   1554                 cl_object from =
coerce_to_from_pathname(cl_car(item), host);
-> 1555                 cl_object to = cl_pathname(cl_cadr(item));
   1556                 set = CONS(CONS(from, CONS(to, ECL_NIL)), set);
   1557         }
   1558         set = cl_nreverse(set);

(lldb) print item
(cl_object) $0 = 0x00000001013c1931

(lldb) print from
(cl_object) $1 = 0x00000000000000db

(lldb) print to
(cl_object) $2 = 0x0000000100f08a98

As you can see, the value of the 'from' pointer is way too low for a
valid 'cl_object' pointer address.

(to be continued...)

<<attachment: ECL-iOS-backtrace.zip>>

Reply via email to