Program crashing with segmentation fault
На 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 мне так и не удалось нормально настроить. Самое адекватное, что я из него вытащил, с третьего раза (не уверен насколько это полезно):
Запускаю с аргументами:
--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)
Вы можете использовать параметр --debug 2
@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
Не могу воспроизвести. Вряд-ли причина в последних коммитах, изменения почти не затрагивают работу прокси. Измените строчку на:
LOG(LOG_L, "new event: fd: %d, type: %d, evt: %s\n", val->fd, val->type, eid_name[val->type]);
Да, я уже ушагал по коммитам далеко, а все равно отладчику что-то да не нравится... Видимо он параноит аварийно завершая программу в тех случаях, когда без него она бы работала.
На 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
Сейчас ругается на (ссылку руками правил чтобы не лезть на другую страницу): https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/conev.c#L172
Я не понимаю, падает рандомно, когда обновляю страницу YouTube. :/
Попробую собрать без -g --debug и запустить без отладчика.
Все равно вылетает:
Лог
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 вылетает не так быстро.
А если не использовать --fake?
@hufrea запустил с .\ciadpi.exe --hosts white_list.txt --auto=none --disorder 1 --debug 2 пока не падает.
Да, не получается сломать, одновременно в нескольких вкладках запустил видео в YouTube, обновляя все страницы подряд.
А если убрать эту строку? https://github.com/hufrea/byedpi/blob/main/desync.c#L323
@hufrea закомментировал:
https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/desync.c#L323-L325
Не помогло, с первой же перезагрузки страницы программа упала.
А если следующую за ней? https://github.com/hufrea/byedpi/blob/11596789e9e6edfbab4d8f9f41ea5a73c80b2fa9/desync.c#L326
@hufrea, все равно падает.
Какая версия ОС?
Edition: Windows 11 Pro Version: 23H2 Build: 22631.3447
А бинарник версии 0.10 из релиза тоже падает?
Видимо собираемый мной ciadpi у меня всегда падал. Просто раньше он был настроен только на работу когда сайт был недоступен без обхода (работал редко). А сейчас работает всегда, и практически всегда падает на YouTube.
Возможно проблем в используемом мной компиляторе, и стоит попробовать threading library WIN32 вместо POSIX, или runtime library MSVCRT вместо UCRT. Можете поделиться бинарником под windows с последними коммитами, может он у меня не будет падать?..
Официальные бинарники тоже падают.
А бинарник версии 0.10 из релиза тоже падает?
Да с --disorder 1 --fake -1 --ttl 3 --debug 2 также почти сразу падает.
Как и 0.8.1, 0.8, 0.7.
Я сейчас на всякий случай перезагрузился, и вместо привычного хрома (со своими 20+ вкладками), открыл Firefox с одной страницей YouTube, ciadpi также сразу вылетел. Без --debug 2, заставить ciadpi вылететь гораздо сложней.
Настрою все как было, чтобы через ciadpi минимум трафика шло, и буду разбираться может получиться какой-нибудь address sanitizer прикрутить, который покажет из-за чего программа в сегфолт падает.
Хорошо. Я пока поставлю вашу сборку и попробую воспроизвести проблему. Падает ведь только с фейком?
Запускаю со следующими аргументами: --disorder 1 --fake -1 --ttl 3 --debug 2
Открываю YouTube. Может вылететь не с первого раза, тогда перезагружаю вкладку, или открываю несколько видео в новых вкладках.
Только что проверил без --disorder 1, тоже падает. Так что да, только с фейком.
Не знаю насколько полезно, выхлоп:
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
Добавьте после этой строчки:
https://github.com/hufrea/byedpi/blob/main/extend.c#L109
m = val->attempt;
Добавьте после этой строчки: https://github.com/hufrea/byedpi/blob/main/extend.c#L109
m = val->attempt;
вылетает, но asan перестал жаловаться.
Сейчас прям очень сложно было заставить его упасть, вкладок 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
~~Возможно, я нашел причину падений.~~ https://github.com/hufrea/byedpi/commit/74e90e956844dfe5f2225762b1b47f205efa1b7a
Сейчас у меня программа если и падает, то всегда на LOG или uniperror ((e)poll: 10022), то есть по сути на fprintf(stderr, ...). В гугле куча результатов по запросу fprintf to stderr cause segmentation fault. Буду пытаться вникать...
Похоже, теперь исправил https://github.com/hufrea/byedpi/commit/0f67d56be4dc7efcb0afedb32a9788fe44f8518f
Подтянул все коммиты, собрал, да, стало гораздо лучше. Cломать программу открытием/обновлением 30+ страниц YouTube, у меня уже не получается.