[Ecls-list] Threaded MSVC broken.

Samium Gromoff _deepfire at feelingofgreen.ru
Tue Jun 24 07:53:39 UTC 2008


> Good day list,
> 
> It appears that the last tentatively stable (i.e. pre-intepreter changes)
> CVS commit has threaded MSVC broken.
> 
> The build succeeds, but running the built ecl2.exe produces
> an invalid memory reference exception in the MSVC runtime,
> in some init routine (sorry, I forgot to capture exactly which, that'll
> have to wait a bit) whose purpose seems to be filling in the argv vector.

Here are the promised details:

GC_is_black_listed(h = 0x00970000, len = 4096)
GC_is_black_listed(h, 4096)
GC_allochblk_nth()
GC_allochblk(sz = 8, kind = 1, flags = 0)
GC_new_hblk_new(sz = 8, kind = 1)
GC_alloc_obj(sz = 8, kind = 1)
GC_generic_malloc_inner(lb = 28, k = 1)
GC_generic_malloc(lb = 28, k = 1)
GC_malloc(lb = 28)
cl_alloc_object(t = t_process)
init_threads()
cl_boot()


src/gc/blacklst.c:243

struct hblk * GC_is_black_listed(h, len = 4096)
struct hblk * h;
word len;
{
    register int index = PHT_HASH((word)h) == 2416;
    register word i;
    word nblocks = divHBLKSZ(len) == 1;

    if (!GC_all_interior_pointers) {
      if (get_pht_entry_from_index(GC_old_normal_bl == 0, index)
->        || get_pht_entry_from_index(GC_incomplete_normal_bl == 0, index)) {
        return(h+1);
      }
    }


regards, Samium Gromoff




More information about the ecl-devel mailing list