Repository navigation
Doubled array entry using index '' in node v8.4.0 #15159
Description
Activity
This is because of a bug when printing the array, not because the array actually has a duplicated property.
/cc @BridgeAR
Reacted by Michał Wadas- addedutilIssues and PRs related to the built-in util module.Issues and PRs related to the built-in util module.
on Sep 3, 2017 I think array is duplicate but I'm not sure
It's not possible to have duplicate keys for normal JS objects like that (the "exception" being
Mapinstances), so if anything there is a bug inutil.inspect()as @TimothyGu mentioned.Reacted by Benjamin Gruenbaum, Michał Wadas and Muriithi KamwetiI'm looking at this
Reacted by Benjamin Gruenbaum and Stan SARRWell, actually it seems to be already fixed on
master. Can someone else confirm?@targos looks fixed in master on macOS:
~/Documents/OpenSource/node [master] $ ./out/Release/node > var a = [] undefined > a[''] = 'foo' 'foo' > console.log(a) [ '': 'foo' ] undefined > (To exit, press ^C again or type .exit) > ~/Documents/OpenSource/node [master] $ node -v v8.4.0 ~/Documents/OpenSource/node [master] $ node > var a = [] undefined > a[''] = 'foo' 'foo' > console.log(a) [ '': 'foo', '': 'foo' ] undefined >
Thanks for the report @chancho4321 this bug appears to have been fixed already - thanks anyway, reporting was the right thing to do :)
That's great to hear! We should make sure to have a test case for it if one doesn't yet exist.
This got fixed by 3a886ff. Thanks for the report as this is a interesting edge case. It could only happen if the array contained a empty string as key and no regular entry. As @TimothyGu pointed out it would be nice to add a additional test case.
Therefore I am adding the good first contribution label.
Reacted by Benjamin Gruenbaum- addedgood first issueIssues that are suitable for first-time contributors.Issues that are suitable for first-time contributors.
on Sep 3, 2017 - addedtestIssues and PRs related to Node.js core tests and test infrastructure.Issues and PRs related to Node.js core tests and test infrastructure.and removed
on Sep 3, 2017 @addaleax Shouldn't this still be tagged with 'v8.x' since that is where the issue still occurs (the aforementioned commit is not present in either the 'v8.x-staging' or 'v8.x' branches)?
@mscdex I can only speak for me, but as somebody who put together a number of the previous v8.x releases, having that label on issues that were also affecting
master(which is our implied default, iirc) is confusing, because it gives the impression that some special care is needed for that release line. Unlike with LTS, we land anything in v8.x that also landed in master and is not semver-major by default, so this wouldn’t have been forgotten. Other releasers might disagree, and I’m not saying that I’m right about this being the best approach.(It’s totally fine to add that label for bugs in LTS, or for bugs that only occur in specific release lines, of course.)
- added a commit that references this issue
on Sep 8, 2017 There's a PR open for this so I'm removing the
good first contributionlabel.- removedgood first issueIssues that are suitable for first-time contributors.Issues that are suitable for first-time contributors.
on Sep 8, 2017 - added a commit that references this issue
on Sep 11, 2017 Fixed by 21a3ae3
- added a commit that references this issue
on Sep 13, 2017 - added a commit that references this issue
on Sep 20, 2017 - added a commit that references this issue
on Oct 17, 2017 - added a commit that references this issue
on Oct 25, 2017
As of node v8.4.0, assigning a value to the array index '' causes a duplicate entry to be created. The duplicate disappears (and cannot be recreated) as soon as a value is assigned to a numerical index.