HEADS-project / training

Training material to get started with the HEADS technologies
10 stars 16 forks source link

exercise 5: `kevoreejs -n jsNode --kevscript=starterModel.kevs` hangs #42

Closed skorsky closed 9 years ago

skorsky commented 9 years ago

Ercercise 5 of Kevoree Basics tutorial. kevoreejs -v works, shows version 5.2.1. Running kevoreejs -n jsNode --kevscript=starterModel.kevs hangs. Killing it with Ctr-C (twice).

Output: D:\Users\mask\git\skorsky\training\2.Kevoree_Basics\5.Distributed_System>kevoreejs -n jsNode --kevscript=starterModel.kevs 14:23:46 ALL KevoreeLogger Set logLevel= info 14:23:46 INFO KevoreeCore Platform node name: jsNode kevoree-node-javascript@4.0.0-SNAPSHOT ..........\AppData\Local\Temp\node_modules\kevoree-node-javascript ├── kevoree-kotlin@1.0.2 ├── async@0.9.0 ├── pseudoclass@1.0.2 ├── kevoree-commons@2.1.0 (chalk@0.4.0) ├── kevoree-library@5.0.4 └── kevoree-entities@6.0.0 (kevoree-kevscript@2.1.5) / D:\Users\mask\AppData\Local\Temp\node_modules\kevoree-group-ws\node_modules\ws>node "D:\Users\mask\AppData\Roaming\npm\node_modules\kevoree-nodejs-runtime\node_modules\kevoree-resolvers\node_modules\n pm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild kevoree-group-ws@5.2.2 ..........\AppData\Local\Temp\node_modules\kevoree-group-ws ├── pseudoclass@1.0.2 ├── smart-socket@0.2.1 (async@0.9.0) ├── ws@0.4.32 (options@0.0.6, tinycolor@0.0.1, commander@2.1.0, nan@1.0.0) ├── kevoree-entities@7.0.1 (kevoree-commons@2.1.0, kevoree-kevscript@2.1.5) └── kevoree-library@5.0.4 (kevoree-kotlin@1.0.2) 14:26:41 WARN NodeJSRuntime Got SIGINT. Will shutdown Kevoree gracefully once deploy process finished. (^C again to force quit) 14:26:43 WARN NodeJSRuntime Force quit while deploying. D:\Users\mask\AppData\Local\Temp\node_modules might be corrupted.

More details: hanging process has the command line: node "D:\Users\mask\AppData\Roaming\npm\\node_modules\kevoree-nodejs-runtime\cli.js" -n jsNode --kevscript=starterModel.kevs

Command shell shows 'node-gyp' in the title.

brice-morin commented 9 years ago

I suspect (though I might be wrong) that it is because you do not have the .NET framework installed. This is needed to recompile some JS libs that are wrapping C/C++/C# code such as the WebSocket.

brice-morin commented 9 years ago

One easy (though not the lightest) is to install Visual Studio Express http://www.visualstudio.com/en-US/products/visual-studio-express-vs

maxleiko commented 9 years ago

Hum, this is enough, if I remember correctly. I've just installed the .NET Framework on my Windows VM and it worked well.

But it is highly unlikely that this is the issue here, because @skorsky ran the 4th tutorial without issue. And the 4th tutorial already contains the WSGroup, which is the module that has ws as a dependency.

skorsky commented 9 years ago

I've installed .Net Framework 4.5.2 according to Control Center --> Programs and Features.

maxleiko commented 9 years ago

Before the issue or after ?

skorsky commented 9 years ago

before the issue. It's part of our standard installation.

maxleiko commented 9 years ago

Yeah I knew it, otherwise you would not have been able to ran the 4th tutorial. So this might also be related to the command-line tool.
I'm using PowerShell on Windows and it works.

skorsky commented 9 years ago

With PowerShell it's the same. Not successful. I used node "D:\Users\mask\AppData\Roaming\npm\\node_modules\kevoree-nodejs-runtime\cli.js" -n jsNode --kevscript=starterModel.kevs directly, because kevoreejs ... starts cmd.exe and inside node.exe.

brice-morin commented 9 years ago

try:

npm install

grunt kevoree
maxleiko commented 9 years ago

There is no package.json in the 5th tutorial.
npm install will crash.

Can you explain what you do, and what's happening @skorsky because I do not understand the message:

With PowerShell it's the same. Not successful. I used node "D:\Users\mask\AppData\Roaming\npm\\node_modules\kevoree-nodejs-runtime\cli.js" -n jsNode --kevscript=starterModel.kevs directly, because kevoreejs ... starts cmd.exe and inside node.exe.

maxleiko commented 9 years ago

And the grunt kevoree will also crash because there is no Gruntfile.js

brice-morin commented 9 years ago

yes, my bad :-)

skorsky commented 9 years ago

More on because kevoreejs ... starts cmd.exe and inside node.exe If I start kevoreejs this starts cmd.exe to execute the command. Thus, it makes no difference wether kevoreejs is started from PowerShell or cmd.exe. Finally both ways run in cmd.exe.

maxleiko commented 9 years ago

Ok, @skorsky can you delete the entire Users\<YOUR_USER>\AppData\Local\Temp\node_modules directory (the path might differs depending on your Windows version, but it's where Windows store the temp data just like Unix systems do in /tmp)

It might resolve the problem. You should also remove the version specification for the JavascriptNode as I've release the 4.0.0 version. I will update the README, but you can do it manually by using add jsNode : JavascriptNode instead of add jsNode: JavascriptNode/4.0.0-SNAPSHOT

Edit: updated

maxleiko commented 9 years ago

As a side note, when you do a Ctrl-c while in deploying state, it might leave npm in a bad state as you shut the process down while npm was potentially installing things, which means doing some I/O. This could lead to corrupted installed module.
That is why I've added a warning while one does so (here)

skorsky commented 9 years ago

exercise 5 works for me now. Thanks!