CARVIEW |
Select Language
HTTP/2 200
date: Sun, 27 Jul 2025 20:56:52 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
link: ; rel=preload; as=fetch; crossorigin=use-credentials
referrer-policy: no-referrer-when-downgrade
server-timing: issue_layout-fragment;desc="issue_layout fragment";dur=181.762575,issue_conversation_content-fragment;desc="issue_conversation_content fragment";dur=586.065562,issue_conversation_sidebar-fragment;desc="issue_conversation_sidebar fragment";dur=47.283612,nginx;desc="NGINX";dur=0.74498,glb;desc="GLB";dur=102.800896
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Accept,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: a2eb102
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=OuacaFUOPDjanr3LY6Bs5e1qvSLoIoIip9Duz6ol1cz4TkjaRIdMkMNU1tgfqvvH7zowmQbLoKpcSlzsk2bTQHbaEU44nJutSmg2orZA2w9dW9npoP75sliO03OQbkTExa30qycuAGKjBri69nwKwBK1rXxNkIKlCsnJV9sMGlzcf0hC14PMuTSyAAsYD43BDire9QAMxCVGKfjvqYEZFr3qFzVfO621QTaI%2FB3e%2FWtcYBv3F8SKKbs0uaoGI%2FKHPNwIUtqJsymdNryG5VOuTA%3D%3D--4XH9k1GuF7v4QzN8--Qyq%2BhqZc9tqI8tXx%2Bbl7RA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1920935085.1753649811; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 20:56:51 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 20:56:51 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: E942:2F5ED7:117E25E:16FD7D4:68869293
Node occasionally gives multiple files/folders the same inode · Issue #12115 · nodejs/node · GitHub

No one assignedNo typeNo projectsNo milestoneNone yetNo branches or pull requests
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
Closed
Labels
feature requestIssues that request new features to be added to Node.js.Issues that request new features to be added to Node.js.fsIssues and PRs related to the fs subsystem / file system.Issues and PRs related to the fs subsystem / file system.windowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.
Description
Moderator's note (@Fishrock123): Off-topic comments have and will be deleted.
- Version: v7.2.1
- Platform: Windows 10 Pro 64bit, Windows 7 Enterprise 64bit (Both using NTFS)
- Subsystem: File System
Node sometimes reports different files/folders to have identical ino values.
I can't reproduce this consistently and copying/reproducing a folder structure that contains dupes elsewhere doesn't replicate the issue.
I did encounter lots of duplicates under C:\Users\%USER%\AppData
but it may be different for other people
Example
Specific example I encountered
# Structure
│ ServerStore.jsx
│
├───constants
│ Api.jsx
│
└───stores
UserStore.jsx
> fs.lstatSync("stores").ino
5910974511014218
> fs.lstatSync("stores/UserStore.jsx").ino
24206847997202570
> fs.lstatSync("constants").ino //Duplicate
9851624184963316
> fs.lstatSync("constants/Api.jsx").ino //Duplicate
9851624184963316
> fs.lstatSync("ServerStore.jsx").ino
3659174697792238
Test Script
Here's a hacky node script to loop through a directory and look for duplicate inodes.
Running it on most of my other folders didn't yield a result, until I ran it on C:\Users\%USER%\AppData
where I encounted loads of duplicates
Usage: node dupe.js [dir]
var fs = require('fs');
var path = require('path');
var process = require('process');
// Recursively walks a directory and looks for duplicate inodes
// loop from https://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search
var dir = process.argv[2];
if (dir == undefined) {
dir = '.';
}
var walk = function(dir, done) {
var results = [];
fs.readdir(dir, function(err, list) {
if (err) return done(err);
var pending = list.length;
if (!pending) return done(null, results);
list.forEach(function(file) {
file = path.resolve(dir, file);
fs.stat(file, function(err, stat) {
if(stat && stat.ino) {
results.push({
file: file,
ino: stat.ino
});
}
if (stat && stat.isDirectory()) {
walk(file, function(err, res) {
if(res) {
results = results.concat(res);
}
if (!--pending) done(null, results);
});
}
else {
if (!--pending) done(null, results);
}
});
});
});
};
walk(dir, function(err, results) {
var merge = {};
results.forEach(function(it) {
if (!merge[it.ino]) {
merge[it.ino] = [];
}
merge[it.ino].push(it.file);
});
var dupes = Object.keys(merge).filter(key => merge[key].length > 1);
dupes.forEach(it => console.log(it, merge[it]));
})
techeverri, goodhoko and Daniele122898FedericoCeratto, AlexanderKaraberov, iEchoic, fijimunkii, marquesds and 35 more
Metadata
Metadata
Assignees
Labels
feature requestIssues that request new features to be added to Node.js.Issues that request new features to be added to Node.js.fsIssues and PRs related to the fs subsystem / file system.Issues and PRs related to the fs subsystem / file system.windowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.
Type
Projects
Milestone
Relationships
Development
Issue actions
You can’t perform that action at this time.