Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NW.js v0.39.2 crashes while using Johnny-Five 1.1.0 #7107

Closed
djipco opened this issue Jul 10, 2019 · 8 comments
Closed

NW.js v0.39.2 crashes while using Johnny-Five 1.1.0 #7107

djipco opened this issue Jul 10, 2019 · 8 comments

Comments

@djipco
Copy link

djipco commented Jul 10, 2019

I have a project that is working fine with version 1.0.0 of the Johnny-Five Node module. When I try to run the same project with version 1.1.0 of Johnny-Five, NW.js 0.39.2 crashes.

To reproduce the problem, you need to have a properly set up Arduino board connected to the computer. Here is a test page that triggers the problem:

<html lang="en">

  <body>
    <script>

      nw.require("nwjs-j5-fix").fix();

      const five = nw.require("johnny-five");

      const board = new five.Board(); // Mac
      // const board = new five.Board({port: "COM6"}); // Windows

    </script>
  </body>

</html>

Here is my package.json:

{
  "name": "testnwjs",
  "version": "1.0.0",
  "main": "index.html",
  "dependencies": {
    "johnny-five": "1.1.0",
    "nwjs-j5-fix": "^1.0.3"
  }
}

Here is the crash report:

>> FATAL ERROR: v8::Object::GetAlignedPointerFromInternalField() Internal field out of bounds
 1: 0x11b46af10 node::Abort() [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 2: 0x11b46b4b9 node::OnFatalError(char const*, char const*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 3: 0x10dd41ce0 v8::Object::SlowGetInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 4: 0x10dd41e09 v8::Object::SlowGetAlignedPointerFromInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 5: 0x11b4090cf node::PromiseWrap::New(node::Environment*, v8::Local<v8::Promise>, node::PromiseWrap*, bool) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 6: 0x11b40ca74 node::PromiseHook(v8::PromiseHookType, v8::Local<v8::Promise>, v8::Local<v8::Value>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 7: 0x10e05bcf6 v8::internal::JSPromise::Fulfill(v8::internal::Handle<v8::internal::JSPromise>, v8::internal::Handle<v8::internal::Object>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 8: 0x10e1dabb4 v8::internal::Runtime::SetObjectProperty(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::StoreOrigin, v8::Maybe<v8::internal::ShouldThrow>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 9: 0x10e761fd9 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
10: 0x10e72887e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.2.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
Received signal 6
 [0x00010f3e81e9]
 [0x00010f309903]
 [0x00010f3e8101]
 [0x7fff6c94eb5d]
 [0x00011b302f87]
 [0x7fff6c8086a6]
 [0x00011b46af1d]
 [0x00011b46b4b9]
 [0x00010dd41ce0]
 [0x00010dd41e09]
 [0x00011b4090cf]
 [0x00011b40ca74]
 [0x00010e05bcf6]
 [0x00010e1dabb4]
 [0x00010e761fd9]
 [0x00010e72887e]
[end of stack trace]
[0709/215212.033615:WARNING:process_memory_mac.cc(93)] mach_vm_read(0x7ffee3dd3000, 0x2000): (os/kern) invalid address (1)
[0709/215212.157149:WARNING:system_snapshot_mac.cc(42)] sysctlbyname kern.nx: No such file or directory (2)

Thank you for your help.

@djipco djipco changed the title NW.js v0.39.2 crashes while using Johnny-Five NW.js v0.39.2 crashes while using Johnny-Five 1.1.0 Jul 10, 2019
rogerwang added a commit to nwjs/node that referenced this issue Jul 10, 2019
@rogerwang
Copy link
Member

I don't have the hardware to reproduce. But I tried to push a fix with the helpful stack trace. Let's see how it will work with the next nightly build.

@djipco
Copy link
Author

djipco commented Jul 11, 2019

I just tried it with the nightly build from 07-11-2019 (0.39.3). Unfortunately, it still crashes on my Mac... Here is the crash log:

>> FATAL ERROR: v8::Object::GetAlignedPointerFromInternalField() Internal field out of bounds
 1: 0x1186db9b0 node::Abort() [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 2: 0x1186dba10 node::errors::TryCatchScope::~TryCatchScope() [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 3: 0x10bae0ce0 v8::Object::SlowGetInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 4: 0x10bae0e09 v8::Object::SlowGetAlignedPointerFromInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 5: 0x1186791ac node::PromiseWrap::New(node::Environment*, v8::Local<v8::Promise>, node::PromiseWrap*, bool) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 6: 0x11867cb54 node::PromiseHook(v8::PromiseHookType, v8::Local<v8::Promise>, v8::Local<v8::Value>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 7: 0x10bdfacf6 v8::internal::JSPromise::Fulfill(v8::internal::Handle<v8::internal::JSPromise>, v8::internal::Handle<v8::internal::Object>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 8: 0x10bf79bb4 v8::internal::Runtime::SetObjectProperty(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::StoreOrigin, v8::Maybe<v8::internal::ShouldThrow>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 9: 0x10c500fd9 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
10: 0x10c4c787e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
Received signal 6
 [0x00010d1871e9]
 [0x00010d0a8903]
 [0x00010d187101]
 [0x7fff6c94eb5d]
 [0x0001144e7f87]
 [0x7fff6c8086a6]
 [0x0001186db9bd]
 [0x0001186dba10]
 [0x00010bae0ce0]
 [0x00010bae0e09]
 [0x0001186791ac]
 [0x00011867cb54]
 [0x00010bdfacf6]
 [0x00010bf79bb4]
 [0x00010c500fd9]
 [0x00010c4c787e]
[end of stack trace]
[0710/204215.738028:WARNING:process_memory_mac.cc(93)] mach_vm_read(0x7ffee6034000, 0x2000): (os/kern) invalid address (1)
[0710/204215.859570:WARNING:system_snapshot_mac.cc(42)] sysctlbyname kern.nx: No such file or directory (2)

If there's anything more I can do to help, just let me know. Thanks.

rogerwang added a commit to nwjs/chromium.src that referenced this issue Jul 11, 2019
@rogerwang
Copy link
Member

@djipco
Copy link
Author

djipco commented Jul 11, 2019

I'm still getting the crash. Does it matter if I cannot recompile against 0.39.3 ? When I try to recompile my modules, I get this message:

Error: 404 response downloading http://node-webkit.s3.amazonaws.com/v0.39.3/nw-headers-v0.39.3.tar.gz

I supposed that's normal since 0.39.3 is not yet released but I just want to confirm.

Here's the crash report:

>> FATAL ERROR: v8::Object::GetAlignedPointerFromInternalField() Internal field out of bounds
 1: 0x11b5199b0 node::Abort() [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 2: 0x11b519a10 node::errors::TryCatchScope::~TryCatchScope() [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 3: 0x11024fce0 v8::Object::SlowGetInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 4: 0x11024fe09 v8::Object::SlowGetAlignedPointerFromInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 5: 0x11b4b71ac node::PromiseWrap::New(node::Environment*, v8::Local<v8::Promise>, node::PromiseWrap*, bool) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 6: 0x11b4bab54 node::PromiseHook(v8::PromiseHookType, v8::Local<v8::Promise>, v8::Local<v8::Value>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 7: 0x110569cf6 v8::internal::JSPromise::Fulfill(v8::internal::Handle<v8::internal::JSPromise>, v8::internal::Handle<v8::internal::Object>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 8: 0x1106e8bb4 v8::internal::Runtime::SetObjectProperty(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::StoreOrigin, v8::Maybe<v8::internal::ShouldThrow>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 9: 0x110c6ffd9 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
10: 0x110c3687e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3b.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
Received signal 6
 [0x0001118f61e9]
 [0x000111817903]
 [0x0001118f6101]
 [0x7fff5f4fdb5d]
 [0x7fcc2892b060]
 [0x7fff5f3b76a6]
 [0x00011b5199bd]
 [0x00011b519a10]
 [0x00011024fce0]
 [0x00011024fe09]
 [0x00011b4b71ac]
 [0x00011b4bab54]
 [0x000110569cf6]
 [0x0001106e8bb4]
 [0x000110c6ffd9]
 [0x000110c3687e]
[end of stack trace]
[0711/132445.710971:WARNING:process_memory_mac.cc(93)] mach_vm_read(0x7ffee3278000, 0x2000): (os/kern) invalid address (1)
[0711/132445.839238:WARNING:system_snapshot_mac.cc(42)] sysctlbyname kern.nx: No such file or directory (2)
[2497:775:0711/132445.885923:ERROR:gles2_cmd_decoder.cc(18461)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[2497:775:0711/132445.885975:ERROR:gles2_cmd_decoder.cc(13525)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[2497:775:0711/132445.886005:ERROR:gles2_cmd_decoder.cc(18461)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[2497:775:0711/132445.886030:ERROR:gles2_cmd_decoder.cc(13525)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[2497:775:0711/132445.886093:ERROR:gles2_cmd_decoder.cc(18461)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[2497:775:0711/132445.886145:ERROR:gles2_cmd_decoder.cc(13525)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[2497:775:0711/132445.886169:ERROR:gles2_cmd_decoder.cc(18461)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[2497:775:0711/132445.886198:ERROR:gles2_cmd_decoder.cc(13525)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format
[2497:775:0711/132445.886227:ERROR:gles2_cmd_decoder.cc(18461)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[2497:775:0711/132445.886272:ERROR:gles2_cmd_decoder.cc(13525)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleCALayerCHROMIUM: unsupported texture format

rogerwang added a commit to nwjs/node that referenced this issue Jul 12, 2019
@rogerwang
Copy link
Member

You are right. The header is not there but it doesn't matter.

It seems tricky to fix the issue without reproducing it. I'll try another fix and then try to reproduce it if it's not working.

@rogerwang
Copy link
Member

@djipco
Copy link
Author

djipco commented Jul 12, 2019

Still crashing... :-(

>> FATAL ERROR: v8::Object::GetAlignedPointerFromInternalField() Internal field out of bounds
 1: 0x107ee297c node::Abort() [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 2: 0x107ee29dc node::errors::TryCatchScope::~TryCatchScope() [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 3: 0x10e8a8ce0 v8::Object::SlowGetInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 4: 0x10e8a8e09 v8::Object::SlowGetAlignedPointerFromInternalField(int) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 5: 0x107e8016c node::PromiseWrap::New(node::Environment*, v8::Local<v8::Promise>, node::PromiseWrap*, bool) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 6: 0x107e83b20 node::PromiseHook(v8::PromiseHookType, v8::Local<v8::Promise>, v8::Local<v8::Value>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/libnode.dylib]
 7: 0x10ebc2cf6 v8::internal::JSPromise::Fulfill(v8::internal::Handle<v8::internal::JSPromise>, v8::internal::Handle<v8::internal::Object>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 8: 0x10ed41bb4 v8::internal::Runtime::SetObjectProperty(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::StoreOrigin, v8::Maybe<v8::internal::ShouldThrow>) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
 9: 0x10f2c8fd9 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
10: 0x10f28f87e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) [/Users/jpcote/Desktop/TESTNWJS/nwjs0.39.3c.app/Contents/Versions/75.0.3770.100/nwjs Framework.framework/Versions/A/nwjs Framework]
Received signal 6
 [0x00010ff4f1e9]
 [0x00010fe70903]
 [0x00010ff4f101]
 [0x7fff5f4fdb5d]
 [0x7fbe50a02460]
 [0x7fff5f3b76a6]
 [0x000107ee2989]
 [0x000107ee29dc]
 [0x00010e8a8ce0]
 [0x00010e8a8e09]
 [0x000107e8016c]
 [0x000107e83b20]
 [0x00010ebc2cf6]
 [0x00010ed41bb4]
 [0x00010f2c8fd9]
 [0x00010f28f87e]
[end of stack trace]
[0712/083245.481587:WARNING:process_memory_mac.cc(93)] mach_vm_read(0x7ffeec63b000, 0x2000): (os/kern) invalid address (1)
[0712/083245.603270:WARNING:system_snapshot_mac.cc(42)] sysctlbyname kern.nx: No such file or directory (2)

@djipco
Copy link
Author

djipco commented Jul 16, 2019

It works!
Thank you so much @rogerwang
Keep up the good work.
Cheers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants