byedpi icon indicating copy to clipboard operation
byedpi copied to clipboard

Program crashing with segmentation fault

Open lufog opened this issue 1 year ago • 45 comments

На Windows 11 23H2 (22631.3447), приложение вылетает при использовании --fake -1 --ttl 3. Вылет происходит на всех версиях, начиная с 0.7 и по 0.10.

Как спровоцировать вылет:

  • запустить ciadpi с аргументами --disorder 1 --fake -1 --ttl 3 --debug 2 (без --debug 2 тоже вылетит, но не сразу);
  • открыть YouTube, походить по ссылкам, по обновлять страницу.
Старое описание

~После последних 3х коммитов~, приложение стало рандомно вылетать, после 1-2 часов работы. Попытался погонять с отладчиком, в надежде что отладчик ткнет пальцем в проблемное место (так обычно делает отладчик от MS). Но gdb мне так и не удалось нормально настроить. Самое адекватное, что я из него вытащил, с третьего раза (не уверен насколько это полезно):

image

Запускаю с аргументами: --hosts "E:\Programming\cr-pl.programs\byedpi\white_list.txt" --auto=none --disorder 1 --fake -1 --ttl 3

terminal.txt debug-console.txt

Попробую пока откатывать по одному коммиту, и проверять когда перестанет падать.

Собираю, этим: GCC 13.2.0 (with POSIX threads) + LLVM/Clang/LLD/LLDB 17.0.6 + MinGW-w64 11.0.1 (UCRT) - release 7 (LATEST)

lufog avatar May 01 '24 17:05 lufog

Вы можете использовать параметр --debug 2

hufrea avatar May 01 '24 18:05 hufrea

@hufrea в этот раз практически сразу крашнулось:

