Subj : Re: Exception in SpiderMonkey v1.6 pr 6a To : Rob Swindell From : Brendan Eich Date : Mon May 02 2005 08:47 pm Rob Swindell wrote: >>>js_Interpret(JSContext * 0x00a32010, unsigned char * 0x015f2913, long * >>>0x0012e4ec) line 2426 + 43 bytes >> >>In RC6a, this line is the starred one below: >> >> str = js_ConcatStrings(cx, str, str2); >>* if (!str) { >> ok = JS_FALSE; >> goto out; >> } >> >> >>Have you hacked on jsinterp.c by any chance? > > > Nope. I have jsinterp.c rev 3.162, where line 2462 is starred below: $ cvs log jsinterp.c|grep RC6 JS_150_RC6a: 3.136.2.2 JS_150_RC6: 3.135 $ cvs log jsinterp.c | grep 3.162 revision 3.162 So you must be using some random trunk checkout, not RC6a? > /* Skip properties not owned by obj when looking from origobj. > */ > * ok = OBJ_LOOKUP_PROPERTY(cx, origobj, fid, &obj2, &prop); > if (!ok) > goto out; > > BTW, it'd be nice if the source files had CVS tags (e.g. "$Id: $") > indicating the revision. Those are bad form for people working from CVS, or at least were traditionally -- gratuitous differences from trunk, and when diffing against others' trees, and (most important) when generating patches. > I realize now that my js32.dll built from a CVS snapshot where > JS_GetImplementationVersion() returns "JavaScript-C 1.5 pre-release 6a > 2004-06-09", is not *actually* SpiderMonkey 1.5 PR 6a. I was under the > (apparently incorrect) assumption that cvs-mirror.mozilla.org only contained > released source What gave you that idea? It's a readonly mirror of cvs.mozilla.org. > and that the string returned from > JS_GetImplementationVersion() would actually reflect the version built from > the MAIN/HEAD rev. :-( That string is updated only when an RC is done. > Can I suggest tagging the released SpiderMonkey files with a common label > (say "JS_LATEST_RELEASE") which will allow someone to get the latest > *released* version of the SpiderMonkey code? Released how? A Mozilla alpha or beta milestone? I don't think such a tag will help. It begs questions, it does not answer them. Use a known release tag if you like. > Now I have to decide if I should revert to the actual 1.5 pr 6a code or use > the latest from CVS. Any suggestions? Since you are well after RC6a, you should try the trunk. It's possible that one of the stack-pointer homing fixes to let the GC see operands that it should protect fixes your crash. Let us know. /be .