[kaffe] (Maybe Bug Report): kaffe-1.1.5: Garbage collector: threadData.jvmpiData not scanned for pointers

Alexander Petrossian paf at design.ru
Fri Jun 24 06:31:00 PDT 2005


jvmpiSetThreadLocalStorage puts a pointer to local storage instances there:
	KTHREAD(get_data)(jt)->jvmpiData = ptr;
but that field:
	threadData.jvmpiData
is not scanned for pointers neither here
	liveThreadWalker [gc-refs.c]
which only looks into 
	thread_data->jnireferences
nor anywhere else.

the letters "jvmpiData" only occur in 3 places in source distribution:

./kaffe/jvmpi/         
    431:jvmpi_kaffe.c  jvmpiGetThreadLocalStorage
    655:jvmpi_kaffe.c  jvmpiSetThreadLocalStorage
./kaffe/kaffevm/       
    25:threadData.h    declaration

this looks like a but to me, since if that storage would hold a last pointer to an object,
that object will be reclaimed during garbage collect.

test case for that should be obvious.

I myself is not a java developer, I even have no kaffe binaries, so I can't run it.

In case this is NOT a bug, please provide a short explanation to "how that can work".

Alexander Petrossian, Moscow, Russia.





More information about the kaffe mailing list