Лог
PS E:\Programming\cr-pl.programs\byedpi>  & 'c:\Users\Aleksey\.vscode\extensions\ms-vscode.cpptools-1.20.3-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-qd2qfmrq.0be' '--stdout=Microsoft-MIEngine-Out-20oxedlv.mg0' '--stderr=Microsoft-MIEngine-Error-10twpfd1.ne2' '--pid=Microsoft-MIEngine-Pid-o25ggsfr.njv' '--dbgExe=D:\Program Files\Development\MinGW\bin\gdb.exe' '--interpreter=mi' 
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 316, evt: EV_REQUEST
new event: fd: 320, evt: EV_CONNECT
new event: fd: 316, evt: EV_DESYNC
desync params index: 0
host: gateway.discord.gg (1503)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2050, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t70A5.tmp
send: pos=2050-2051
new event: fd: 320, evt: EV_PRE_TUNNEL
new event: fd: 316, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 344, evt: EV_REQUEST
new event: fd: 348, evt: EV_CONNECT
new event: fd: 344, evt: EV_DESYNC
desync params index: 0
host: gateway.discord.gg (1789)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2050, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t71B0.tmp
send: pos=2050-2051
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 316, evt: EV_TUNNEL
new event: fd: 348, evt: EV_PRE_TUNNEL
new event: fd: 344, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 316, evt: EV_TUNNEL
new event: fd: 316, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 360, evt: EV_REQUEST
new event: fd: 356, evt: EV_CONNECT
new event: fd: 360, evt: EV_DESYNC
desync params index: 0
host: brb.duolingo.com (138)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1973, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t8018.tmp
send: pos=1973-1974
new event: fd: 356, evt: EV_PRE_TUNNEL
new event: fd: 360, evt: EV_TUNNEL
new event: fd: 356, evt: EV_TUNNEL
new event: fd: 360, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 364, evt: EV_REQUEST
new event: fd: 352, evt: EV_CONNECT
new event: fd: 364, evt: EV_DESYNC
desync params index: 0
host: brb.duolingo.com (155)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1909, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t8123.tmp
send: pos=1909-1910
new event: fd: 352, evt: EV_PRE_TUNNEL
new event: fd: 364, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 352, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 368, evt: EV_REQUEST
new event: fd: 372, evt: EV_CONNECT
new event: fd: 368, evt: EV_DESYNC
desync params index: 0
host: api.spotify.com (1711)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2080, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t93B2.tmp
send: pos=2080-2081
new event: fd: 372, evt: EV_PRE_TUNNEL
new event: fd: 368, evt: EV_TUNNEL
new event: fd: 372, evt: EV_TUNNEL
new event: fd: 368, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 384, evt: EV_REQUEST
new event: fd: 372, evt: EV_TUNNEL
new event: fd: 368, evt: EV_TUNNEL
new event: fd: 388, evt: EV_CONNECT
new event: fd: 384, evt: EV_DESYNC
desync params index: 0
host: api.spotify.com (1722)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2048, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t94AD.tmp
send: pos=2048-2049
new event: fd: 388, evt: EV_PRE_TUNNEL
new event: fd: 384, evt: EV_TUNNEL
new event: fd: 388, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 400, evt: EV_REQUEST
new event: fd: 404, evt: EV_CONNECT
new event: fd: 400, evt: EV_DESYNC
desync params index: 0
host: dealer.spotify.com (1725)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1747, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9625.tmp
send: pos=1747-1748
new event: fd: 404, evt: EV_PRE_TUNNEL
recv: 0
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 404, evt: EV_REQUEST
new event: fd: 400, evt: EV_CONNECT
new event: fd: 404, evt: EV_DESYNC
desync params index: 0
host: dealer.spotify.com (518)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1811, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9720.tmp
send: pos=1811-1812
new event: fd: 400, evt: EV_PRE_TUNNEL
recv: 0
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 424, evt: EV_REQUEST
new event: fd: 404, evt: EV_CONNECT
new event: fd: 424, evt: EV_DESYNC
desync params index: 0
host: dealer.spotify.com (1721)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1779, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t97AD.tmp
send: pos=1779-1780
new event: fd: 404, evt: EV_PRE_TUNNEL
recv: 0
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 424, evt: EV_REQUEST
new event: fd: 424, evt: EV_REQUEST
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 468, evt: EV_REQUEST
new event: fd: 472, evt: EV_CONNECT
new event: fd: 468, evt: EV_DESYNC
desync params index: 0
host: dealer.spotify.com (131)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1715, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9899.tmp
send: pos=1715-1716
new event: fd: 472, evt: EV_PRE_TUNNEL
recv: 0
new event: fd: 464, evt: EV_CONNECT
new event: fd: 424, evt: EV_DESYNC
desync params index: 0
host: mobile.events.data.microsoft.com (127)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-516, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9926.tmp
send: pos=516-517
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 464, evt: EV_PRE_TUNNEL
new event: fd: 424, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 484, evt: EV_REQUEST
new event: fd: 468, evt: EV_CONNECT
new event: fd: 484, evt: EV_DESYNC
desync params index: 0
host: www.youtube.com (1747)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2243, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9B0C.tmp
send: pos=2243-2244
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 476, evt: EV_REQUEST
new event: fd: 464, evt: EV_TUNNEL
new event: fd: 424, evt: EV_TUNNEL
new event: fd: 472, evt: EV_CONNECT
new event: fd: 476, evt: EV_DESYNC
desync params index: 0
host: suggestqueries-clients6.youtube.com (137)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2315, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9B5B.tmp
send: pos=2315-2316
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 468, evt: EV_PRE_TUNNEL
new event: fd: 484, evt: EV_TUNNEL
new event: fd: 496, evt: EV_REQUEST
new event: fd: 468, evt: EV_TUNNEL
new event: fd: 484, evt: EV_TUNNEL
new event: fd: 468, evt: EV_TUNNEL
new event: fd: 484, evt: EV_TUNNEL
new event: fd: 500, evt: EV_CONNECT
new event: fd: 496, evt: EV_DESYNC
desync params index: 0
host: content-autofill.googleapis.com (1487)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2211, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9BBA.tmp
send: pos=2211-2212
new event: fd: 472, evt: EV_PRE_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 492, evt: EV_REQUEST
new event: fd: 476, evt: EV_TUNNEL
new event: fd: 464, evt: EV_TUNNEL
new event: fd: 508, evt: EV_CONNECT
new event: fd: 472, evt: EV_TUNNEL
new event: fd: 492, evt: EV_DESYNC
desync params index: 0
host: www.youtube.com (127)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2243, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9C18.tmp
send: pos=2243-2244
new event: fd: 476, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 516, evt: EV_REQUEST
new event: fd: 500, evt: EV_PRE_TUNNEL
new event: fd: 496, evt: EV_TUNNEL
new event: fd: 520, evt: EV_CONNECT
new event: fd: 516, evt: EV_DESYNC
desync params index: 0
host: suggestqueries-clients6.youtube.com (1750)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2283, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9C48.tmp
send: pos=2283-2284
new event: fd: 500, evt: EV_TUNNEL
new event: fd: 496, evt: EV_TUNNEL
new event: fd: 508, evt: EV_PRE_TUNNEL
new event: fd: 492, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 528, evt: EV_REQUEST
new event: fd: 508, evt: EV_TUNNEL
new event: fd: 524, evt: EV_CONNECT
new event: fd: 520, evt: EV_PRE_TUNNEL
new event: fd: 528, evt: EV_DESYNC
desync params index: 0
host: content-autofill.googleapis.com (405)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2243, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t9CB7.tmp
send: pos=2243-2244
new event: fd: 516, evt: EV_TUNNEL
new event: fd: 500, evt: EV_TUNNEL
new event: fd: 496, evt: EV_TUNNEL
new event: fd: 520, evt: EV_TUNNEL
new event: fd: 524, evt: EV_PRE_TUNNEL
new event: fd: 528, evt: EV_TUNNEL
new event: fd: 524, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 464, evt: EV_TUNNEL
new event: fd: 464, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 540, evt: EV_REQUEST
new event: fd: 424, evt: EV_CONNECT
new event: fd: 540, evt: EV_DESYNC
desync params index: 0
host: zombie.duolingo.com (409)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1912, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tAB2F.tmp
send: pos=1912-1913
new event: fd: 424, evt: EV_PRE_TUNNEL
new event: fd: 540, evt: EV_TUNNEL
new event: fd: 424, evt: EV_TUNNEL
new event: fd: 540, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 544, evt: EV_REQUEST
new event: fd: 532, evt: EV_CONNECT
new event: fd: 544, evt: EV_DESYNC
desync params index: 0
host: zombie.duolingo.com (134)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1880, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tAC49.tmp
send: pos=1880-1881
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 532, evt: EV_PRE_TUNNEL
new event: fd: 544, evt: EV_TUNNEL
new event: fd: 532, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 344, evt: EV_REQUEST
new event: fd: 552, evt: EV_CONNECT
new event: fd: 344, evt: EV_DESYNC
desync params index: 0
host: github.com (447)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1862, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tB812.tmp
send: pos=1862-1863
new event: fd: 552, evt: EV_PRE_TUNNEL
new event: fd: 344, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 464, evt: EV_REQUEST
new event: fd: 552, evt: EV_TUNNEL
new event: fd: 536, evt: EV_CONNECT
new event: fd: 344, evt: EV_TUNNEL
new event: fd: 464, evt: EV_DESYNC
desync params index: 0
host: github.com (1453)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1862, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tB8FD.tmp
send: pos=1862-1863
new event: fd: 536, evt: EV_PRE_TUNNEL
new event: fd: 464, evt: EV_TUNNEL
new event: fd: 536, evt: EV_TUNNEL
new event: fd: 552, evt: EV_TUNNEL
new event: fd: 320, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 556, evt: EV_REQUEST
new event: fd: 348, evt: EV_CONNECT
new event: fd: 556, evt: EV_DESYNC
desync params index: 0
host: rr2---sn-gxuog0-8v1e.googlevideo.com (206)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1809, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tBEDA.tmp
send: pos=1809-1810
new event: fd: 348, evt: EV_PRE_TUNNEL
new event: fd: 556, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 568, evt: EV_REQUEST
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 548, evt: EV_CONNECT
new event: fd: 568, evt: EV_DESYNC
desync params index: 0
host: rr2---sn-gxuog0-8v1e.googlevideo.com (1737)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1777, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tBFD5.tmp
send: pos=1777-1778
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 548, evt: EV_PRE_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 568, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 580, evt: EV_REQUEST
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 576, evt: EV_REQUEST
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 564, evt: EV_CONNECT
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 580, evt: EV_DESYNC
desync params index: 0
host: api.github.com (248)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1898, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tC082.tmp
send: pos=1898-1899
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 572, evt: EV_CONNECT
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 576, evt: EV_DESYNC
desync params index: 0
host: collector.github.com (420)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1840, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tC0D1.tmp
send: pos=1840-1841
new event: fd: 484, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 564, evt: EV_PRE_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 580, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 468, evt: EV_TUNNEL
new event: fd: 484, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 592, evt: EV_REQUEST
new event: fd: 564, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 580, evt: EV_TUNNEL
new event: fd: 304, evt: EV_ACCEPT
new event: fd: 596, evt: EV_REQUEST
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 584, evt: EV_CONNECT
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 592, evt: EV_DESYNC
desync params index: 0
host: api.github.com (1763)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1866, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tC16E.tmp
send: pos=1866-1867
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 564, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 580, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 588, evt: EV_CONNECT
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 596, evt: EV_DESYNC
desync params index: 0
host: collector.github.com (127)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1808, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\tC1BD.tmp
send: pos=1808-1809
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt: EV_TUNNEL
new event: fd: 348, evt

