Subj : js_Mark - segmentation fault To : netscape.public.mozilla.jseng From : celleris@naver.com (Youngsun Jeong) Date : Mon Sep 29 2003 05:57 am Hello! I made a ECMAScript engine using spidermonkey, it has additional js function like "setInterval" that was not implemented in spidermonkey. There are some problems. See following backtrace; backtrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16387 (LWP 23961)] js_Mark (cx=0x8240a48, obj=0x8244ac0, arg=0x0) at jsobj.c:4134 4134 if (clasp->mark) (gdb) where #0 js_Mark (cx=0x8240a48, obj=0x8244ac0, arg=0x0) at jsobj.c:4134 #1 0x081283c3 in js_MarkGCThing (cx=0x8240a48, thing=0x8244ac0, arg=0x0) at jsgc.c:879 #2 0x081283af in js_MarkGCThing (cx=0x8240a48, thing=0x824d9e0,arg=0x8240a48) at jsgc.c:890 #3 0x081283af in js_MarkGCThing (cx=0x8240a48, thing=0x824b1e0, arg=0x8240a48) at jsgc.c:890 #4 0x081283af in js_MarkGCThing (cx=0x8240a48, thing=0x82495e4, arg=0x8240a48) at jsgc.c:890 #5 0x081283af in js_MarkGCThing (cx=0x8240a48, thing=0x8252410, arg=0x8240a48) at jsgc.c:890 #6 0x081282c0 in gc_mark_atom_key_thing (thing=0x8245420, arg=0x8240a48) at jsgc.c:783 #7 0x0811a53f in js_atom_marker (he=0x0, i=29, arg=0xbf5ff2a8) at jsatom.c:383 #8 0x081290a4 in JS_HashTableEnumerateEntries (ht=0x8240bc0, f=0x811a4f8 , arg=0xbf5ff2a8) at jshash.c:365 #9 0x0811a57b in js_MarkAtomState (state=0x50, gcflags=80, mark=0x50, data=0x50) at jsatom.c:399 #10 0x08128502 in js_GC (cx=0x8240a48, gcflags=5) at jsgc.c:1161 #11 0x081280dc in js_AllocGCThing (cx=0x8240a48, flags=3) at jsgc.c:523 #12 0x0814cfb4 in js_NewString (cx=0x0, chars=0x0, length=17, gcflag=0) at jsstr.c:2448 #13 0x08149f0d in js_ConcatStrings (cx=0x8240a48, left=0x8245448, right=0x89ad200) at jsstr.c:177 #14 0x0812c54d in js_Interpret (cx=0x8240a48, result=0xbf5ff690) at jsinterp.c:2303 #15 0x08129e4c in js_Execute (cx=0x8240a48, chain=0x8245470, script=0x0, down=0xbf5ff8f0, special=0, result=0xbf5ff690) at jsinterp.c:1054 #16 0x08135c3c in obj_setInterval (cx=0x8240a48, obj=0x8244a70, argc=2, argv=0x8254c54, rval=0xbf5ff690) at jsobj.c:1526 #17 0x0812996c in js_Invoke (cx=0x8240a48, argc=2, flags=0) at jsinterp.c:843 #18 0x08131f64 in js_Interpret (cx=0x8240a48, result=0xbf5ff8ec) at jsinterp.c:2854 #19 0x08129ac2 in js_Invoke (cx=0x8240a48, argc=1, flags=2) at jsinterp.c:860 #20 0x08129c5e in js_InternalInvoke (cx=0x8240a48, obj=0x0, fval=0, flags=2, argc=1, argv=0xbf5ffa70, rval=0x0) at jsinterp.c:935 #21 0x08117892 in JS_CallFunctionName (cx=0x8240a48, obj=0x8244a70, name=0x818537c "Move", argc=1, argv=0xbf5ffa70, rval=0xbf5ffa74) at jsapi.c:3563 #22 0x080a8f11 in MonkeyMain::monkeyMain(char const*, DOM_Node*, char const*) ( script=0x8225ea8 "\n\t\n\tvar target;\n\tvar targetElement;\n\tvar targetElement2;\n\t\n\tvar rad = 0;\n\tvar cx = 347;\n\tvar cy = 200;\n\tvar o #23 0x080b48da in startScriptThread(void*) (arg=0x0) at Player.cpp:94 #24 0x40029442 in pthread_start_thread () from /lib/libpthread.so.0 #25 0x400294b1 in pthread_start_thread_event () from /lib/libpthread.so.0 additional comment : This segmentation fault appears after 3 minutes.I implement "setInterval" and add it to JSFunctionSpec of "Object Class" in "jsobj.c" . I printed "clasp->mark" then "cannot access memmory at 0x90" was printed.. Is it GC problem? Thank you for any assistance. .