vibe-d / eventcore

High performance proactor event loop abstraction library
MIT License
60 stars 42 forks source link

assert error in eventcore #2 #94

Open Sandman83 opened 6 years ago

Sandman83 commented 6 years ago

I'm not sure, whether the eventcore is the culprit, or something of my program. But the stack trace does not contain anything of mine, so I post it here, down below. If you need my code, it is not available yet, but it will be later.

Assertion failure @/Users/alex/.dub/packages/eventcore-0.8.39/eventcore/source/eventcore/drivers/posix/events.d(224): Invalid eventID.
------------------------
??:? object.Throwable.TraceInfo core.runtime.defaultTraceHandler(void*) [0x1092ce52b]
??:? void eventcore.internal.utils.nogc_assert(bool, immutable(char)[], immutable(char)[], int).__lambda5() [0x1091123aa]
??:? nothrow @nogc @trusted void eventcore.internal.utils.nogc_assert(bool, immutable(char)[], immutable(char)[], int) [0x10911233c]
??:? _D9eventcore7drivers5posix6events__T22PosixEventDriverEventsHTCQCjQCcQBx6kqueue15KqueueEventLoopHTCQDtQDmQDh7sockets__T23PosixEventDriverSocketsHTQDgZQBfZQEo4waitMFNbNiNfSQGn6driver__T6HandleVAyaa5_6576656e74TSQIaQBn__TQBjVQBfa2_6664TmVmN1ZQCeVQBjS1N1ZQCqDFNbNfQDnZvZv [0x1090fed6c]
??:? nothrow @nogc @safe eventcore.drivers.posix.dns.EventDriverDNS_GAI!(eventcore.drivers.posix.events.PosixEventDriverEvents!(eventcore.drivers.posix.kqueue.KqueueEventLoop, eventcore.drivers.posix.sockets.PosixEventDriverSockets!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriverSockets).PosixEventDriverEvents, eventcore.drivers.posix.signals.DummyEventDriverSignals!(eventcore.drivers.posix.kqueue.KqueueEventLoop).DummyEventDriverSignals).EventDriverDNS_GAI eventcore.drivers.posix.dns.EventDriverDNS_GAI!(eventcore.drivers.posix.events.PosixEventDriverEvents!(eventcore.drivers.posix.kqueue.KqueueEventLoop, eventcore.drivers.posix.sockets.PosixEventDriverSockets!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriverSockets).PosixEventDriverEvents, eventcore.drivers.posix.signals.DummyEventDriverSignals!(eventcore.drivers.posix.kqueue.KqueueEventLoop).DummyEventDriverSignals).EventDriverDNS_GAI.__ctor(eventcore.drivers.posix.events.PosixEventDriverEvents!(eventcore.drivers.posix.kqueue.KqueueEventLoop, eventcore.drivers.posix.sockets.PosixEventDriverSockets!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriverSockets).PosixEventDriverEvents, eventcore.drivers.posix.signals.DummyEventDriverSignals!(eventcore.drivers.posix.kqueue.KqueueEventLoop).DummyEventDriverSignals) [0x1090fb39a]
??:? nothrow @nogc @trusted eventcore.drivers.posix.dns.EventDriverDNS_GAI!(eventcore.drivers.posix.events.PosixEventDriverEvents!(eventcore.drivers.posix.kqueue.KqueueEventLoop, eventcore.drivers.posix.sockets.PosixEventDriverSockets!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriverSockets).PosixEventDriverEvents, eventcore.drivers.posix.signals.DummyEventDriverSignals!(eventcore.drivers.posix.kqueue.KqueueEventLoop).DummyEventDriverSignals).EventDriverDNS_GAI eventcore.internal.utils.mallocT!(eventcore.drivers.posix.dns.EventDriverDNS_GAI!(eventcore.drivers.posix.events.PosixEventDriverEvents!(eventcore.drivers.posix.kqueue.KqueueEventLoop, eventcore.drivers.posix.sockets.PosixEventDriverSockets!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriverSockets).PosixEventDriverEvents, eventcore.drivers.posix.signals.DummyEventDriverSignals!(eventcore.drivers.posix.kqueue.KqueueEventLoop).DummyEventDriverSignals).EventDriverDNS_GAI, eventcore.drivers.posix.events.PosixEventDriverEvents!(eventcore.drivers.posix.kqueue.KqueueEventLoop, eventcore.drivers.posix.sockets.PosixEventDriverSockets!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriverSockets).PosixEventDriverEvents, eventcore.drivers.posix.signals.DummyEventDriverSignals!(eventcore.drivers.posix.kqueue.KqueueEventLoop).DummyEventDriverSignals).mallocT(eventcore.drivers.posix.events.PosixEventDriverEvents!(eventcore.drivers.posix.kqueue.KqueueEventLoop, eventcore.drivers.posix.sockets.PosixEventDriverSockets!(eventcore
??:? nothrow @nogc @trusted eventcore.drivers.posix.driver.PosixEventDriver!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriver eventcore.drivers.posix.driver.PosixEventDriver!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriver.__ctor() [0x1090fc4ff]
??:? nothrow @nogc @trusted eventcore.drivers.posix.driver.PosixEventDriver!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriver eventcore.internal.utils.mallocT!(eventcore.drivers.posix.driver.PosixEventDriver!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriver).mallocT() [0x1091189d9]
??:? nothrow @property @nogc @safe eventcore.drivers.posix.driver.PosixEventDriver!(eventcore.drivers.posix.kqueue.KqueueEventLoop).PosixEventDriver eventcore.core.eventDriver() [0x1090e816b]
??:? shared nothrow @safe int vibe.core.sync.ManualEvent.doWaitShared!(false).doWaitShared(core.time.Duration, int) [0x1090a2bcf]
??:? @safe void vibe.core.sync.TaskCondition.wait() [0x1090a17e0]
??:? bool std.concurrency.MessageBox.get!(void delegate(ulong)).get(scope void delegate(ulong)) [0x108f9f5ae]
??:? thread_entryPoint [0x1092d06f6]
??:? _pthread_body [0x7fff57ee9660]
??:? _pthread_start [0x7fff57ee950c]
Program exited with code -6
Sandman83 commented 6 years ago

Ok... I removed the dependency on vibe from my library. Now, it works. My ActivityManager shows a rising memory usage while using vibed, so I assume a memory leak. Maybe, this helps somehow.