~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
Most2
Nausicaa
Vort
Xeha
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
poriori_
profetikla
soos
un
weko
whothefuckami_
НАТАШКА
`
А get2ip не деда?
weko
нет
whothefuckami
А дед живой? На связь выходит?
orignal
эшелона
orignal
писал что то на i2pforum
R4SAS
Vort: нет. это происходит при ползанью по сайтам
R4SAS
не понятно только где
Vort
вроде бы не так уж много мест со строками в i2pd есть
Vort
особенно если не учитывать консоль
R4SAS
оно происходит в треде Destination
R4SAS
конечно это дебаг билд
Vort
интересно, что единственная нагугливающаяся страница об этой ошибке тоже упоминает boost
Vort
stackoverflow.com/questions/44717311/string-iterator-not-dereferncable-with-boost-async-read-some
Vort
может, конечно, совпадение
`
ахахахаха, нет.
Vort
важный кусок информации в той стене текста - это упоминание HTTPReqHandler
Vort
я про данные с paste
Vort
и ведёт этот HTTPReqHandler почему-то совсем не в Destination. или они таки связаны?
R4SAS
ну, дест через HTTP прокси
R4SAS
так что связано
R4SAS
это 4444 крч
Vort
ага. понятно почему у меня не вылазит
Vort
хотя у меня и не дебаг билд сейчас, но всё же
Vort
небось через SOCKS не воспроизведётся
R4SAS
запустил резилный
R4SAS
тут не вылезает
Vort
правда я хз какая тут воспроизводимость
R4SAS
угу, не воспроизведется
Vort
это случаем не с аутпрокси такое вылазит?
Vort
я пытаюсь понять что в коде значит Upstream SOCKS
Vort
там ещё одна подсказка в трассировке стека: bytes_transferred
Vort
такой параметр есть только у HTTPReqHandler::HandleSocksProxySendHandshake и HTTPReqHandler::HandleSocksProxyReply
R4SAS
нет, без него
Vort
хотя есть ещё одно место
Vort
замаскированное :)
Vort
void HandleSockRecv(const boost::system::error_code & ecode, std::size_t bytes_transfered);
Vort
void HTTPReqHandler::HandleSockRecv(const boost::system::error_code & ecode, std::size_t len)
Vort
в котором параметр то ли len, то ли bytes_transfered
Vort
ну об этой ли строке речь? m_recv_buf.append(reinterpret_cast<const char *>(
Vort
в трассировке тоже речь о каких-то буферах (const_buffer)
Vort
github.com/boostorg/asio/blob/c12581dcee821ea460a45de940fd10f67b3d82b3/include/boost/asio/detail/win_iocp_socket_send_op.hpp#L78-L79
Vort
github.com/boostorg/asio/blob/c12581dcee821ea460a45de940fd10f67b3d82b3/include/boost/asio/detail/buffer_sequence_adapter.hpp#L504-L507
Vort
вот строчки из трейса в библиотеке
R4SAS
странно то что это происходит только в дебажной сборке
Vort
#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
R4SAS
либо не странно
Vort
в общем, в итоге это получается попытка отправить данные в сокет из поломанного буфера
Vort
я поначалу подумал, что это при приёме происходит. наверное, нет - при отправке
Vort
R4SAS: в boost::asio::buffer ведь ссылка на строку идёт, да?
Vort
если да, то не уверен, что вот это должно работать: github.com/PurpleI2P/i2pd/blob/c1f19cb2582bb51d1fe1c9b49459557da1e45ab3/libi2pd_client/HTTPProxy.cpp#L219-L221
Vort
"A buffer object does not have any ownership of the memory it refers to. It is the responsibility of the application to ensure the memory region remains valid until it is no longer required for an I/O operation."
Vort
короч похоже понятно