mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-10-15 13:52:15 +00:00
[GH-ISSUE #3048] [Windows][Regression] AmneziaWG 2.0 fails to connect on 5.0.1.5: wsasendmsg/wsarecvmsg invalid pointer error #1404
Open
opened 2026-10-13 20:41:47 +00:00 by bsakaguchi
·
1 comment
No Branch/Tag specified
dev
feat/api-tests
feat/otp-login
fix/show-locked-xray-settings-page-for-servers-without-write-access
fix/serialize-log-record-writes-and-pin-log-date-format-locale
fix/libagw-review-fixes
fix/ios-xray-ipv6-leak
fix/macos-xray-ipv6-leak
feat/add-support-include-split-tunnel
fix/win-xray-app-split-tunneling
fix/bug-when-saving-after-canceling
fix/xray-reconnect-crash
fix/share-empty-config-on-ssh-timeout
fix/ssh-credentials-input
fix/updater-verify-signature
fix/async-ssh-threading
fix/xray-check-inet-and-liveness-monitor
fix/selfhosted-server-installations
feat/add-support-ikev2-macos
fix/icons-different-color-themes
feat/add_support_arm_windows
feat/add-deep-link
feat/fixed-push-notifications-on-VPN-connect-disconnect-2
feat/implement-QR-code-generation-and-scanning
feat/file-password-protection
feature/add-local-proxy
feat/add-support-split-tunnel-macos
feat/tests
fix/android-register-unacknowledged-purchase
fix/share_on_linux
mirroring-to-outside
feat_copy_docker_configs
feat/self-diagnostics-log
feat/amnezia-free-vless-switch
fix/conan_build_android_on_win
fix/linux-reconnect-dns-reliability
fix/windows-connection-stability
fix/linux-reconnect-refactoring
fix/ios-groupidentifier-order
feat/xray-subscription-link
fix/minor-fixes
fix/xray-config-inplace-edit
feat/amnezia-sdk-typed-api
feat/amnezia-sdk-integration
feat/force-update-native
refactor/marketplace-update-popup
feat/force-update
fix/valnurability_dev
chore-xcode-version
fix/empty-i1-i5
build_qt_6_10_1
master
feat/protocol-selection
fix/openvpn_install
feat/locations_change
feat/locations_change_rework
feature/local-proxy-integration
fix/filepicker_atv
fix_valnurability
fix/macos-ne-codesign-4.8.19.0
temp-branch-for-testing
fix/rebased_4_8_19_linux_fix_error
feat/proxy-storage-cache
fix/zeroed-params
fix/killswitch-blocknets-linux
update/translation_RU
fix/self_hosted_reinstall_error
feat/selfhosted-dns
fix/agp_version_up
feat/switch_to_alive_protocol
feat/support_multipeer
server_scripts_update
fix/extended-vless-configuration
chore/apple-ci-cd-macos-versions
feat/add-telemt
fix/android_keystore_read_error
feat/add-mtproxy
chore/bump-qt-version
fix/make_dbus_async
feature/dns
rebase/apple-tv-target-on-conan
fix/outbound_freedom_xray_with_dns_fix
feat/apk_support
feat/fallback-proxy
feat/apple-tv-target
fix/dns_reconnection_issue
feat/fixed-push-notifications-on-VPN-connect-disconnect
fix/linux-firewall
docker-regional-locks
appstore-review-popup
feat/storekit2
fix/uninstall-split-tunnelling-driver
revert-2376-chore/license-file
support_16kb_android
bump_version
feat_add_review_android
bugfix/translation-absence-on-subscription-key-page
feat/location-separation-by-region
bugfix/text-moving-when-resing-window
fix_backup
feature/add-purchase-android
bugfix/moved-text-while-resizing-window
bugfix/incorrect-killswitch-restore-from-backup
fix/backup-exclude-secondary-api-configs
feat/proxy-fields-for-dev-console
bugfix/ovpn-ios-fix
bugfix/linux-bundle-libraries
fix/xray-app-split-win
fix/upload-to-s3
chore/add-release-date-upload
feat_add_webview_support
feature/configuration-transfer-through-qr
feat/bot-key-unlink-device
fix/ad-link-lang-support
fix/qsecuresettings-with-android
feat/add-support-arm64-win
spanish-translations
fix/context-menu
feat/add-system-dns-support
fix/qt6-9-support
fix/qt6_9_support
bugfix/strict-killswitch-ui
android-7
chore/minor-bugfixes
feature/awg-net-fix-macos-wakeup
fixbug/ios18
bugfix/ios-ne-crash
fix/linux-tray-quit-button
cryptpad-support
bugfix/disable-linux-killswitch
fix/minor-ui-fixes
feature/setup-guid-tun2socks
feature/linux-ipsec
feature/ipsec-linux
refactoring/server-config-in-classes
feature/macos-ipsec
fix/ui-fixes-after-merge-with-d20ed4a
chore/focus_control_after_qt_6.9_migration
feature/integrate-xray-as-a-library
maxos-awg-fix
feature/add-new-awg-docker-image
chore/update-3rd-prebuild
feature/test-news
fix/api-conf-files
bugfix/split-tunneling-with-api-config
bugfix/ios-awg-new-fields
feature/special-handshake-2
feat/xray-api-support
fix/desktop-entry
bugfix/shadowsocks-cipher-setting-not-changing
feature/update-tap
bugfix/openvpn_import_fix
feature/ability-to-change-port-after-installing-xray
bugfix/strict-mode-ovpn
bugfix/win-ipv6-ovpn
bugfix/subnet-adress-setting
exception-podman-docker
bugfix/fix-listviewtype-scrolling
bugfix/win-disabled-ipv6
bugfix/win-ipv6-disabled-ovpn
feature/killswitch-strict-mode
feature/awg-network-check
feature/empty-split-tunneling-list
feature/support-info
chore/update-go-version
checking-Linux-version
update_server_scripts
bugfix/button-selection-easy-setup-page
feature/old-api-proxy
patch/user-checking
fix/correcting-version
support-podman
support_podman
user-checking-patch
feature/check-docker-version
feature/allowed-dns-list
without_lsof
chore/error-body
Update-amneziavpn_ru_RU
shiroow-patch-8
shiroow-patch-7
shiroow-patch-6
shiroow-patch-5
shiroow-patch-4
shiroow-patch-3
shiroow-patch-2
shiroow-patch-1
check_sudo_permissions
feature/euphoria
add_next_octet_to_ip_settings
bugfix/mobile-controllers-init
euphoria
bugfix/android-crush
feature/macox-network-extension
bugfix/pre-release-hotfixes
bugfix/ipsec-pfs
chore/ios-site-links
checking_sudo_permissions
feature/android-tv
improve_navigation_cpp
bugfix/linux-firewall-install
fixbug/wireguard-handshake-time
ReadmeRu_full
feature/xray-user-management
feature/subscription-end-date
chore/clang-format
feature/ru-in-readme
chore/increased-api-timeout
chore/deploy-workflow
bugfix/services-list-scroll
wheel_group_suppor
chore/bump-xcode-version
fixbug/mac-network-extension
feature/android-gpb
feature/page-home-drawer-country-selection
checking-sudo-users
bugfix/service-info-from-response
fixbug/build-macos-ne-2
android-qt-6.7.3
fixbug/build-macos-ne
bugfix/wg-windows-log-folder
feature/psk-key-api-request
bugfix/user-management-qml-warnings
fix/macos-network-extension
fixbug/macos-NE-build
bugfix/fixed-isDevEnv-initialization
bugfix/revert-ios-ovpn
feature/tun2socksSrv
fix/disable_singleapp
feature/awg-wg-name-resolving
feature/disable-dhcp
bugfix/allowed-ips-old-configs
feature/goodbyedpi
feature/add-exception-log
refactoring/remove-ipv6-from-default-routes
refactoring/singleapplication-submodule
macos-dirty-build
test/gateway
Update-amneziavpn_fa_IR.ts
bugfix/ipsec-win
fix/xray-custom-port
improve-tab-navigation
test-win-11
feature/android-tv-remote-control-support
KsZnak-patch-1
feature/awg-wg-qr
bugfix/fix-loopback-splittunel
fix/setup_host_firewall
feature/android-xray
feature/openvpn-pass
feature/connection-string
fix/clickable-errors
bugfix/api_1100_fix
feature/graphview
testsvg
feature/update-win-awg
feature/open-as-amnezia
feature/update-mozilla-upstream
bugfix/qr-code-cutting
feature/native-wg-psk
test/awg-centos
bugfix/hide_error
feature/add-uninstaller-checkbox
bugfix/cancel-button-on-install-page
bugfix/anchors-page-home-warning
awg-udptlspipe
button-focus-fix
revert-677-fix/logger
bugfix/Revert_PR_596
bugfix/allowed-ips-api-configs
bugfix/on-escape-pressed
feature/auto-scroll-for-server-selection-list
fix/ui-fixes
translations/update_fa_IR.ts
feature/new-awg-docker-container
bugfix/awg_ipv6_fix
feature/tab-navigation
fix/username-no-autocapitalization
sure
refactoring/servers-model-cleanup
feature/wg-mtu-setup-ios
3rd_adaptation_to_diff_OS
sudo_not_found
test/docker-ce
bugfix/double_clear_server_from_amnezia
fix/android
client/3rd-prebuilt
revert-559-KsZnak-translation-ru-ex
KsZnak-translation-ru-ex
KsZnak-br1
KsZnak-text-change
feature/api-awg
feature/error-code-output
feature/win_x32_builds
text/debug-output
feature/ovpn3-desktop-cli
bugfix/secureqsettings-deadlock
refactoring/change-settings-when-connected
files_check
ArchLinux-support
second_adaptation_to_diff_os
sudo
refactoring/android-build
adaptation_to_different_os
feature/online_installer_for_v4
update_to_r2
bugfix/return-after-installation
feature/custom_drawer_component
bugfix/split-tunneling
bugfix/existing-awg-container
revert-370-feature/custom_drawer_component
bugfix/adapted_awg_questiondrawer
bugfix/updated_drawer_height_pageserverdata
bugfix/translated_new_source_strings_to_chinese
feature/split-tunneling-config
feature/accessibility-support
branch_connectivity_change_fix
feature/ikev2_android
android_ss_transport
bugfix/macos_fixes
feature/nextcloud-support
feature/macos_network_extension
android_pt_transport_source
feature/ios-openvpn3-pluggable-transport-Cloak
bugfix/cloak_for_desktops_fix
arm-build-macos
fix-macos-build-brew
bugfix/ios-build-openvpnadapter-from-source
feature/download-native-wireguard-config-on-connect
feature/v2ray-container
bugfix/dpkg-busy-checking-stuck
feature/online-installer
dev-killswitch
dev-netadapters
5.0.3.0
5.0.2.1
5.0.2.0
5.0.1.5
5.0.0.5
5.0.0.2
4.8.21.0
4.8.19.0
4.8.18.0
4.8.17.0
4.8.16.0
4.8.15.4
4.8.15.0
4.8.14.5
4.8.14.1
4.8.12.9
4.8.12.8
4.8.12.7
4.8.12.6
4.8.11.4
4.8.11.3
4.8.11.2
4.8.11.1
4.8.11.0
4.8.10.0
4.8.9.2
4.8.9.1
4.8.9.0
4.8.8.3
4.8.8.2
4.8.8.1
4.8.7.2
4.8.7.1
4.8.7.0
4.8.6.0
4.8.5.0
4.8.4.5
4.8.4.4
4.8.4.3
4.8.4.2
4.8.4.1
4.8.4.0
4.8.3.2
4.8.3.1
4.8.2.3
4.8.1.9
4.8.1.0
4.8.0.5
4.7.0.0
4.6.0.3
4.6.0.1
4.5.3.0
4.5.0.0
4.4.0.0
4.3.0.0
4.2.1.0
4.2.0.1
4.1.2.0_cloak_pt_experimental
4.1.0.1
4.0.8
3.1.0
3.0.8
3.0.7
3.0.5
2.1.2
2.1.0
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.1
2.0
1.9.1
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1.0
No labels
pull-request
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
amnezia-vpn/amnezia-client#1404
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rudenko-ks on GitHub (Aug 25, 2026).
Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/3048
Describe the bug
После обновления клиента AmneziaVPN на Windows с 4.8.21.0 до 5.0.1.5 ни одно из ранее рабочих подключений (self-hosted AmneziaWG, сервер на протоколе AmneziaWG 2.0) больше не устанавливается: приложение зависает в статусе «Подключение…» и само разрывает соединение примерно через 28 секунд. Откат на 4.8.21.0 на том же ПК с тем же конфигом сразу восстанавливает работу.
To Reproduce
H1–H4иHeaderProtectionKey)Expected behavior
Handshake завершается за 1–2 секунды, как в 4.8.21.0.
Desktop
7d4f3e0f572ee32af1WireGuard/0.3.15,Wintun/0.14— одинаковы в обеих версияхLog files
Прикладываю оба лог-файла целиком (клиентский
AmneziaVPN.logи сервисныйAmneziaVPN-service.log) для рабочего (v4.8.21.0) и нерабочего (v5.0.1.5) подключений — по ним видна полная последовательность.Ключевой фрагмент service-лога 5.0.1.5, сразу после поднятия интерфейса:
Оба recv-воркера (v4 и v6) падают сразу после старта. Далее каждая попытка отправить handshake initiation проваливается той же ошибкой (повторяется каждые ~5 сек: retry 2, 3, 4, 5…):
В логе 4.8.21.0 recv v4/v6-воркеры стартуют и остаются активными без единой ошибки, handshake завершается за ~150 мс.
Additional context
Сравнил оба service-лога построчно. Строка
Registered I/O is unavailable: ...invalid pointer address...присутствует в обеих версиях идентично и, судя по всему, не является проблемой сама по себе — это ожидаемый триггер fallback'а на обычные (не-RIO) сокеты. Единственное структурное отличие в последовательности поднятия интерфейса — 4 новых вызова UAPI в 5.0.1.5, которых нет в 4.8.21.0:Это параметры Header Protection из AmneziaWG 2.0 (ranged-заголовки H1–H4 + ChaCha20 HeaderProtectionKey). Все остальные шаги (воркеры, правила firewall, маршруты, тот самый RIO-фолбэк) идентичны в обеих версиях и после фолбэка ни разу не ошибаются в 4.8.21.0.
Судя по блог-посту о 5.0.1.5, клиент перешёл на движок AmneziaWG 3.1, а self-hosted-серверы на AmneziaWG 2.0 (как в моём случае) поддерживаются как legacy через загруженный конфиг. Похоже, что именно код, который в Windows-реализации tunnel.dll собирает буфер/указатель для
WSARecvMsg/WSASendMsgпри активныхH1–H4/HeaderProtectionKey, формирует некорректный указатель — из-за этого рвётся и приём, и отправка UDP одновременно, и handshake физически не может уйти на сервер. В 4.8.21.0 этого кода пути ещё нет, поэтому там всё работает.AmneziaVPN.log
AmneziaVPN-service.log
@rudenko-ks commented on GitHub (Sep 11, 2026):
Trigger identified: AdGuard's SockFilter network driver — but 4.8.21.0 survives it and 5.0.1.5 does not
I have found what triggers this, and I can now reproduce it on demand in both directions. The short
version: an external socket-level filtering driver breaks the Winsock calls, but only 5.0.1.5 is
affected — 4.8.21.0 keeps working under exactly the same driver. So there is still something on the
AmneziaVPN side worth looking at.
The external trigger
AdGuard for Windows can filter through one of several network drivers. Since driver pack
8.0.80.0it ships a socket-level one, SockFilter (
adgnetworksockdrv.sys), which intercepts Winsock callsin user mode. With it active, every message-based socket call from the AmneziaVPN service fails with
WSAEFAULT(10014):WSAIoctl(SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER)for Registered I/O→
Registered I/O is unavailable: The system detected an invalid pointer address...WSARecvMsg→ bothreceive incoming v4andreceive incoming v6fail on the first call andthe routines stop immediately, so the tunnel can never receive anything
WSASendMsg→Failed to send handshake initiationEverything before the socket layer is fine — the Wintun adapter is created, the interface goes up,
UAPI configuration succeeds, the peer is loaded. Then nothing moves in either direction, and the UI
sits at "connecting" until it times out.
Test matrix
Same machine, one variable changed at a time:
Two independent conclusions fall out of this:
Row 7 — with the WFP driver, AdGuard actively filters both the client and its LocalSystem service,
no exclusions at all, and 5.0.1.5 connects and works normally. So this is not about VPN traffic being
filtered; it is specific to the SockFilter driver. I have reported that side to AdGuard separately.
Row 4 — and this is the part that concerns this repository: under the same SockFilter driver,
4.8.21.0 connects and works. Whatever 4.8.21.0 does at the socket layer, SockFilter handles it;
whatever 5.0.1.5 does, it does not. This is reproducible — I can switch between the two states
deliberately.
Where I think the difference is — and how to confirm it
I no longer think my original header-protection theory is the right lead. Those UAPI calls
(
Updating h1..h4 padding,Updating header protection key) all complete successfully, and thefailures happen afterwards, at socket setup, before a single packet is sent. The receive routines
die on their very first call.
A more promising lead is the line that appears at the top of every failing log:
5.0.1.5 probes for the Registered I/O extension and then uses the
WSASendMsg/WSARecvMsgpath.If 4.8.21.0 uses a plainer socket API (no RIO probe, no message-based calls), that alone would
explain why the interception layer breaks one and not the other.
Two things would settle it quickly, and I am happy to provide both:
Registered I/O is unavailableline and nowsarecvmsgerrors, the two builds are demonstrablyusing different socket paths. Say the word and I will capture it.
tunnel.dllbetween the two installs. I said earlier that the versionslook identical — but
tunnel.dllcarries no version resource at all in either build, so "identicalversion" only means "both show nothing". Comparing SHA-256 would actually answer whether the
bundled amneziawg-go differs.
Workaround for anyone hitting this now
AdGuard → Settings → switch the network driver from SockFilter to WFP, then reboot.
You do not need to disable AdGuard and you do not need exclusions — filtering keeps working fully.
Staying on 4.8.21.0 also works, but the driver switch lets you stay on 5.0.1.5.
To check which driver is active:
adgnetworksockdrv.sys= affected,adgnetworkwfpdrv.sys= fine. Note that the switch to SockFilterhappens silently during an AdGuard upgrade, so this can hit users who changed nothing themselves.
Other socket-level interceptors (Proxifier, NetFilterSDK-based tools, some endpoint security agents)
can produce the identical
WSAEFAULTsignature, so AdGuard is an example rather than the onlypossible trigger.
One usability point regardless of whose bug it is
The receive routines die on the first call and the failure is only visible in the service log; the UI
just spins. If the Windows backend detected
WSAEFAULTfrom the bind/receive path and surfacedsomething like "the socket API is being intercepted by another program — check for a filtering or
proxy driver", it would have saved me a day of digging and would likely cut down similar reports
here — especially since 4.8.21.0 keeps working, which makes it look like a plain AmneziaVPN
regression to the user.