lufog avatar May 01 '24 20:05 lufog

Не могу воспроизвести. Вряд-ли причина в последних коммитах, изменения почти не затрагивают работу прокси. Измените строчку на: LOG(LOG_L, "new event: fd: %d, type: %d, evt: %s\n", val->fd, val->type, eid_name[val->type]);

hufrea avatar May 01 '24 23:05 hufrea

Да, я уже ушагал по коммитам далеко, а все равно отладчику что-то да не нравится... Видимо он параноит аварийно завершая программу в тех случаях, когда без него она бы работала.

На 1159678, 91eabb2: попеременно вылетает на: https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/extend.c#L243 https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/extend.c#L301 https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/proxy.c#L810 [Unknown/Just-In-Time compiled source] Unknown Source


На 8e8bd2d, e3cfd9e: попеременно вылетает на:
https://github.com/hufrea/byedpi/blob/8e8bd2d527711898b02626d7d2f593affe67ca7b/conev.c#L172 [Unknown/Just-In-Time compiled source] Unknown Source


На fd0f55b, 4be8bd3, 15b9f50, 2c0ade1, bd290b1: попеременно вылетает на: https://github.com/hufrea/byedpi/blob/fd0f55b72da1d246e78bd7a6d347add6657c0134/proxy.c#L805 [Unknown/Just-In-Time compiled source] Unknown Source

