eventcore icon indicating copy to clipboard operation
eventcore copied to clipboard

Assert error in eventcore

Open FreeSlave opened this issue 7 years ago • 2 comments

I noticed my app crashes sometimes. Here's a related part of journalctl log:

Apr 11 13:26:33 server radio[26291]: core.exception.AssertError@../../.dub/packages/eventcore-0.8.34/eventcore/source/eventcore/drivers/posix/driver.d(333): Clearing referenced file descriptor slot.
Apr 11 13:26:33 server radio[26291]: ----------------
Apr 11 13:26:33 server radio[26291]: ??:? _d_assert_msg [0xe3ad88c6]
Apr 11 13:26:33 server radio[26291]: ??:? nothrow @safe void eventcore.drivers.posix.driver.PosixEventLoop.clearFD!(eventcore.drivers.posix.sockets.StreamSocketSlot).clearFD(eventcore.driver.Handle!("fd", ulong, -1uL).Handle) [0xe3aaa7c8]
Apr 11 13:26:33 server radio[26291]: ??:? _D9eventcore7drivers5posix7sockets__T23PosixEventDriverSocketsHTCQClQCeQBz5epoll14EpollEventLoopZQCi13connectStreamMFNbNfMC3std6socket7AddressMQvDFNbNfSQFu6driver__T6HandleVAyaa12_73747265616d536f636b6574TSQHwQCc__TQByVQBua6_736f636b6574TSQJdQDj__TQDfVQDba2_6664TmVmN1ZQEaVQBjS1N1ZQEmVQDcS1S1N1ZQFaEQLlQFr13ConnectStatusZvZQGq [0xe3a952da]
Apr 11 13:26:33 server systemd[1]: dubradio.service: Main process exited, code=killed, status=6/ABRT

Using vibe-d 0.8.3

Is it problem with my app or a library? I can provide the source code if it's needed. I recently ported it from vibe 0.7.*, so could make something wrong.

FreeSlave avatar Apr 12 '18 15:04 FreeSlave

Probably, same issue with http client:

