(truncated)
if I create a single loop I use forever, and do not call uv_run() after
calling uv_close() after a few connections (object creation/deletions)
This is the stack trace under linux.
Under windows I get the assert I mentioned at the start after the second
connection.
-------------------
node: src/unix/core.c:236: uv__finish_close: Assertion `handle->flags &
UV_CLOSING' failed.
Thread 1 "node" received signal SIGABRT, Aborted.
#0 0x00007ffff565704f in raise () from /usr/lib/libc.so.6
#1 0x00007ffff565847a in abort () from /usr/lib/libc.so.6
#2 0x00007ffff564fea7 in __assert_fail_base () from /usr/lib/libc.so.6
#3 0x00007ffff564ff52 in __assert_fail () from /usr/lib/libc.so.6
#4 0x00007ffff77a2f10 in uv_run () from /usr/lib/libuv.so.1
#5 0x0000000000d71a70 in node::Start(int, char**) ()
#6 0x00007ffff5644291 in __libc_start_main () from /usr/lib/libc.so.6
#7 0x00000000006c7d3a in _start ()
(gdb)
---------------------
If I add the uv_run after uv_close after a few more connections this is the
stack trace...
at frame 15 #15 0x00007ffff1780e07 in asyncmsg (handle=0x153e8f0) at
it's gotten a message from the network, and is building a V8 object, and
triggers garbage collection which falls off into nowhere.
And I don't know; maybe there's a irregularity in the stack and it's not
resolving correctly?
#0 0x0000000000000000 in ?? ()
#1 0x000000000099d62e in
v8::internal::GlobalHandles::PendingPhantomCallback::Invoke(v8::internal::Isolate*)
()
#2 0x000000000099d7ca in
v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) ()
#3 0x000000000099d95a in
v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector,
v8::GCCallbackFlags) ()
#4 0x00000000009b85f2 in
v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector,
v8::GCCallbackFlags) ()
#5 0x00000000009b8f73 in
v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, char
const*, char const*, v8::GCCallbackFlags) ()
#6 0x000000000097720b in
v8::internal::Factory::NewUninitializedFixedArray(int) ()
#7 0x000000000096cbce in ?? ()
#8 0x000000000096d34f in ?? ()
#9 0x0000000000a724c2 in
v8::internal::JSObject::AddDataElement(v8::internal::Handle<v8::internal::JSObject>,
unsigned int, v8::internal::Handle<v8::internal::Object>,
v8::internal::PropertyAttributes, v8::internal::Object::ShouldThrow) ()
#10 0x0000000000a9b0a8 in
v8::internal::Object::AddDataProperty(v8::internal::LookupIterator*,
v8::internal::Handle<v8::internal::Object>,
v8::internal::PropertyAttributes, v8::internal::Object::ShouldThrow,
v8::internal::Object::StoreFromKeyed) ()
#11 0x0000000000ab3bff in
v8::internal::Object::SetProperty(v8::internal::LookupIterator*,
v8::internal::Handle<v8::internal::Object>, v8::internal::LanguageMode,
v8::internal::Object::StoreFromKeyed) ()
#12 0x00000000006eafba in v8::Object::Set(v8::Local<v8::Context>, unsigned
int, v8::Local<v8::Value>) ()
#13 0x00000000006eb0cd in v8::Object::Set(unsigned int,
v8::Local<v8::Value>) ()
#14 0x00007ffff1783aaa in ProcessCommand (isolate=0x14ead70,
state=0x7fffec1582d4, msg=0x7fffec2b6a24, bTCP=1)
at /home/node/app_service/AppCom/flashboard_net.cc:265
#15 0x00007ffff1780e07 in asyncmsg (handle=0x153e8f0) at
/home/node/app_service/AppCom/appcom.cc:70
#16 0x00007ffff77a22a3 in ?? () from /usr/lib/libuv.so.1
#17 0x00007ffff77a2386 in ?? () from /usr/lib/libuv.so.1
#18 0x00007ffff77b11f8 in ?? () from /usr/lib/libuv.so.1
#19 0x00007ffff77a2c44 in uv_run () from /usr/lib/libuv.so.1
#20 0x00007ffff178197f in AppComObject::~AppComObject (this=0x16db410,
__in_chrg=<optimized out>)
at /home/node/app_service/AppCom/appcom.cc:127
#21 0x00007ffff17819f0 in AppComObject::~AppComObject (this=0x16db410,
__in_chrg=<optimized out>)
at /home/node/app_service/AppCom/appcom.cc:128
#22 0x00007ffff178225c in node::ObjectWrap::WeakCallback (data=...)
at /root/.cmake-js/node-x64/v6.3.1/include/node/node_object_wrap.h:103
#23 0x000000000099d62e in
v8::internal::GlobalHandles::PendingPhantomCallback::Invoke(v8::internal::Isolate*)
()
#24 0x000000000099d7ca in
v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool) ()
#25 0x000000000099d95a in
v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::internal::GarbageCollector,
v8::GCCallbackFlags) ()
#26 0x00000000009b85f2 in
v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector,
v8::GCCallbackFlags) ()
#27 0x00000000009b8f73 in
v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, char
const*, char const*, v8::GCCallbackFlags) ()
#28 0x0000000000976c3a in
v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, char
const*, v8::GCCallbackFlags) ()
#29 0x000000000097e24d in v8::internal::Factory::NewRawOneByteString(int,
v8::internal::PretenureFlag) ()
#30 0x0000000000a82aba in
v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>,
v8::internal::PretenureFlag) ()
#31 0x00000000006cedf0 in
v8::internal::String::Flatten(v8::internal::Handle<v8::internal::String>,
v8::internal::PretenureFlag)
()
--
You received this message because you are subscribed to the Google Groups
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.