lufog avatar May 01 '24 23:05 lufog

Сейчас ругается на (ссылку руками правил чтобы не лезть на другую страницу): https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/conev.c#L172

lufog avatar May 01 '24 23:05 lufog

Я не понимаю, падает рандомно, когда обновляю страницу YouTube. :/

Попробую собрать без -g --debug и запустить без отладчика.

lufog avatar May 01 '24 23:05 lufog

Все равно вылетает:

Лог
PS E:\Programming\cr-pl.programs\byedpi> .\ciadpi.exe --hosts white_list.txt --auto=none --disorder 1 --fake -1 --ttl 3 --debug 2
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 312, type: 1, evt: EV_REQUEST
new event: fd: 316, type: 2, evt: EV_CONNECT
new event: fd: 312, type: 7, evt: EV_DESYNC
desync params index: 0
host: www.youtube.com (1432)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2243, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t5C64.tmp
send: pos=2243-2244
new event: fd: 316, type: 5, evt: EV_PRE_TUNNEL
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 340, type: 1, evt: EV_REQUEST
new event: fd: 336, type: 2, evt: EV_CONNECT
new event: fd: 340, type: 7, evt: EV_DESYNC
desync params index: 0
host: www.youtube.com (144)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2211, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t5D40.tmp
send: pos=2211-2212
new event: fd: 336, type: 5, evt: EV_PRE_TUNNEL
new event: fd: 340, type: 4, evt: EV_TUNNEL
new event: fd: 336, type: 4, evt: EV_TUNNEL
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 348, type: 1, evt: EV_REQUEST
new event: fd: 344, type: 2, evt: EV_CONNECT
new event: fd: 348, type: 7, evt: EV_DESYNC
desync params index: 0
host: web.telegram.org (230)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2092, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t63F7.tmp
send: pos=2092-2093
new event: fd: 344, type: 5, evt: EV_PRE_TUNNEL
new event: fd: 348, type: 4, evt: EV_TUNNEL
new event: fd: 344, type: 4, evt: EV_TUNNEL
new event: fd: 348, type: 4, evt: EV_TUNNEL
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 352, type: 1, evt: EV_REQUEST
new event: fd: 332, type: 2, evt: EV_CONNECT
new event: fd: 352, type: 7, evt: EV_DESYNC
desync params index: 0
host: web.telegram.org (158)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2060, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t64F2.tmp
send: pos=2060-2061
new event: fd: 332, type: 5, evt: EV_PRE_TUNNEL
new event: fd: 352, type: 4, evt: EV_TUNNEL
new event: fd: 332, type: 4, evt: EV_TUNNEL
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 360, type: 1, evt: EV_REQUEST
new event: fd: 364, type: 2, evt: EV_CONNECT
new event: fd: 360, type: 7, evt: EV_DESYNC
desync params index: 0
host: i.ytimg.com (1436)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2171, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t6B1D.tmp
send: pos=2171-2172
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 372, type: 1, evt: EV_REQUEST
new event: fd: 356, type: 1, evt: EV_REQUEST
new event: fd: 368, type: 2, evt: EV_CONNECT
new event: fd: 376, type: 2, evt: EV_CONNECT
new event: fd: 372, type: 7, evt: EV_DESYNC
desync params index: 0
host: rr3---sn-gxuog0-8v1l.googlevideo.com (1695)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1988, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t6B6D.tmp
send: pos=1988-1989
new event: fd: 356, type: 7, evt: EV_DESYNC
desync params index: 0
host: rr3---sn-gxuog0-8v1l.googlevideo.com (1680)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-1777, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t6B7D.tmp
send: pos=1777-1778
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 364, type: 5, evt: EV_PRE_TUNNEL
new event: fd: 368, type: 5, evt: EV_PRE_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 372, type: 4, evt: EV_TUNNEL
new event: fd: 360, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 368, type: 4, evt: EV_TUNNEL
new event: fd: 316, type: 4, evt: EV_TUNNEL
new event: fd: 372, type: 4, evt: EV_TUNNEL
new event: fd: 312, type: 4, evt: EV_TUNNEL
new event: fd: 376, type: 5, evt: EV_PRE_TUNNEL
new event: fd: 356, type: 4, evt: EV_TUNNEL
new event: fd: 368, type: 4, evt: EV_TUNNEL
new event: fd: 364, type: 4, evt: EV_TUNNEL
new event: fd: 360, type: 4, evt: EV_TUNNEL
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 400, type: 1, evt: EV_REQUEST
new event: fd: 404, type: 2, evt: EV_CONNECT
new event: fd: 400, type: 7, evt: EV_DESYNC
desync params index: 0
host: i.ytimg.com (1473)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2267, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t6C1A.tmp
send: pos=2267-2268
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 392, type: 1, evt: EV_REQUEST
new event: fd: 384, type: 2, evt: EV_CONNECT
new event: fd: 392, type: 7, evt: EV_DESYNC
desync params index: 0
host: rr4---sn-gxuog0-8v1l.googlevideo.com (163)
split: pos=0-1, m: DESYNC_DISORDER
split: pos=1-2020, m: DESYNC_FAKE
temp file: C:\Users\Aleksey\AppData\Local\Temp\t6C3B.tmp
send: pos=2020-2021
new event: fd: 300, type: 0, evt: EV_ACCEPT
new event: fd: 408, type: 1, evt: EV_REQUEST
new event: fd: 388, type: 2, evt: EV_CONNECT
new event: fd: 408, type: 7, evt: EV_DESYNC
desync params index: 0
host: rr3---sn-gxuog0-8v1l.googlevideo.com
PS E:\Programming\cr-pl.programs\byedpi>

