"TypeError: d has invalid __iterator__ value undefined" after setting d.__proto__ to null

VERIFIED FIXED

Status

()

Core
JavaScript Engine
VERIFIED FIXED
12 years ago
12 years ago

People

(Reporter: Jesse Ruderman, Assigned: brendan)

Tracking

(Blocks: 1 bug, {regression, testcase})

Trunk
regression, testcase
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

12 years ago
 
(Reporter)

Comment 1

12 years ago
Created attachment 223791 [details]
testcase
(Reporter)

Comment 2

12 years ago
Regressed between the May 17 nightly and the May 21 nightly.  Guessing the fix for bug 326466 (pythonic generators and iteration) is to blame.
Blocks: 326466

Comment 3

12 years ago
Just for my notes, this is also occurring in Venkman when trying to enumerate the properties of the Call scope object during debugging.
I think this is an important bug. The problem is that we look up d.__iterator__, execept that __iterator__ lives on Object.prototype, and because d.__proto__ = null, we don't find it and are unable to iterate over it. This will bite anybody trying to use objects as dictionaries or otherwise wants to enumerate an object whose prototype chain doesn't either define __iterator__ seperately or lead to Object.prototype.
OS: Mac OS X 10.4 → All
Hardware: Macintosh → All
(Assignee)

Comment 5

12 years ago
Created attachment 223978 [details] [diff] [review]
fix

mrbkap says r=him.

/be
Assignee: general → brendan
Status: NEW → ASSIGNED
Attachment #223978 - Flags: review+
(Assignee)

Comment 6

12 years ago
Fixed on JS_1_7_ALPHA_BRANCH and trunk.

/be
(Assignee)

Updated

12 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → FIXED

Updated

12 years ago
Depends on: 340199

Comment 7

12 years ago
Checking in regress-339685.js;
/cvsroot/mozilla/js/tests/js1_5/Regress/regress-339685.js,v  <--  regress-339685.js
initial revision: 1.1
Flags: in-testsuite+

Comment 8

12 years ago
verified fixed 1.9 windows/mac(ppc|tel)/linux 20060810
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.