Ivan Maidanski

Results 817 comments of Ivan Maidanski

Somewhat related issues: #380, #322.

1. It is better to check master. 2. Compile bdgwc w/o optimizations e.g.: ./configure --disable-thread-local-alloc --disable-parallel-mark --disable-munmap && make CFLAGS_EXTRA=-DGC_DISABLE_INCREMENTAL

Is p (passed to GC_is_marked) a valid heap pointer?

> GC_push_all((void *)cl_symbols, (void *)(cl_symbols + cl_num_symbols_in_core)) It's OK. (e.g. GC_push_all is used by GC to push some globals)

According to GC_is_marked contract, its argument should be the beginning of the object previously allocated by GC, i.e. the following condition should be true: p != 0 && GC_base(p) ==...

> Just to be clear _cl_symbols_ is not heap-allocated. Therefore _GC_is_marked()_ should never be called on it, correct? Correct. I've added a comment about it to gc_mark.h today.

> Reproduced the crash with master ([457b024](https://github.com/ivmai/bdwgc/commit/457b0241f1a2bfbee6f5257a5c9646e944d406d2)) and the flags given here. It is better to debug the issue on master. To turn on internal checks, add --enable-gc-assertions (to the...

Not reproduced also with: TEST_MANUAL_VDB, USE_WINALLOC (GWW_VDB). USE_MMAP does not influence.