К слову если убрать --debug 2 вылетает не так быстро.

lufog avatar May 01 '24 23:05 lufog

А если не использовать --fake?

hufrea avatar May 02 '24 00:05 hufrea

@hufrea запустил с .\ciadpi.exe --hosts white_list.txt --auto=none --disorder 1 --debug 2 пока не падает.

Да, не получается сломать, одновременно в нескольких вкладках запустил видео в YouTube, обновляя все страницы подряд.

lufog avatar May 02 '24 00:05 lufog

А если убрать эту строку? https://github.com/hufrea/byedpi/blob/main/desync.c#L323

hufrea avatar May 02 '24 01:05 hufrea

@hufrea закомментировал:

https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/desync.c#L323-L325

Не помогло, с первой же перезагрузки страницы программа упала.

lufog avatar May 02 '24 01:05 lufog

А если следующую за ней? https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/desync.c#L326

hufrea avatar May 02 '24 01:05 hufrea

@hufrea, все равно падает.

lufog avatar May 02 '24 09:05 lufog

Какая версия ОС?

hufrea avatar May 02 '24 14:05 hufrea

Edition: Windows 11 Pro Version: 23H2 Build: 22631.3447

lufog avatar May 02 '24 14:05 lufog

А бинарник версии 0.10 из релиза тоже падает?

