Open westhomas opened 7 years ago
same issue here, in my case happens when I run Jest:
node-debug node_modules/jest-cli/bin/jest.js -i
Node Inspector v0.12.8
Visit http://127.0.0.1:8080/?port=5858 to start debugging.
Debugging node_modules/jest-cli/bin/jest.js
Debugger listening on [::]:5858
/usr/local/lib/node_modules/node-inspector/lib/InjectorClient.js:112
cb(error, NM[0].ref);
^
TypeError: Cannot read property 'ref' of undefined
at InjectorClient.
I've already checked, the NM object is an empty array
I've the same issue, exception are thrown when connecting browser to :8080 port.
I think problem is related to node version, all works with node@6.3.1 and start failing when updated to node@6.4.0
All start working again after rolling back node to 6.3.1
I landed here after spending several hours trying to make things working.
Windows 7, Node 6.4.0 - x64 version.
When, after running node-inspector (or node-debug, or node --debug-brk, etc) I tried to go to the given address (with the GUI debugger with those devtools), the node proccess (and node-inspector proccess, if it was run separately) was crashing. No matter what I tried to do to solve it (downgrading node-inspector included).
In the cmd, the stack trace wasn't really helpful (some exceptions from events.js and something about TCP, sorry, didn't save them). I think they were the same as in javfindly's post.
From the browser, I could only learn that it had something to do with closed websocket and the inspector didn't worked at all (it was empty and console didn't work as well).
After using lynx1983's fix, I also noticed:
"No NativeModule in target scope."
After all, I downgraded Node to 6.3.1 and it's working.
Same problem
I also have run into this issue.
code is looking for a property with name == "NativeModule" but on my machine it returns an array of the following properties for refs[result.object.ref].properties
[ { name: 'inspectorConsole', propertyType: 0, ref: 3 }, { name: 'wrapConsoleCall', propertyType: 0, ref: 3 }, { name: 'console', propertyType: 0, ref: 3 } ]
The error handling is not working in this area because NM[0] is an invalid reference based on the exclusion of NativeModule in the properties array...
if (!NM.length)
error = new Error('No NativeModule in target scope');
cb(error, NM[0].ref);
Not necessarily a good long term fix, but I worked around the problem with the following change to node-inspector/lib/InjectorClient.js
:
108 if (!NM.length) {
109 error = new Error('No NativeModule in target scope');
110 return cb(error);
111 }
The debugger loads successfully and I am able to debug my code.
:+1:
Downgrade to 6.3.1 helps. This is a regression,
For anyone using homebrew and trying to get back to node 6.3.1 after you've already done a cleanup you can re-install 6.3.1 with:
brew install https://github.com/Homebrew/homebrew-core/raw/cc180c23b583487101a1b6697da4126739948dc5/Formula/node.rb
and then switch with:
brew switch node 6.3.1
Small addition to the above code - I had to unlink node first, then I could install and switch to 6.3.1.
brew unlink node
Strangely, I see this with Node v6.2.1
?
Meanwhile, has anybody tried @lynx1983's patch referenced above?
*Edit: Nope, no such luck. /= I just get the expected “No NativeModule in target scope” instead of an actual crash; but that's not more helpful. Agh!
Well, thank god for nvm
: nvm install v6.3.1
, problem solved. For now.
Same problem in 6.5.0
I succeeded with this ticket.
Simply, yum remove nodejs yum install nodejs-6.3.1 worked for me. I use OEL 6.7 ( derivation of Redhat Enterprise Linux )
Also fails for me. Node 6.5.0, Node Inspector v0.12.8 on OS X.
Maybe this issue should be split into two, as it addresses two separate bugs? One is the bad handling of the error case, the error being that NativeModule isn't found. PR #914 fixes the first one, so it would definitely help to have an issue dedicated to the second bug.
Those running 6.5.0 can use native node for the same purposes. It's an experimental feature, but it works fine for me.
node --inspect --debug-brk my-app.js
.
Read more here.
Thanks @kmkr but --inspect appears broken if you use the cluster API to fork workers, beware...
@kmkr
No they can't. node --inspect
doesn't work on Windows 64 yet
@wzup solution: stop using windows.
Same issue. OS: Ubuntu 15.10
brandon@ubuntu:~$ uname -a
Linux ubuntu 4.2.0-35-generic #40-Ubuntu SMP Tue Mar 15 22:15:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
brandon@ubuntu:~$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
NAME="Ubuntu"
VERSION="15.10 (Wily Werewolf)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.10"
VERSION_ID="15.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
Also using node 6.5.0 & npm 3.10.3 with linux brew. My colleague is using Ubuntu as well but nvm with same node/npm releases as mine. Same issue.
The hack @brannon suggested works for me for now.
Same problem with Node 6.5.0 on OSX El Capitan (Ver 10.11.6). Downgrading to 6.3.1 did not solve the problem!!
Node Inspector v0.12.8
Visit http://127.0.0.1:8080/?port=5858 to start debugging.
/usr/local/lib/node_modules/node-inspector/lib/InjectorClient.js:111
cb(error, NM[0].ref);
^
TypeError: Cannot read property 'ref' of undefined
at InjectorClient.<anonymous> (/usr/local/lib/node_modules/node-inspector/lib/InjectorClient.js:111:22)
at /usr/local/lib/node_modules/node-inspector/lib/DebuggerClient.js:121:7
at Object.create.processResponse.value (/usr/local/lib/node_modules/node-inspector/lib/callback.js:23:20)
at Debugger._processResponse (/usr/local/lib/node_modules/node-inspector/lib/debugger.js:95:21)
at Protocol.execute (_debugger.js:121:14)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:177:18)
at Socket.Readable.push (_stream_readable.js:135:10)
at TCP.onread (net.js:542:20)
same problem here with:
Environment Information
========================
npm: 3.10.7
Node: 6.5.0
Electron: 1.3.5
MongoDB shell version: 3.2.8
Date: Mo 12 Sep 2016 03:45:28 ICT
i run node via nvm, with version 4x and 5x its working:
ok Node v4.5.0
ok Node v5.12.0
crash Node v6.5.0
update [17. Sept 2016]
crash Node v6.6.0
but crashes on current 6x with
▶ node-debug oop.js
Node Inspector v0.12.8
Visit http://127.0.0.1:8080/?port=5858 to start debugging.
Debugging `oop.js`
Error: listen EADDRINUSE :::5858
at Object.exports._errnoException (util.js:1026:11)
at exports._exceptionWithHostPort (util.js:1049:20)
at Agent.Server._listen2 (net.js:1253:14)
at listen (net.js:1289:10)
at net.js:1399:9
at _combinedTickCallback (internal/process/next_tick.js:77:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
node-inspector is the most popular debug tool for Node. Based on statistic, more than 10k downloads in the last day. This open critical issue prevents using node v6.5.0 for developers. I really appreciate Your debug framework and all effort by node-inspector developers but more than 29 days delay to provide solution is not fair. I'm sorry!
Same issue here:
Node version: v6.5.0 Npm version: 3.10.6 Node Inspector v0.12.8
cb(error, NM[0].ref); ^ TypeError: Cannot read property 'ref' of undefined
This is blocking issue!!! but seems like the team doesn't notice it. @3y3
Same here Windows x64 Node : 6.6.0
Downgrade is not a solution for me! Hope it's gone be fixed soon...
same on win10 node v6.5.0
The lastest release was in April 8. I don't know the future about node-inspector, but I believe that will die. Because NodeJS incorporated the inspector. Try this using 6.6.0: node --inspect index.js
It's the same, but integrated and faster, really faster!!!
@LeandroFavero The problem is that hype on Node.js is over, and a lot of temporary solutions became permanent due to the lack of professional developers. Unfortunately --inspect
is unstable and doesn't work for most of the interested users. I would expect node-inspector
to disappear the same time as node-gyp
would get Unicode support and drop Python from dependencies.
For the future commenters: consider using emoji reactions if you have the same setup as previous reporters. There're 2 messages a day with the same content, and it's annoying.
@polkovnikov-ph why are you saying stuff like that? lack of professional developers? what is that based on? --inspect
is new so they still need to patch it up. yes, it sucks that debugging isn't working out right now but they'll get it straightened out. it's unstable because the hype is real.
im using windows 10 with node 6.6(before) ..
to solve this I uninstalled node and downloaded node 4.5 from the official nodejs site
hope this helps someone
node 6.6.0 mocha 2.5.3 same error...
Same issue win10 node v6.5.0
I also have the same issue on win10 node v6.6.0
@fignuts but what version of node.js are you using?
same issue here, running in OSX, node v6.5.0
Same issue on Debain, Node.js: v6.4.0 NPM: 3.10.3 Node Inspector v0.12.8
/../.nvm/versions/node/v6.6.0/lib/node_modules/node-inspector/lib/InjectorClient.js:111
cb(error, NM[0].ref);
^
TypeError: Cannot read property 'ref' of undefined
at InjectorClient.<anonymous> (/.../.nvm/versions/node/v6.6.0/lib/node_modules/node-inspector/lib/InjectorClient.js:111:22)
It works on node v6.3.1
Just in case someone misses it; #906 fixes this problem. You can patch your installed copy to get it working while waiting for the next release.
@hgwood, nope, it doesn't fix the real problem. It just fix the uncatch error to output it properly. If you apply the fix, node-inspector will throw another error(No NativeModule in target scope
)
Well yes, it does throw that error, but only once it has started, in its console. I can still step through my code, which I could not do before.
In my case, with that error no more debugging. I don't know what's the problem though :(.
See hack/workaround solution https://github.com/node-inspector/node-inspector/issues/928#issuecomment-249343838
Comment out line 111, it works!
Same issue here -- node 6.7.0. Commenting out line 111 gets thinks working again as workaround. Thanks for suggesting!!
Tried upgrading to 6.7.0
in hopes this would be resolved. Still broken. 6.3.1
is the last working version for me on Win 10 Anniversary.
I don't understand why or how downgrading node version could solve the issue because this code is clearly bugged.
Of course if NM.length
is 0
any access to its inexistent indexes properties like NM[0].ref
would fail.
Accordingly, before even thinking about a possible PR, what should actually happen when NativeModule
is not found? A warning? Another attempt? Would passing the error
and just null
, instead of throwing an error, be appropriate?
Instead of commenting out. Fixed the issue with using:
cb(error, NM[0] && NM[0].ref);
I've done the same but I don't know side effects, which is why I've asked what should happen. Also a PR would be better
On Thursday, 6 October 2016, jeduden notifications@github.com wrote:
Instead of commenting out. Fixed the issue with using: cb(error, NM[0] && NM[0].ref);
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/node-inspector/node-inspector/issues/905#issuecomment-251864127, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFO9dj1PcF2i5dZJiOE40vKKE9Aim0kks5qxHh9gaJpZM4Jl714 .
Broken here too. Node 6.7.0 + MacOS Sierra.
Debugger listening on [::]:5858 /usr/local/lib/node_modules/node-inspector/lib/InjectorClient.js:111 cb(error, NM[0].ref); ^
TypeError: Cannot read property 'ref' of undefined
Here is a Pull Request to patch this ASAP https://github.com/node-inspector/node-inspector/pull/938
I've done a PR too but apparently nobody is maintaining this repo.
On Wednesday, 19 October 2016, Master James notifications@github.com wrote:
Here is a Pull Request to patch this ASAP
938 https://github.com/node-inspector/node-inspector/pull/938
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/node-inspector/node-inspector/issues/905#issuecomment-254692227, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFO9cDZ2ALnyMIv0xiOAuugaorqtwvqks5q1X25gaJpZM4Jl714 .
First time using node-inspector. Here's my setup:
My simple test file:
Firing up the debugger throws exception: