Skip to content

Assertion failure on double connect #149

@CuriousGeorgiy

Description

@CuriousGeorgiy

Consider this trivial snippet with a Tarantool instance listening on port 3301:

#include "../src/Client/Connector.hpp"

using Buf_t = tnt::Buffer<16 * 1024>;
using Net_t = LibevNetProvider<Buf_t, DefaultStream>;

int
main()
{
	Connector<Buf_t, Net_t> client;
	Connection<Buf_t, Net_t> conn(client);
	struct ConnectOptions conn_opts{
		.address = "127.0.0.1",
		.service = "3301",		
	};
	client.connect(conn, conn_opts);
	client.connect(conn, conn_opts);
}

The second connect causes an assertion failure:

Assertion failed: conn.strm.has_status(SS_DEAD), function connect, file Connector.hpp, line 154.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcrash

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions