Closed Bug 420087 Opened 16 years ago Closed 16 years ago

Assertion failure: PCVCAP_MAKE(sprop->shape, 0, 0) == entry->vcap

Categories

(Core :: JavaScript Engine, defect, P1)

defect

Tracking

()

VERIFIED FIXED
mozilla1.9beta4

People

(Reporter: bc, Assigned: brendan)

References

()

Details

(Keywords: assertion, crash)

Attachments

(2 files)

Attached file stack
      No description provided.
Flags: blocking1.9?
Some notes, as I wish I'd rebuilt Spidermonkey with -g3:

Whenever I hit this with either test case, entry->vcap and entry->kshape and scope->shape are all in sync, but sprop->shape is 2 lower.  So entry->vword's sprop reference is out of date?

This is the function from the blog.163.com case that's tripping, haven't had a chance to extract from AOL yet:

function() {
    var batch = {
        map: {
            callCount: 0,
            page: window.location.pathname + window.location.search,
            httpSessionId: dwr.engine._getJSessionId(),
            scriptSessionId: dwr.engine._getScriptSessionId()
        },
        charsProcessed: 0,
        paramCount: 0,
        headers: [],
        parameters: [],
        isPoll: false,
        headers: {},
        handlers: {},
        preHooks: [],
        postHooks: [],
        rpcType: dwr.engine._rpcType,
        httpMethod: dwr.engine._httpMethod,
        async: dwr.engine._async,
        timeout: dwr.engine._timeout,
        errorHandler: dwr.engine._errorHandler,
        warningHandler: dwr.engine._warningHandler,
        textHtmlHandler: dwr.engine._textHtmlHandler
    };
    if (dwr.engine._preHook) batch.preHooks.push(dwr.engine._preHook);
    if (dwr.engine._postHook) batch.postHooks.push(dwr.engine._postHook);
    var propname,
    data;
    if (dwr.engine._headers) {
        for (propname in dwr.engine._headers) {
            data = dwr.engine._headers[propname];
            if (typeof data != "function") batch.headers[propname] = data;
        }
    }
    if (dwr.engine._parameters) {
        for (propname in dwr.engine._parameters) {
            data = dwr.engine._parameters[propname];
            if (typeof data != "function") batch.parameters[propname] = data;
        }
    }
    return batch;
}
Attached patch proposed fixSplinter Review
Shaver, thanks for the help -- can you test and r+? Thanks,

/be
Assignee: general → brendan
Status: NEW → ASSIGNED
Attachment #306589 - Flags: review?(shaver)
Comment on attachment 306589 [details] [diff] [review]
proposed fix

r=shaver

test fodder:

for (var i = 0; i < 2; i++)
    dict = {p: 1, q: 1, p:1};
Attachment #306589 - Flags: review?(shaver) → review+
Flags: blocking1.9? → blocking1.9+
OS: Linux → All
Priority: -- → P1
Hardware: PC → All
Target Milestone: --- → mozilla1.9beta4
Comment on attachment 306589 [details] [diff] [review]
proposed fix

Would like to get this in ASAP.

/be
Attachment #306589 - Flags: approval1.9b4?
Attachment #306589 - Flags: approval1.9+
Comment on attachment 306589 [details] [diff] [review]
proposed fix

a1.9b4=beltzner
Attachment #306589 - Flags: approval1.9b4? → approval1.9b4+
Fixed:

js/src/jsinterp.c 3.451

/be
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
/cvsroot/mozilla/js/tests/ecma_3/Regress/regress-420087.js,v  <--  regress-420087.js
initial revision: 1.1
Flags: in-testsuite+
Flags: in-litmus-
v 1.9.0
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: