Subj : GC issue To : netscape.public.mozilla.jseng From : prohto Date : Thu Jun 09 2005 12:57 am Hi everybody, I'm having some problem with the GC. My application is spidermonkey based and it is ending with an abort after I call JS_GC. I find out that this abort is generaed at: UNMARKED_GC_THING_FLAGS(void *thing, void *arg) { uint8 flags, *flagp; if (!thing) return NULL; flagp = js_GetGCThingFlags(thing); flags = *flagp; JS_ASSERT(flags != GCF_FINAL); <<<<<<<<<<<<<< #ifdef GC_MARK_DEBUG if (js_LiveThingToFind == thing) gc_dump_thing(thing, flags, arg, stderr); #endif if (flags & GCF_MARK) return NULL; return flagp; } Any suggestions? Another few question: - The root object of a ctx should be rooted? - If the ctx root-object isn't rooted, after calling JS_GC this will collected and disapear? - After a sequence of operations on a ctx root-object ( properties definition, scripts executions, etc. ) the best way to erase any reminder information, before starting a new iterarion, will be: a) calling JS_GC? What happend if the root object is or not rooted? b) use rooted ctx root-object and call JS_ClearScope? Best regards. Carlos .