Skip to content

SSLClient ReconnectAsync() Access Violation on Windows Debug build #95

Open
@Alejandro131

Description

@Alejandro131

When compiling the library and running the tests, I built all 4 variations (3 Release and 1 Debug). All 3 of the Release builds had 100% tests passed.

On the Debug build, the "SSL server random test" crashed when the case to reconnect a random client was hit, with this call stack:

cppserver-tests.exe!asio::detail::buffer_debug_check<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned char>>>>::operator()() Line 659
	at CppServer\modules\asio\asio\include\asio\buffer.hpp(659)

[External Code]

cppserver-tests.exe!asio::mutable_buffer::data() Line 117
	at CppServer\modules\asio\asio\include\asio\buffer.hpp(117)

cppserver-tests.exe!asio::detail::buffer_sequence_adapter<asio::mutable_buffer,asio::mutable_buffers_1>::validate(const asio::mutable_buffers_1 & buffer_sequence) Line 438
	at CppServer\modules\asio\asio\include\asio\detail\buffer_sequence_adapter.hpp(438)

cppserver-tests.exe!asio::detail::win_iocp_socket_recv_op<asio::mutable_buffers_1,asio::ssl::detail::io_op<asio::basic_stream_socket<asio::ip::tcp,asio::any_io_executor>,asio::ssl::detail::shutdown_op,CppServer::Asio::AllocateHandler<``CppServer::Asio::SSLClient::DisconnectInternalAsync'::`2'::<lambda_1>::operator()'::`2'::<lambda_1>>>,asio::any_io_executor>::do_complete(void * owner, asio::detail::win_iocp_operation * base, const std::error_code & result_ec, unsigned __int64 bytes_transferred) Line 83
	at CppServer\modules\asio\asio\include\asio\detail\win_iocp_socket_recv_op.hpp(83)

cppserver-tests.exe!asio::detail::win_iocp_operation::complete(void * owner, const std::error_code & ec, unsigned __int64 bytes_transferred) Line 47
	at CppServer\modules\asio\asio\include\asio\detail\win_iocp_operation.hpp(47)

cppserver-tests.exe!asio::detail::win_iocp_io_context::do_one(unsigned long msec, asio::detail::win_iocp_thread_info & this_thread, std::error_code & ec) Line 475
	at CppServer\modules\asio\asio\include\asio\detail\impl\win_iocp_io_context.ipp(475)

cppserver-tests.exe!asio::detail::win_iocp_io_context::run(std::error_code & ec) Line 205
	at CppServer\modules\asio\asio\include\asio\detail\impl\win_iocp_io_context.ipp(205)

cppserver-tests.exe!asio::io_context::run() Line 63
	at CppServer\modules\asio\asio\include\asio\impl\io_context.ipp(63)

cppserver-tests.exe!CppServer::Asio::Service::ServiceThread(const std::shared_ptr<CppServer::Asio::Service> & service, const std::shared_ptr<asio::io_context> & io_service) Line 192
	at CppServer\source\server\asio\service.cpp(192)

cppserver-tests.exe!`CppServer::Asio::Service::Start'::`8'::<lambda_2>::operator()() Line 96
	at CppServer\source\server\asio\service.cpp(96)

cppserver-tests.exe!`CppCommon::Thread::Start<`CppServer::Asio::Service::Start'::`8'::<lambda_2>>'::`2'::<lambda_1>::operator()() Line 54
	at CppServer\modules\CppCommon\include\threads\thread.inl(54)

[External Code]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions