Last Comment Bug 717208 - sometimes __noSuchMethod__ is not found out and throw Exception: func is not a function
: sometimes __noSuchMethod__ is not found out and throw Exception: func is not ...
Status: RESOLVED FIXED
: regression
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: 12 Branch
: x86 Windows XP
: -- normal (vote)
: mozilla12
Assigned To: Brian Hackett (:bhackett)
:
Mentors:
Depends on: 721939
Blocks: 712714 717319
  Show dependency treegraph
 
Reported: 2012-01-11 04:39 PST by teramako
Modified: 2012-01-27 19:45 PST (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
__noSuchMethod__test.xpi (BootstrappedExtension) (1.03 KB, application/octet-stream)
2012-01-11 04:39 PST, teramako
no flags Details
patch (2.90 KB, patch)
2012-01-11 16:41 PST, Brian Hackett (:bhackett)
dvander: review+
Details | Diff | Splinter Review

Description teramako 2012-01-11 04:39:06 PST
Created attachment 587655 [details]
__noSuchMethod__test.xpi (BootstrappedExtension)

User Agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0a1) Gecko/20120110 Firefox/12.0a1
Build ID: 20120110031111

Steps to reproduce:

main code is here:

var a = {
    __noSuchMethod__: function () {c++;}
};
var e = [];
var c = 0;
for (var i = 0; i < 100; i++) {
    try {
        a.b();
    } catch (ex) {
        e.push([i, ex.message]);
    }
}

e.push(c);
Services.console.logStringMessage(JSON.stringify(e));


1. install the attempted xpi
2. disable and enable the extension (I don't know why the problem is not occured at the first installed)




Actual results:

following messages are shown in Error Console

Test: start
[[39,"a.b is not a function"],[80,"a.b is not a function"],[81,"a.b is not a function"],97]


Expected results:

messages should be shown any times:

Test: start
[100]
Comment 1 teramako 2012-01-11 04:41:25 PST
This problem is occured since Firefox 12.0a1 (2012-01-10)
Comment 2 Alice0775 White 2012-01-11 13:20:37 PST
Regression window(m-c)
Works:
http://hg.mozilla.org/mozilla-central/rev/9a230265bad5
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120108 Firefox/12.0a1 ID:20120108060523
Fails:
http://hg.mozilla.org/mozilla-central/rev/c713003d3226
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120110 Firefox/12.0a1 ID:20120110031111
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=9a230265bad5&tochange=c713003d3226



Regression window(m-i)
Works:
http://hg.mozilla.org/integration/mozilla-inbound/rev/b6c60a28454d
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120107 Firefox/12.0a1 ID:20120109062923
Fails:
http://hg.mozilla.org/integration/mozilla-inbound/rev/7ab4f1ebc7cc
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120109 Firefox/12.0a1 ID:20120109063028
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=b6c60a28454d&tochange=7ab4f1ebc7cc

Triggered by:
7ab4f1ebc7cc	Brian Hackett — Backout 54cd89b0f1fa (bug 712714 backout). Talos will probably report fake regressions for this patch, do not back out for this reason.
Comment 3 Brian Hackett (:bhackett) 2012-01-11 16:41:33 PST
Created attachment 587878 [details] [diff] [review]
patch

I didn't confirm this fixes the example, but when generating an IC for the CALLPROP the access was treated as a generic property access and didn't go through the logic used for noSuchMethod.  The patch has a shell testcase which exhibited the bad behavior.
Comment 4 Brian Hackett (:bhackett) 2012-01-11 17:32:26 PST
https://hg.mozilla.org/integration/mozilla-inbound/rev/16f0d80b3137
Comment 5 Boris Zbarsky [:bz] 2012-01-11 21:26:19 PST
Is it at all plausible that this patch would have improved the Talos V8 numbers?  The regression bot claims it did...
Comment 6 Brian Hackett (:bhackett) 2012-01-12 05:12:18 PST
(In reply to Boris Zbarsky (:bz) from comment #5)
> Is it at all plausible that this patch would have improved the Talos V8
> numbers?  The regression bot claims it did...

Not legitimately, in the same way that bug 712714 didn't actually regress V8 either.  At least things are back in balance I guess.
Comment 7 Matt Brubeck (:mbrubeck) 2012-01-12 11:04:40 PST
https://hg.mozilla.org/mozilla-central/rev/16f0d80b3137

Note You need to log in before you can comment on or make changes to this bug.