hufrea avatar May 02 '24 14:05 hufrea

Видимо собираемый мной ciadpi у меня всегда падал. Просто раньше он был настроен только на работу когда сайт был недоступен без обхода (работал редко). А сейчас работает всегда, и практически всегда падает на YouTube.

Возможно проблем в используемом мной компиляторе, и стоит попробовать threading library WIN32 вместо POSIX, или runtime library MSVCRT вместо UCRT. Можете поделиться бинарником под windows с последними коммитами, может он у меня не будет падать?..


Официальные бинарники тоже падают.

lufog avatar May 02 '24 15:05 lufog

А бинарник версии 0.10 из релиза тоже падает?

Да с --disorder 1 --fake -1 --ttl 3 --debug 2 также почти сразу падает.

Как и 0.8.1, 0.8, 0.7.

lufog avatar May 02 '24 15:05 lufog

Я сейчас на всякий случай перезагрузился, и вместо привычного хрома (со своими 20+ вкладками), открыл Firefox с одной страницей YouTube, ciadpi также сразу вылетел. Без --debug 2, заставить ciadpi вылететь гораздо сложней.

Настрою все как было, чтобы через ciadpi минимум трафика шло, и буду разбираться может получиться какой-нибудь address sanitizer прикрутить, который покажет из-за чего программа в сегфолт падает.