denizzz@localhost ~/D/paper_plane_bot (master)> ./paper_plane_bot                                                                                                                                                     Пт 07 дек 2018 23:06:33
[main(----) INF] Begin download packages list
[main(----) INF] Downloaded 1452 packages descriptions. Begin comparison for new versions.
[main(----) INF] Number of new or updated descriptions: 0
core.exception.AssertError@../../.dub/packages/eventcore-0.8.39/eventcore/source/eventcore/drivers/posix/driver.d(373): Clearing referenced file descriptor slot.
----------------
??:? _d_assert_msg [0xff54d6a]
../../.dub/packages/eventcore-0.8.39/eventcore/source/eventcore/drivers/posix/driver.d:373 nothrow @nogc @safe void eventcore.drivers.posix.driver.PosixEventLoop.clearFD!(eventcore.drivers.posix.sockets.StreamSocketSlot).clearFD(eventcore.driver.Handle!("fd", ulong, -1uL).Handle) [0xff33354]
../../.dub/packages/eventcore-0.8.39/eventcore/source/eventcore/drivers/posix/sockets.d:147 _D9eventcore7drivers5posix7sockets__T23PosixEventDriverSocketsHTCQClQCeQBz5epoll14EpollEventLoopZQCi13connectStreamMFNbNfMC3std6socket7AddressMQvDFNbNfSQFu6driver__T6HandleVAyaa12_73747265616d536f636b6574TSQHwQCc__TQByVQBua6_736f636b6574TSQJdQDj__TQDfVQDba2_6664TmVmN1ZQEaVQBjS1N1ZQEmVQDcS1S1N1ZQFaEQLlQFr13ConnectStatusZvZQGq [0xff1af52]
../../.dub/packages/vibe-core-1.4.5/vibe-core/source/vibe/core/net.d:206 _D4vibe4core3net10connectTCPFNfSQBeQBcQBa14NetworkAddressQBaSQCc4time8DurationZ9__lambda5MFNeZ__T9__lambda1TDFNbNfS9eventcore6driver__T6HandleVAyaa12_73747265616d536f636b6574TSQCjQCc__TQByVQBua6_736f636b6574TSQDqQDj__TQDfVQDba2_6664TmVmN1ZQEaVQBjS1N1ZQEmVQDcS1S1N1ZQFaEQFyQFr13ConnectStatusZvZQHoMFNbNfQHmZQHk [0xff08735]
../../.dub/packages/vibe-core-1.4.5/vibe-core/source/vibe/internal/async.d:114 _D4vibe8internal5async__T13asyncAwaitAnyVbi1SQBrQBpQBj__T8WaitableTDFNbNfS9eventcore6driver__T6HandleVAyaa12_73747265616d536f636b6574TSQCjQCc__TQByVQBua6_736f636b6574TSQDqQDj__TQDfVQDba2_6664TmVmN1ZQEaVQBjS1N1ZQEmVQDcS1S1N1ZQFaEQFyQFr13ConnectStatusZvSQJq4core3net10connectTCPFNfSQKsQBcQBa14NetworkAddressQBaSQCc4time8DurationZ9__lambda5MFNeZ9__lambda1SQNnQDxQDvQDuFNfQDlQDoQCoZQBzMFNeZ9__lambda2SQPfQFpQFnQFmFNfQFdQFgQEgZQDrMFNeZ9__lambda3ZZQQbMFNfQNjZv [0xfed6c20]
../../.dub/packages/vibe-core-1.4.5/vibe-core/source/vibe/internal/async.d:85 _D4vibe8internal5async__T13asyncAwaitAnyVbi1SQBrQBpQBj__T8WaitableTDFNbNfS9eventcore6driver__T6HandleVAyaa12_73747265616d536f636b6574TSQCjQCc__TQByVQBua6_736f636b6574TSQDqQDj__TQDfVQDba2_6664TmVmN1ZQEaVQBjS1N1ZQEmVQDcS1S1N1ZQFaEQFyQFr13ConnectStatusZvSQJq4core3net10connectTCPFNfSQKsQBcQBa14NetworkAddressQBaSQCc4time8DurationZ9__lambda5MFNeZ9__lambda1SQNnQDxQDvQDuFNfQDlQDoQCoZQBzMFNeZ9__lambda2SQPfQFpQFnQFmFNfQFdQFgQEgZQDrMFNeZ9__lambda3ZZQQbMFNfQFlQNmZv [0xfed6a9d]
../../.dub/packages/vibe-core-1.4.5/vibe-core/source/vibe/core/net.d:215 @trusted vibe.core.net.TCPConnection vibe.core.net.connectTCP(vibe.core.net.NetworkAddress, vibe.core.net.NetworkAddress, core.time.Duration).__lambda5() [0xfed4cae]
../../.dub/packages/vibe-core-1.4.5/vibe-core/source/vibe/core/net.d:197 @safe vibe.core.net.TCPConnection vibe.core.net.connectTCP(vibe.core.net.NetworkAddress, vibe.core.net.NetworkAddress, core.time.Duration) [0xfed4b77]
../../.dub/packages/vibe-d-0.8.4/vibe-d/http/vibe/http/client.d:624 @safe bool vibe.http.client.HTTPClient.doRequest(scope void delegate(vibe.http.client.HTTPClientRequest), ref bool, bool, std.datetime.systime.SysTime) [0xfe5db62]
../../.dub/packages/vibe-d-0.8.4/vibe-d/http/vibe/http/client.d:537 @safe bool vibe.http.client.HTTPClient.doRequestWithRetry(scope void delegate(vibe.http.client.HTTPClientRequest), bool, out bool, out std.datetime.systime.SysTime) [0xfe5d736]
../../.dub/packages/vibe-d-0.8.4/vibe-d/http/vibe/http/client.d:471 @trusted void vibe.http.client.HTTPClient.request(scope void delegate(scope vibe.http.client.HTTPClientRequest), scope void delegate(scope vibe.http.client.HTTPClientResponse)) [0xfe5d0fd]
../../.dub/packages/vibe-d-0.8.4/vibe-d/http/vibe/http/client.d:182 @safe void vibe.http.client.requestHTTP(vibe.inet.url.URL, void delegate(scope vibe.http.client.HTTPClientRequest), scope void delegate(scope vibe.http.client.HTTPClientResponse), const(vibe.http.client.HTTPClientSettings)) [0xfe5bfe0]
../../.dub/packages/vibe-d-0.8.4/vibe-d/http/vibe/http/client.d:137 @safe void vibe.http.client.requestHTTP(immutable(char)[], scope void delegate(scope vibe.http.client.HTTPClientRequest), scope void delegate(scope vibe.http.client.HTTPClientResponse), const(vibe.http.client.HTTPClientSettings)) [0xfe5bdb7]
../telega/source/telega/botapi.d:1577 @safe telega.botapi.Update[] telega.botapi.BotApi.callMethod!(telega.botapi.Update[], telega.botapi.GetUpdatesMethod).callMethod(telega.botapi.GetUpdatesMethod) [0xfdf04f3]
../telega/source/telega/botapi.d:1604 telega.botapi.Update[] telega.botapi.BotApi.getUpdates(ubyte, uint) [0xfdea9b3]
source/app.d:37 void app.sendNotifies(paper_plane_bot.grab.PackageDescr[]) [0xfcff88d]
source/app.d:32 _Dmain [0xfcff806]
Warning (thread: main): leaking eventcore driver because there are still active handles
   FD 10 (streamSocket)
Warning (thread: main): leaking eventcore driver because there are still active handles
   FD 10 (streamSocket)

denizzzka avatar Dec 07 '18 16:12 denizzzka

Found what this error occurs if I try to make request by IPv6 without any available IPv6 connections on my host

After set up IPv6 connection error is changed to:

Warning (thread: main): leaking eventcore driver because there are still active handles
   FD 10 (streamSocket)
Warning (thread: main): leaking eventcore driver because there are still active handles
   FD 10 (streamSocket)

denizzzka avatar Dec 08 '18 16:12 denizzzka