Open RSsimranjeetsingh opened 8 years ago
How can you tell the error is caused by deasync? There is no indication in the message.
When I removed the deasync module, & instead chain the http requests within there callback, then it works fine. So suspecting it might be caused by deasync module.
I'm actually seeing the same thing as @RSsimranjeetsingh.
@jaysirju : Are you also experiencing this issue only on Mac OS? If you can please brief more on your issue?
Yes, this is occurring on OS/X 10.11.
I am writing a bunch of tests using Jasmine, and one of the libraries I call uses the deasync module to synchronously call some REST APIs. Executing the tests results in the same exception in this issue (I actually found this by googling the exception). I commented out the call to my library, and now the tests at least execute without the exception.
I am also getting this issue on OSX 10.11, it occurs when trying to use deasync on Google Maps geocoding api.
var func = deasync(googleMapsClient.geocode);
var result = func({address: customers[0].get('postCode')});
console.log(result.json.results[0]);
The console.log
gets fired and prints out the data before throwing the error mentioned in the issue.
happened here as well with: deasync": "^0.1.4 OSX: 10.11.6
Same issue using macOS Sierra:
Same issue here..
my development env
macOS Sierra: 10.12.1
node version 6.3.1
deasync 0.1.8 and 0.1.9
console.log ( url) ;
request({url: url, json: true})
.then(function(res){
var close_ary = [ ......] ;
/* my data here */
var params = {
startIdx: 0,
endIdx: close_ary.length - 1,
name: "EMA",
inReal: close_ary,
optInTimePeriod: 30
} ;
var done = false;
var ema;
talib.execute(params, function cb(res){
ema = res;
done = true ;
});
require('deasync').loopWhile(function(){ return !done ; }) ;
}).catch ( function(err) {
console.log ( "error here") ;
console.log ( err) ;
}) ;
when i run the above code, the following message will return.
Assertion failed: (handle->type == UV_TCP || handle->type == UV_TTY || handle->type == UV_NAMED_PIPE), function uv___stream_fd, file ../deps/uv/src/unix/stream.c, line 1568.
[Finished in 1.5s with exit code -6]
I'm pretty sure deasync have problem after make a TCP call.
cause if i change request
to fs.readFileAsync("file.json", "utf-8")
, everything is fine.
and It seems this problem on happen on macOS..
cause deasync
is fine when same code run on ubuntu. (I tried)
Did anyone solve this? Having the same issue...
I'm also getting this error on Sierra 10.12.4 with deasync.
I was rather wondering if anyone would be doing something about it at some point, as this has been open for over a year and it appears to be affecting quite a few people?
Add one more to this ticker. OSX 10.11.6 node 8.2.0 request 2.81.0 deasync 0.1.10
crashes if I try to allow deasync to sync request. I have tried numerous different things to get deasync to stop crashing. but to no avail, every time I try to deasnc a request in this project, I end up crashing.
Here is a full trace of the issue.
Process: node [1371]
Path: /Users/USER/*/node
Identifier: node
Version: ???
Code Type: X86-64 (Native)
Parent Process: node [1367]
Responsible: Terminal [311]
User ID: 503
Date/Time: 2017-07-20 13:33:10.386 -0700
OS Version: Mac OS X 10.11.6 (15G1510)
Report Version: 11
Anonymous UUID: E54E2CAC-492F-D19C-24EE-8E43419D1B22
Time Awake Since Boot: 290 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
abort() called
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff8f4bdf06 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff929874ec pthread_kill + 90
2 libsystem_c.dylib 0x00007fff93d596df abort + 129
3 node 0x0000000100a76ca5 node::Abort() + 34
4 node 0x0000000100a75b63 node::Assert(char const* const (*) [4]) + 251
5 node 0x0000000100aab643 node::(anonymous namespace)::Parser::Execute(v8::FunctionCallbackInfo<v8::Value> const&) + 221
6 node 0x000000010017b0c2 v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) + 466
7 node 0x00000001001e6eef v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) + 911
8 node 0x00000001001e6449 v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) + 281
9 ??? 0x000011d0158040bd 0 + 19585411596477
10 ??? 0x000011d015b62a40 0 + 19585415129664
11 ??? 0x000011d015ae8dc0 0 + 19585414630848
12 ??? 0x000011d015946fd4 0 + 19585412919252
13 ??? 0x000011d015806bbb 0 + 19585411607483
14 ??? 0x000011d015b2935d 0 + 19585414894429
15 ??? 0x000011d015b18ab5 0 + 19585414826677
16 ??? 0x000011d015b18237 0 + 19585414824503
17 ??? 0x000011d015806bbb 0 + 19585411607483
18 ??? 0x000011d015b621ce 0 + 19585415127502
19 ??? 0x000011d015806bbb 0 + 19585411607483
20 ??? 0x000011d015810290 0 + 19585411646096
21 ??? 0x000011d0158d646d 0 + 19585412457581
22 node 0x0000000100559626 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::Object>, v8::internal::Execution::MessageHandling) + 742
23 node 0x0000000100559283 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) + 179
24 node 0x00000001001619ef v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 559
25 node 0x0000000100a66432 node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) + 292
26 node 0x0000000100ac5e0e node::StreamBase::EmitData(long, v8::Local<v8::Object>, v8::Local<v8::Object>) + 214
27 node 0x0000000100ac8180 node::StreamWrap::OnReadImpl(long, uv_buf_t const*, uv_handle_type, void*) + 524
28 node 0x0000000100ac8689 node::StreamWrap::OnReadCommon(uv_stream_s*, long, uv_buf_t const*, uv_handle_type) + 127
29 node 0x0000000100be78a1 uv__stream_io + 1261
30 node 0x0000000100bef158 uv__io_poll + 1621
31 node 0x0000000100bdfae7 uv_run + 321
32 deasync.node 0x000000010222b9ee Run(Nan::FunctionCallbackInfo<v8::Value> const&) + 52
33 deasync.node 0x000000010222bcf5 Nan::imp::FunctionCallbackWrapper(v8::FunctionCallbackInfo<v8::Value> const&) + 136
34 node 0x000000010017b0c2 v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) + 466
35 node 0x00000001001e6eef v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) + 911
36 node 0x00000001001e6449 v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) + 281
37 ??? 0x000011d0158040bd 0 + 19585411596477
38 ??? 0x000011d015ba40be 0 + 19585415397566
39 ??? 0x000011d015ba3d8d 0 + 19585415396749
40 ??? 0x000011d015806bbb 0 + 19585411607483
41 ??? 0x000011d015ba28bf 0 + 19585415391423
42 ??? 0x000011d015806bbb 0 + 19585411607483
43 ??? 0x000011d015ba23cb 0 + 19585415390155
44 ??? 0x000011d0159474e3 0 + 19585412920547
45 ??? 0x000011d015947054 0 + 19585412919380
46 ??? 0x000011d015806bbb 0 + 19585411607483
47 ??? 0x000011d015b3e46e 0 + 19585414980718
48 ??? 0x000011d015adbffb 0 + 19585414578171
49 ??? 0x000011d015ad3075 0 + 19585414541429
50 ??? 0x000011d015810290 0 + 19585411646096
51 ??? 0x000011d0158d646d 0 + 19585412457581
52 node 0x0000000100559626 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::Object>, v8::internal::Execution::MessageHandling) + 742
53 node 0x0000000100559283 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) + 179
54 node 0x00000001001619ef v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 559
55 node 0x0000000100a66623 node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) + 789
56 node 0x0000000100aaca53 node::(anonymous namespace)::Parser::OnReadImpl(long, uv_buf_t const*, uv_handle_type, void*) + 219
57 node 0x0000000100ac8689 node::StreamWrap::OnReadCommon(uv_stream_s*, long, uv_buf_t const*, uv_handle_type) + 127
58 node 0x0000000100be78a1 uv__stream_io + 1261
59 node 0x0000000100bef158 uv__io_poll + 1621
60 node 0x0000000100bdfae7 uv_run + 321
61 node 0x0000000100a8481c node::Start(v8::Isolate*, node::IsolateData*, int, char const* const*, int, char const* const*) + 736
62 node 0x0000000100a7f7c1 node::Start(uv_loop_s*, int, char const* const*, int, char const* const*) + 462
63 node 0x0000000100a7edb5 node::Start(int, char**) + 331
64 node 0x0000000100000e34 start + 52
Thread 1:: V8 WorkerThread
0 libsystem_kernel.dylib 0x00007fff8f4b7fae semaphore_wait_trap + 10
1 node 0x0000000100bf5fd7 v8::base::Semaphore::Wait() + 23
2 node 0x0000000100b075d0 v8::platform::TaskQueue::GetNext() + 48
3 node 0x0000000100b0ba3b v8::platform::WorkerThread::Run() + 43
4 node 0x0000000100bf8917 v8::base::ThreadEntry(void*) + 87
5 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
6 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
7 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 2:: V8 WorkerThread
0 libsystem_kernel.dylib 0x00007fff8f4b7fae semaphore_wait_trap + 10
1 node 0x0000000100bf5fd7 v8::base::Semaphore::Wait() + 23
2 node 0x0000000100b075d0 v8::platform::TaskQueue::GetNext() + 48
3 node 0x0000000100b0ba3b v8::platform::WorkerThread::Run() + 43
4 node 0x0000000100bf8917 v8::base::ThreadEntry(void*) + 87
5 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
6 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
7 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 3:: V8 WorkerThread
0 libsystem_kernel.dylib 0x00007fff8f4b7fae semaphore_wait_trap + 10
1 node 0x0000000100bf5fd7 v8::base::Semaphore::Wait() + 23
2 node 0x0000000100b075d0 v8::platform::TaskQueue::GetNext() + 48
3 node 0x0000000100b0ba3b v8::platform::WorkerThread::Run() + 43
4 node 0x0000000100bf8917 v8::base::ThreadEntry(void*) + 87
5 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
6 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
7 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 4:: V8 WorkerThread
0 libsystem_kernel.dylib 0x00007fff8f4b7fae semaphore_wait_trap + 10
1 node 0x0000000100bf5fd7 v8::base::Semaphore::Wait() + 23
2 node 0x0000000100b075d0 v8::platform::TaskQueue::GetNext() + 48
3 node 0x0000000100b0ba3b v8::platform::WorkerThread::Run() + 43
4 node 0x0000000100bf8917 v8::base::ThreadEntry(void*) + 87
5 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
6 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
7 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 5:
0 libsystem_kernel.dylib 0x00007fff8f4b7fae semaphore_wait_trap + 10
1 node 0x0000000100bea5d6 uv_sem_wait + 16
2 node 0x0000000100adab02 node::inspector::(anonymous namespace)::StartIoThreadMain(void*) + 28
3 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
4 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
5 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 6:
0 libsystem_kernel.dylib 0x00007fff8f4bddb6 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff92985728 _pthread_cond_wait + 767
2 node 0x0000000100bea6f8 uv_cond_wait + 9
3 node 0x0000000100bddb71 worker + 227
4 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
5 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
6 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 7:
0 libsystem_kernel.dylib 0x00007fff8f4bddb6 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff92985728 _pthread_cond_wait + 767
2 node 0x0000000100bea6f8 uv_cond_wait + 9
3 node 0x0000000100bddb71 worker + 227
4 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
5 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
6 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 8:
0 libsystem_kernel.dylib 0x00007fff8f4bddb6 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff92985728 _pthread_cond_wait + 767
2 node 0x0000000100bea6f8 uv_cond_wait + 9
3 node 0x0000000100bddb71 worker + 227
4 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
5 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
6 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 9:
0 libsystem_kernel.dylib 0x00007fff8f4bddb6 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff92985728 _pthread_cond_wait + 767
2 node 0x0000000100bea6f8 uv_cond_wait + 9
3 node 0x0000000100bddb71 worker + 227
4 libsystem_pthread.dylib 0x00007fff9298499d _pthread_body + 131
5 libsystem_pthread.dylib 0x00007fff9298491a _pthread_start + 168
6 libsystem_pthread.dylib 0x00007fff92982351 thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000006 rcx: 0x00007fff5fbeb8d8 rdx: 0x0000000000000000
rdi: 0x0000000000000a0b rsi: 0x0000000000000006 rbp: 0x00007fff5fbeb900 rsp: 0x00007fff5fbeb8d8
r8: 0x0000000000000040 r9: 0x00007fff79e911e0 r10: 0x0000000008000000 r11: 0x0000000000000206
r12: 0x00007fff5fbeb988 r13: 0x0000000100d0be06 r14: 0x00007fff79b34000 r15: 0x0000000100d0be02
rip: 0x00007fff8f4bdf06 rfl: 0x0000000000000206 cr2: 0x00007fff79e8f008
Logical CPU: 0
Error Code: 0x02000148
Trap Number: 133
Binary Images:
0x100000000 - 0x10141830f +node (???) <C97E3358-C259-3FF4-9B99-EEB6DA64FB9F> /Users/USER/*/node
0x10222b000 - 0x10222bfff +deasync.node (???) <421576A9-3767-3636-9008-37D06B109868> /Users/USER/*/deasync.node
0x102230000 - 0x102258ff7 +uws_darwin_57.node (???) <2D799611-4703-3924-BDD0-FDC6ECF83CAC> /Users/USER/*/uws_darwin_57.node
0x7fff659e0000 - 0x7fff65a17a47 dyld (360.22) <884763FC-CC0F-31CC-ACC4-75A805CE401D> /usr/lib/dyld
0x7fff87fe7000 - 0x7fff881f4fff libicucore.A.dylib (551.51.4) <3899B146-3840-3D4A-8C4A-FE391D5D25C7> /usr/lib/libicucore.A.dylib
0x7fff88b3c000 - 0x7fff88b3dfff libsystem_blocks.dylib (65) <1244D9D5-F6AA-35BB-B307-86851C24B8E5> /usr/lib/system/libsystem_blocks.dylib
0x7fff89cfd000 - 0x7fff89d05ffb libsystem_dnssd.dylib (625.60.4) <80189998-32B0-316C-B5C5-53857486713D> /usr/lib/system/libsystem_dnssd.dylib
0x7fff8a7ba000 - 0x7fff8a7bbffb libSystem.B.dylib (1226.10.1) <8B780EC7-53B7-3844-B3D8-5E81F5CA598C> /usr/lib/libSystem.B.dylib
0x7fff8aad9000 - 0x7fff8aae2ff3 libsystem_notify.dylib (150.40.1) <D48BDE34-0F7E-34CA-A0FF-C578E39987CC> /usr/lib/system/libsystem_notify.dylib
0x7fff8afb5000 - 0x7fff8b01bff7 libsystem_network.dylib (583.50.1) <B52DAB73-92DC-3DA7-B9F4-B899D66445C1> /usr/lib/system/libsystem_network.dylib
0x7fff8b353000 - 0x7fff8b35bfff libsystem_networkextension.dylib (385.40.36) <66095DC7-6539-38F2-95EE-458F15F6D014> /usr/lib/system/libsystem_networkextension.dylib
0x7fff8b35c000 - 0x7fff8b389fff libdispatch.dylib (501.40.12) <C7499857-61A5-3D7D-A5EA-65DCC8C3DF92> /usr/lib/system/libdispatch.dylib
0x7fff8b38a000 - 0x7fff8b395ff7 libcommonCrypto.dylib (60075.50.1) <93732261-34B4-3914-B7A2-90A81A182DBA> /usr/lib/system/libcommonCrypto.dylib
0x7fff8b396000 - 0x7fff8b39efff libcopyfile.dylib (127) <A48637BC-F3F2-34F2-BB68-4C65FD012832> /usr/lib/system/libcopyfile.dylib
0x7fff8bfc6000 - 0x7fff8bfcafff libcache.dylib (75) <9548AAE9-2AB7-3525-9ECE-A2A7C4688447> /usr/lib/system/libcache.dylib
0x7fff8e2ec000 - 0x7fff8e2fdff7 libsystem_trace.dylib (201.10.3) <E9311C03-9E61-3B13-AF3F-A64956FFF269> /usr/lib/system/libsystem_trace.dylib
0x7fff8e791000 - 0x7fff8e7c0ffb libsystem_m.dylib (3105) <08E1A4B2-6448-3DFE-A58C-ACC7335BE7E4> /usr/lib/system/libsystem_m.dylib
0x7fff8ef6a000 - 0x7fff8efe1feb libcorecrypto.dylib (335.50.1) <B5C05FD7-A540-345A-87BF-8E41848A3C17> /usr/lib/system/libcorecrypto.dylib
0x7fff8efe2000 - 0x7fff8efe3fff libsystem_secinit.dylib (20) <32B1A8C6-DC84-3F4F-B8CE-9A52B47C3E6B> /usr/lib/system/libsystem_secinit.dylib
0x7fff8f1bc000 - 0x7fff8f1bdffb libremovefile.dylib (41) <552EF39E-14D7-363E-9059-4565AC2F894E> /usr/lib/system/libremovefile.dylib
0x7fff8f4a7000 - 0x7fff8f4c5ff7 libsystem_kernel.dylib (3248.60.11.5.3) <F8228B30-AF62-3D47-A3A9-4A360787B238> /usr/lib/system/libsystem_kernel.dylib
0x7fff8faa2000 - 0x7fff8faaafef libsystem_platform.dylib (74.40.2) <29A905EF-6777-3C33-82B0-6C3A88C4BA15> /usr/lib/system/libsystem_platform.dylib
0x7fff8faab000 - 0x7fff8ff21fff com.apple.CoreFoundation (6.9 - 1259.11) <B8056BE3-151B-3003-91C9-6720CF04937B> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff90a06000 - 0x7fff90a2fff7 libxpc.dylib (765.50.8.1.1) <2819674A-621A-3ACB-9657-DF42353D6CFD> /usr/lib/system/libxpc.dylib
0x7fff90a39000 - 0x7fff90a39ff7 libunc.dylib (29) <DDB1E947-C775-33B8-B461-63E5EB698F0E> /usr/lib/system/libunc.dylib
0x7fff90a6f000 - 0x7fff90a98fff libsystem_info.dylib (477.50.4) <FAA9226D-64DE-3769-A6D8-6CABA4B7FF4D> /usr/lib/system/libsystem_info.dylib
0x7fff91068000 - 0x7fff9106dff3 libunwind.dylib (35.3) <F6EB48E5-4D12-359A-AB54-C937FBBE9043> /usr/lib/system/libunwind.dylib
0x7fff91077000 - 0x7fff91079fff libsystem_coreservices.dylib (19.2) <1B3F5AFC-FFCD-3ECB-8B9A-5538366FB20D> /usr/lib/system/libsystem_coreservices.dylib
0x7fff92981000 - 0x7fff9298aff7 libsystem_pthread.dylib (138.10.4) <3DD1EF4C-1D1B-3ABF-8CC6-B3B1CEEE9559> /usr/lib/system/libsystem_pthread.dylib
0x7fff92dd6000 - 0x7fff92dedff7 libsystem_asl.dylib (323.50.1) <41F8E11F-1BD0-3F1D-BA3A-AA1577ED98A9> /usr/lib/system/libsystem_asl.dylib
0x7fff93638000 - 0x7fff9363bfff libsystem_sandbox.dylib (460.60.3) <2DDCB4AF-3037-34E5-A451-6846AFB9B85C> /usr/lib/system/libsystem_sandbox.dylib
0x7fff93cfb000 - 0x7fff93d88fef libsystem_c.dylib (1082.60.1) <28733D22-553E-3CBC-8D2C-EDCEB46E46AF> /usr/lib/system/libsystem_c.dylib
0x7fff93d93000 - 0x7fff93d95ff7 libquarantine.dylib (80) <B3B7B630-9012-3DA3-9458-5C009625E606> /usr/lib/system/libquarantine.dylib
0x7fff93e30000 - 0x7fff93e76ff7 libauto.dylib (186) <999E610F-41FC-32A3-ADCA-5EC049B65DFB> /usr/lib/libauto.dylib
0x7fff94196000 - 0x7fff941e9ff7 libc++.1.dylib (120.1) <8FC3D139-8055-3498-9AC5-6467CB7F4D14> /usr/lib/libc++.1.dylib
0x7fff941ea000 - 0x7fff941ebfff libDiagnosticMessagesClient.dylib (100) <4243B6B4-21E9-355B-9C5A-95A216233B96> /usr/lib/libDiagnosticMessagesClient.dylib
0x7fff94c71000 - 0x7fff94c76ff7 libmacho.dylib (875.1) <318264FA-58F1-39D8-8285-1F6254EE410E> /usr/lib/system/libmacho.dylib
0x7fff965c6000 - 0x7fff965c6fff liblaunch.dylib (765.50.8.1.1) <6E0BA641-F99D-398C-B5F1-A921EFFB3786> /usr/lib/system/liblaunch.dylib
0x7fff9666d000 - 0x7fff96670ffb libdyld.dylib (360.22) <F103B2FB-D383-38CB-992A-E16BDCB00A03> /usr/lib/system/libdyld.dylib
0x7fff9669f000 - 0x7fff966a1ff7 libsystem_configuration.dylib (802.40.13) <3DEB7DF9-6804-37E1-BC83-0166882FF0FF> /usr/lib/system/libsystem_configuration.dylib
0x7fff98569000 - 0x7fff9857aff7 libz.1.dylib (61.20.1) <B3EBB42F-48E3-3287-9F0D-308E04D407AC> /usr/lib/libz.1.dylib
0x7fff98978000 - 0x7fff98978ff7 libkeymgr.dylib (28) <8371CE54-5FDD-3CE9-B3DF-E98C761B6FE0> /usr/lib/system/libkeymgr.dylib
0x7fff9bfb3000 - 0x7fff9bfbaff7 libcompiler_rt.dylib (62) <A13ECF69-F59F-38AE-8609-7B731450FBCD> /usr/lib/system/libcompiler_rt.dylib
0x7fff9c3a9000 - 0x7fff9c70bf3f libobjc.A.dylib (680) <7489D2D6-1EFD-3414-B18D-2AECCCC90286> /usr/lib/libobjc.A.dylib
0x7fff9cb8b000 - 0x7fff9cba7ff7 libsystem_malloc.dylib (67.40.1) <5748E8B2-F81C-34C6-8B13-456213127678> /usr/lib/system/libsystem_malloc.dylib
0x7fff9d476000 - 0x7fff9d4a0ff7 libc++abi.dylib (307.2) <922EFB36-0E9E-315B-8270-E81AC43472C0> /usr/lib/libc++abi.dylib
0x7fff9d849000 - 0x7fff9d860ff7 libsystem_coretls.dylib (83.40.5) <C90DAE38-4082-381C-A185-2A6A8B677628> /usr/lib/system/libsystem_coretls.dylib
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 18
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 14762
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=138.9M resident=0K(0%) swapped_out_or_unallocated=138.9M(100%)
Writable regions: Total=128.4M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=128.4M(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Activity Tracing 2048K 2
Kernel Alloc Once 4K 2
MALLOC 46.8M 24
MALLOC guard page 16K 4
Memory Tag 255 547.3M 112
STACK GUARD 56.0M 11
Stack 44.1M 11
VM_ALLOCATE 4K 2
__DATA 3640K 48
__LINKEDIT 104.6M 6
__TEXT 34.3M 48
__UNICODE 552K 2
shared memory 12K 4
=========== ======= =======
TOTAL 839.3M 263
I'm also having this issue and am also on MacOS 10.12.6. I'm using the require('deasync').loopWhile(function(){return !done;});
flavor. I actually found this issue in the Node repo itself. It mentions that the issue may be linked to memory consumption.
Same problem here. Assertion failed: (handle->type == UV_TCP || handle->type == UV_TTY || handle->type == UV_NAMED_PIPE), function uv___stream_fd, file ../deps/uv/src/unix/stream.c, line 1619.
While this is a very convenient module, I can confirm that it has caused nightmares for me when using it with redis, sqlite3 and another datastore that I cannot recall at the moment. The only way I was able to get around the issue (unexplained connectivity problems) is to completely remove the use of this module.
@dremekie I unfortunately had to do the same. It forced me to write my async code in a different place where previously I was writing it in Mongoose lifecycle hooks (don't ask me why, it's a long story).
If the lack of action on this issue is bothering you, I would urge you to contact the author directly, as he/she does not appear to be seeing all of the requests for help. The email address can be found by visiting https://api.github.com/users/NNNN/events/public, plugging in the username for NNNN, and looking for the 'email' property.
@citizentim My intent was to share my experience with the others that were hitting similar issues. The lack of action on this issue is not bothering me (anymore). :)
My comment wasn't directed specifically to you, @dremekie, but to all those facing the same issues.
I had this same issue and I was able to make this work by doing two things:
previously I had:
deasync = require("deasync")
testFunction = -> --- testVar = false ---asyncFunction -> ------doSomething() ------testVar = true ---deasync.loopWhile(!testVar)
the above would get the assert error The below works and does not cause the error
testFunction = -> ---deasync = require("deasync") ---testVar = false ---asyncFunction -> ------doSomething() ------testVar = true ---deasync.loopWhile(!testVar)
Seeing the same error in jest, when using npm-install-version
(that uses deasync
as a dependency)
It looks like it's coming from binding.run()
in loopWhile
.
Also seeing this
Also hitting. Question for people here, are you hitting this on only Macs, or on Windows or Linux. So far we've only seen it on macs.
For context, pulumi is hitting this in: https://github.com/pulumi/pulumi/issues/3260
So, doing some psychic debugging (i.e. not actually debugging through this happening live, just examining callstack and docs).
libuv docs clearly state:
http://docs.libuv.org/en/v1.x/loop.html#c.uv_run
uv_run() is not reentrant. It must not be called from a callback.
Looking into the issue more, this is not only difficult for them to support, they just have lots of code that has the presumption that there will be no reentrant calls.
However, as we can see in the stack listed in
However, from the callstack listed in https://github.com/abbr/deasync/issues/55#issuecomment-316822474 there is clearly reentrancy here:
25 node 0x0000000100a66432 node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) + 292
26 node 0x0000000100ac5e0e node::StreamBase::EmitData(long, v8::Local<v8::Object>, v8::Local<v8::Object>) + 214
27 node 0x0000000100ac8180 node::StreamWrap::OnReadImpl(long, uv_buf_t const*, uv_handle_type, void*) + 524
28 node 0x0000000100ac8689 node::StreamWrap::OnReadCommon(uv_stream_s*, long, uv_buf_t const*, uv_handle_type) + 127
29 node 0x0000000100be78a1 uv__stream_io + 1261
30 node 0x0000000100bef158 uv__io_poll + 1621
31 node 0x0000000100bdfae7 uv_run + 321
32 deasync.node 0x000000010222b9ee Run(Nan::FunctionCallbackInfo<v8::Value> const&) + 52
33 deasync.node 0x000000010222bcf5 Nan::imp::FunctionCallbackWrapper(v8::FunctionCallbackInfo<v8::Value> const&) + 136
34 node 0x000000010017b0c2 v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) + 466
...
53 node 0x0000000100559283 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) + 179
54 node 0x00000001001619ef v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 559
55 node 0x0000000100a66623 node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) + 789
56 node 0x0000000100aaca53 node::(anonymous namespace)::Parser::OnReadImpl(long, uv_buf_t const*, uv_handle_type, void*) + 219
57 node 0x0000000100ac8689 node::StreamWrap::OnReadCommon(uv_stream_s*, long, uv_buf_t const*, uv_handle_type) + 127
58 node 0x0000000100be78a1 uv__stream_io + 1261
59 node 0x0000000100bef158 uv__io_poll + 1621
60 node 0x0000000100bdfae7 uv_run + 321
61 node 0x0000000100a8481c node::Start(v8::Isolate*, node::IsolateData*, int, char const* const*, int, char const* const*) + 736
It looks like the initial node code is called back into due to some stream IO being received. This is happening in frames 60->50. This causes some amount of callback code to run until it eventually hits the deasync.Run
call (which you can see in frames 32-33). that Run call also ends up receiving some sort of stream IO which it then tries to process but ends up asserting on.
It seems likely that something in the apple specific code for libuv is working in a manner where they are just not safe to this sort of thing happening. They might have some code that simply does something like this:
someState = true
... work ...
someState = false
And this immediately doesn't work in a reentrant environment as what's in an outer ...work...
may end up with inconsistent values for this state due to an inner returning and corrupting things.
I have no good answers on what to do here.
Hi,
I am using deasync module in my jasmine test cases. Actually in my beforeall method of jasmine, I have to synchronously call some async methods in the same order (one after another). But since Javascript is a single threaded scripting lang, hence I have to block the call b/w 2 async methods using deasync method...deasync.runlooponce(); used inside a while loop.
Now the issue is that in Microsoft OS, this works fine, but in case of Mac OS, the script fails abruptly, with the below error message:
Can you please help me out in resolving this issue on Mac OS.
PS : Just for your info, I am also making use of fs - file read & write in a synchronous manner, but making REST API http calls in Async manner. Also in fs fileread method I am converting string text in JSON format using JSON.parse(string text)
Let me know in case you require any further info.
Regards Simran