lufog avatar May 02 '24 15:05 lufog

Хорошо. Я пока поставлю вашу сборку и попробую воспроизвести проблему. Падает ведь только с фейком?

hufrea avatar May 02 '24 16:05 hufrea

Запускаю со следующими аргументами: --disorder 1 --fake -1 --ttl 3 --debug 2

Открываю YouTube. Может вылететь не с первого раза, тогда перезагружаю вкладку, или открываю несколько видео в новых вкладках.

lufog avatar May 02 '24 16:05 lufog

Только что проверил без --disorder 1, тоже падает. Так что да, только с фейком.

lufog avatar May 02 '24 16:05 lufog

Не знаю насколько полезно, выхлоп: clang -std=c99 -O1 -g -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls -D_XOPEN_SOURCE=500 ...

ciadpi.exe --fake -1 --ttl 3 --debug 2
new event: fd: 300, evt: EV_ACCEPT
new event: fd: 300, evt: EV_ACCEPT
new event: fd: 316, evt: EV_REQUEST
=================================================================
==6968==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x12417f6a0020 at pc 0x7ff7b32438ff bp 0x00536b2fef20 sp 0x00536b2fef68
READ of size 1 at 0x12417f6a0020 thread T0
    #0 0x7ff7b32438fe in ext_connect E:/Programming/cr-pl.programs/byedpi/extend.c:93:13
    #1 0x7ff7b32438fe in connect_hook E:/Programming/cr-pl.programs/byedpi/extend.c:120:12
    #2 0x7ff7b323cd21 in on_request E:/Programming/cr-pl.programs/byedpi/proxy.c:732:17
    #3 0x7ff7b323cd21 in event_loop E:/Programming/cr-pl.programs/byedpi/proxy.c:824:25
    #4 0x7ff7b323d8c1 in run E:/Programming/cr-pl.programs/byedpi/proxy.c:912:12
    #5 0x7ff7b32371ac in main E:/Programming/cr-pl.programs/byedpi/main.c:853:18
    #6 0x7ff7b3231310 in __tmainCRTStartup /home/runner/work/llvm-mingw/llvm-mingw/mingw-w64/mingw-w64-crt/build-x86_64/../crt/crtexe.c:267:15
    #7 0x7ff7b3231365 in .l_start /home/runner/work/llvm-mingw/llvm-mingw/mingw-w64/mingw-w64-crt/build-x86_64/../crt/crtexe.c:188:9
    #8 0x7ffa6187257c  (C:\WINDOWS\System32\KERNEL32.DLL+0x18001257c)
    #9 0x7ffa6340aa47  (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18005aa47)

0x12417f6a0020 is located 32 bytes before 144-byte region [0x12417f6a0040,0x12417f6a00d0)
allocated by thread T0 here:
    #0 0x7ffa188751a6 in realloc /home/runner/work/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_malloc_win.cpp:135:3
    #1 0x7ff7b32355a8 in add E:/Programming/cr-pl.programs/byedpi/main.c:381:15
    #2 0x7ff7b32355a8 in main E:/Programming/cr-pl.programs/byedpi/main.c:474:32
    #3 0x7ff7b3231310 in __tmainCRTStartup /home/runner/work/llvm-mingw/llvm-mingw/mingw-w64/mingw-w64-crt/build-x86_64/../crt/crtexe.c:267:15
    #4 0x7ff7b3231365 in .l_start /home/runner/work/llvm-mingw/llvm-mingw/mingw-w64/mingw-w64-crt/build-x86_64/../crt/crtexe.c:188:9
    #5 0x7ffa6187257c  (C:\WINDOWS\System32\KERNEL32.DLL+0x18001257c)
    #6 0x7ffa6340aa47  (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18005aa47)

