[Bug libgcj/18266] SIGSEGV in GC_register_finalizer_inner ()

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Bug libgcj/18266] SIGSEGV in GC_register_finalizer_inner ()

cvs-commit at gcc dot gnu.org

------- Additional Comments From ovidr at users dot sourceforge dot net  2005-06-08 21:14 -------
Since this bug seems a bit lost, I've been trying some things on my own without
success.

Can someone please explain:

If "referent" is just a RawData pointer to some Object, how are its previous
finalizers supposed to be found?  How to append them along with the new
finalizer in the correct order (order matters?) to
GC_REGISTER_FINALIZER_NO_ORDER (GC_register_finalizer_inner(obj, fn, cd, ofn,
ocd, mp)) which seems to be what is used in natObject.cc?

The comments in this bug seem to suggest that there is some similar code
somewhere that I could lift and hook into natReference.create, but all the code
in natObject and String.intern finalization looks very different to my
novice-gcj eyes since they don't seem to be working with some foreign object,
nor with finalizers that aren't already locally stored in a struct.  

Secondly, is there any way to craft a testcase for this to know if it has been
fixed?  I don't fully understand why (based on comment #6) this would ever cause
a crash, and waiting many days for the crash of my apps is a very tedious process.

--


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18266