Closed
Description
I cannot really provide reproducible code since this error happens in a non deterministically but here some details:
$ node app.js
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 1563.
$ uname -a
Darwin Deniss-MacBook-Pro.local 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 23 18:25:34 PDT 2016; root:xnu-3248.60.10~1/RELEASE_X86_64 x86_64
Tested on node v6.4.0/ 6.3.1/ 6.2.2
$ lldb node app.js
(lldb) target create "node"
Current executable set to 'node' (x86_64).
(lldb) settings set -- target.run-args "app.js"
(lldb) run
Process 68530 launched: '/usr/local/bin/node' (x86_64)
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 1563.
Process 68530 stopped
* thread #1: tid = 0x6c1407, 0x00007fff8d388f06 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00007fff8d388f06 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
-> 0x7fff8d388f06 <+10>: jae 0x7fff8d388f10 ; <+20>
0x7fff8d388f08 <+12>: movq %rax, %rdi
0x7fff8d388f0b <+15>: jmp 0x7fff8d3837cd ; cerror_nocancel
0x7fff8d388f10 <+20>: retq
(lldb) bt
* thread #1: tid = 0x6c1407, 0x00007fff8d388f06 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x00007fff8d388f06 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff8b08d4ec libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x00007fff914cf6df libsystem_c.dylib`abort + 129
frame #3: 0x00007fff91496dd8 libsystem_c.dylib`__assert_rtn + 321
frame #4: 0x0000000100978b81 node`uv___stream_fd + 85
frame #5: 0x0000000100977bba node`uv__stream_io + 1655
frame #6: 0x000000010097f198 node`uv__io_poll + 1621
frame #7: 0x0000000100970277 node`uv_run + 321
frame #8: 0x00000001007e97ba node`node::Start(int, char**) + 642
frame #9: 0x0000000100001034 node`start + 52
(lldb) bt all
* thread #1: tid = 0x6c1407, 0x00007fff8d388f06 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x00007fff8d388f06 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff8b08d4ec libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x00007fff914cf6df libsystem_c.dylib`abort + 129
frame #3: 0x00007fff91496dd8 libsystem_c.dylib`__assert_rtn + 321
frame #4: 0x0000000100978b81 node`uv___stream_fd + 85
frame #5: 0x0000000100977bba node`uv__stream_io + 1655
frame #6: 0x000000010097f198 node`uv__io_poll + 1621
frame #7: 0x0000000100970277 node`uv_run + 321
frame #8: 0x00000001007e97ba node`node::Start(int, char**) + 642
frame #9: 0x0000000100001034 node`start + 52
thread #2: tid = 0x6c141d, 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #0: 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #1: 0x000000010097a709 node`uv_sem_wait + 16
frame #2: 0x00000001007ea17a node`node::DebugSignalThreadMain(void*) + 49
frame #3: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #4: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #5: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #3: tid = 0x6c141e, 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10, name = 'V8 WorkerThread'
frame #0: 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #1: 0x00000001009828d7 node`v8::base::Semaphore::Wait() + 23
frame #2: 0x00000001008484a9 node`v8::platform::TaskQueue::GetNext() + 57
frame #3: 0x00000001008486ab node`v8::platform::WorkerThread::Run() + 43
frame #4: 0x00000001009845d7 node`v8::base::ThreadEntry(void*) + 87
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #4: tid = 0x6c141f, 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10, name = 'V8 WorkerThread'
frame #0: 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #1: 0x00000001009828d7 node`v8::base::Semaphore::Wait() + 23
frame #2: 0x00000001008484a9 node`v8::platform::TaskQueue::GetNext() + 57
frame #3: 0x00000001008486ab node`v8::platform::WorkerThread::Run() + 43
frame #4: 0x00000001009845d7 node`v8::base::ThreadEntry(void*) + 87
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #5: tid = 0x6c1420, 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10, name = 'V8 WorkerThread'
frame #0: 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #1: 0x00000001009828d7 node`v8::base::Semaphore::Wait() + 23
frame #2: 0x00000001008484a9 node`v8::platform::TaskQueue::GetNext() + 57
frame #3: 0x00000001008486ab node`v8::platform::WorkerThread::Run() + 43
frame #4: 0x00000001009845d7 node`v8::base::ThreadEntry(void*) + 87
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #6: tid = 0x6c1421, 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10, name = 'V8 WorkerThread'
frame #0: 0x00007fff8d382fae libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #1: 0x00000001009828d7 node`v8::base::Semaphore::Wait() + 23
frame #2: 0x00000001008484a9 node`v8::platform::TaskQueue::GetNext() + 57
frame #3: 0x00000001008486ab node`v8::platform::WorkerThread::Run() + 43
frame #4: 0x00000001009845d7 node`v8::base::ThreadEntry(void*) + 87
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #7: tid = 0x6c1436, 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #0: 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007fff8b08b728 libsystem_pthread.dylib`_pthread_cond_wait + 767
frame #2: 0x000000010097a82b node`uv_cond_wait + 9
frame #3: 0x000000010096e313 node`worker + 227
frame #4: 0x000000010097a494 node`uv__thread_start + 25
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #8: tid = 0x6c1437, 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #0: 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007fff8b08b728 libsystem_pthread.dylib`_pthread_cond_wait + 767
frame #2: 0x000000010097a82b node`uv_cond_wait + 9
frame #3: 0x000000010096e313 node`worker + 227
frame #4: 0x000000010097a494 node`uv__thread_start + 25
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #9: tid = 0x6c1438, 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #0: 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007fff8b08b728 libsystem_pthread.dylib`_pthread_cond_wait + 767
frame #2: 0x000000010097a82b node`uv_cond_wait + 9
frame #3: 0x000000010096e313 node`worker + 227
frame #4: 0x000000010097a494 node`uv__thread_start + 25
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
thread #10: tid = 0x6c1439, 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #0: 0x00007fff8d388db6 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007fff8b08b728 libsystem_pthread.dylib`_pthread_cond_wait + 767
frame #2: 0x000000010097a82b node`uv_cond_wait + 9
frame #3: 0x000000010096e313 node`worker + 227
frame #4: 0x000000010097a494 node`uv__thread_start + 25
frame #5: 0x00007fff8b08a99d libsystem_pthread.dylib`_pthread_body + 131
frame #6: 0x00007fff8b08a91a libsystem_pthread.dylib`_pthread_start + 168
frame #7: 0x00007fff8b088351 libsystem_pthread.dylib`thread_start + 13
On Linux machines the same code is causing the message "segmentation fault" (also not deterministically).
I'm using https://github.com/Level/leveldown package which might cause this error since it sometimes happens on reading/writing from the db, but also on totally unrelated function calls.
Also this error could be caused by other packages.
How to debug this further, since I have no Idea which package/ code-fragment is causing this.