SUMMARY: AddressSanitizer: heap-buffer-overflow E:/Programming/cr-pl.programs/byedpi/extend.c:93:13 in ext_connect
Shadow bytes around the buggy address:
  0x12417f69fd80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x12417f69fe00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x12417f69fe80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x12417f69ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x12417f69ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x12417f6a0000: fa fa fa fa[fa]fa fa fa 00 00 00 00 00 00 00 00
  0x12417f6a0080: 00 00 00 00 00 00 00 00 00 00 fa fa fa fa fa fa
  0x12417f6a0100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x12417f6a0180: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x12417f6a0200: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x12417f6a0280: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==6968==ABORTING

lufog avatar May 02 '24 17:05 lufog

Добавьте после этой строчки: https://github.com/hufrea/byedpi/blob/main/extend.c#L109 m = val->attempt;

hufrea avatar May 02 '24 17:05 hufrea

Добавьте после этой строчки: https://github.com/hufrea/byedpi/blob/main/extend.c#L109 m = val->attempt;

вылетает, но asan перестал жаловаться.

lufog avatar May 02 '24 17:05 lufog

Сейчас прям очень сложно было заставить его упасть, вкладок 20 на открывал, упал с:

=================================================================
==12672==ERROR: AddressSanitizer: access-violation on unknown address 0x000000000000 (pc 0x7ff7b9ebdb71 bp 0x0020bb1def00 sp 0x0020bb1deea0 T0)
==12672==The signal is caused by a WRITE memory access.
==12672==Hint: address points to the zero page.
    #0 0x7ff7b9ebdb70 in fprintf D:/Program Files/Development/LLVM-MinGW/include/stdio.h:375:1
    #1 0x7ff7b9ebf4b5 in desync E:/Programming/cr-pl.programs/byedpi/desync.c:523:9
    #2 0x7ff7b9ec5f94 in on_desync E:/Programming/cr-pl.programs/byedpi/extend.c:345:18
    #3 0x7ff7b9ebc724 in event_loop E:/Programming/cr-pl.programs/byedpi/proxy.c:851:21
    #4 0x7ff7b9ebd8c1 in run E:/Programming/cr-pl.programs/byedpi/proxy.c:912:12
    #5 0x7ff7b9eb71ac in main E:/Programming/cr-pl.programs/byedpi/main.c:853:18
    #6 0x7ff7b9eb1310 in __tmainCRTStartup /home/runner/work/llvm-mingw/llvm-mingw/mingw-w64/mingw-w64-crt/build-x86_64/../crt/crtexe.c:267:15 
    #7 0x7ff7b9eb1365 in .l_start /home/runner/work/llvm-mingw/llvm-mingw/mingw-w64/mingw-w64-crt/build-x86_64/../crt/crtexe.c:188:9
    #8 0x7ffa6187257c  (C:\WINDOWS\System32\KERNEL32.DLL+0x18001257c)
    #9 0x7ffa6340aa47  (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18005aa47)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: access-violation D:/Program Files/Development/LLVM-MinGW/include/stdio.h:375:1 in fprintf
==12672==ABORTING

lufog avatar May 02 '24 17:05 lufog

~~Возможно, я нашел причину падений.~~ https://github.com/hufrea/byedpi/commit/74e90e956844dfe5f2225762b1b47f205efa1b7a

hufrea avatar May 03 '24 09:05 hufrea

Сейчас у меня программа если и падает, то всегда на LOG или uniperror ((e)poll: 10022), то есть по сути на fprintf(stderr, ...). В гугле куча результатов по запросу fprintf to stderr cause segmentation fault. Буду пытаться вникать...

lufog avatar May 03 '24 19:05 lufog

Похоже, теперь исправил https://github.com/hufrea/byedpi/commit/0f67d56be4dc7efcb0afedb32a9788fe44f8518f

hufrea avatar May 04 '24 16:05 hufrea

Подтянул все коммиты, собрал, да, стало гораздо лучше. Cломать программу открытием/обновлением 30+ страниц YouTube, у меня уже не получается.

lufog avatar May 05 '24 13:05 lufog