Fwd: I want to report an issue I found with your example (send ring buffer get corrupted)

Oded Katz <[email protected]> Wed, 4 Feb 2026 10:19:17 -0800
Newsgroups com.zx2c4.lists.wireguard
Message-ID <CAApnxP1yjyM0ZjtHXHf8WHrsc0XtwbuwMfeSYPnZm_q19R26mA@mail.gmail.com>
--000000000000cd71b0064a03983a
Content-Type: text/plain; charset="UTF-8"

Hi,

I'm reposting this one as I didn't get any response.

We were trying to integrate `wintun` into our product and while
testing we found an issue with upload of high UDP throughput on
multiple sockets. initially we thought it may be related to our
integration. but we managed to find the same issue in your example
code.we tried to do some debugging on the example, but it seems like
the corruption is on the driver side.
the way to reproduce this issue- run the example
- run the `send_udp.py` (the attached python script) on 2 different
command terminals
   - `send_udp.py 10.6.7.8 5201 1450`
   - `send_udp.py 10.6.7.8 5201 1400`after some time the
`WintunReceivePacket` returns NULL and `GetLastError()` return 13
(`ERROR_INVALID_DATA`)
many thanks,
and I hope you can help us.
btw: in the meantime, I'll try to see if I can contribute myself with a fix
Oded

--000000000000cd71b0064a03983a
Content-Type: text/x-python; charset="US-ASCII"; name="send_udp.py"
Content-Disposition: attachment; filename="send_udp.py"
Content-Transfer-Encoding: base64
Content-ID: <f_mkra4mcw0>
X-Attachment-Id: f_mkra4mcw0

IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMw0KDQoiIiINCkEgUHl0aG9uIHNjcmlwdCB0byBzZW5kIGEg
Y29udGludW91cyBzdHJlYW0gb2YgVURQIHBhY2tldHMgdG8gYSBzcGVjaWZpZWQNCmhvc3QgYW5k
IHBvcnQuDQoNCkl0IHByaW50cyB0aGUgbnVtYmVyIG9mIHBhY2tldHMgc2VudCBldmVyeSBzZWNv
bmQuDQoNClRoZSBmaXJzdCA0IGJ5dGVzIG9mIHRoZSBwYXlsb2FkIGNvbnRhaW4gYSBwYWNrZXQg
Y291bnRlciAobGl0dGxlLWVuZGlhbikuDQpUaGUgcmVtYWluaW5nIDYwIGJ5dGVzIGFyZSBmaWxs
ZWQgd2l0aCB0aGUgY2hhcmFjdGVyICdhJy4NCg0KVXNhZ2U6DQogICAgcHl0aG9uIHNlbmRfdWRw
X2Zsb29kLnB5IDxhZGRyZXNzPiA8cG9ydD4NCg0KRXhhbXBsZToNCiAgICBweXRob24gc2VuZF91
ZHBfZmxvb2QucHkgMTI3LjAuMC4xIDgwODANCiIiIg0KDQppbXBvcnQgc29ja2V0DQppbXBvcnQg
YXJncGFyc2UNCmltcG9ydCBzeXMNCmltcG9ydCB0aW1lDQoNCmRlZiBtYWluKCk6DQogICAgIyAt
LS0gMS4gU2V0IHVwIHRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnQgcGFyc2VyIC0tLQ0KICAgIHBh
cnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKA0KICAgICAgICBkZXNjcmlwdGlvbj0iU2Vu
ZCBhIGNvbnRpbnVvdXMgVURQIHBhY2tldCBzdHJlYW0uIiwNCiAgICAgICAgZm9ybWF0dGVyX2Ns
YXNzPWFyZ3BhcnNlLlJhd0Rlc2NyaXB0aW9uSGVscEZvcm1hdHRlciwNCiAgICAgICAgZXBpbG9n
PSJFeGFtcGxlOlxuICBweXRob24gc2VuZF91ZHBfZmxvb2QucHkgMTI3LjAuMC4xIDgwODAiDQog
ICAgKQ0KICAgIA0KICAgIHBhcnNlci5hZGRfYXJndW1lbnQoImFkZHJlc3MiLCANCiAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9IlRoZSBkZXN0aW5hdGlvbiBJUCBhZGRyZXNzIG9yIGhvc3Ru
YW1lIChlLmcuLCAxMjcuMC4wLjEpIikNCiAgICANCiAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCJw
b3J0IiwgDQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPWludCwgDQogICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJUaGUgZGVzdGluYXRpb24gcG9ydCAoZS5nLiwgODA4MCkiKQ0KDQog
ICAgcGFyc2VyLmFkZF9hcmd1bWVudCgibGVuIiwgDQogICAgICAgICAgICAgICAgICAgICAgICB0
eXBlPWludCwgDQogICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGUgcGFkZGluZyBsZW4g
KGUuZy4sIDYwLTEzNTApIikNCiAgICANCiAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQ0K
DQogICAgIyAtLS0gMi4gQ3JlYXRlIHRoZSBwYWNrZXQgZGF0YSAocGFkZGluZykgLS0tDQogICAg
IyBXZSBjcmVhdGUgdGhlIDYwLWJ5dGUgcGFkZGluZyBvbmNlLCBhcyBpdCBuZXZlciBjaGFuZ2Vz
Lg0KICAgIHBheWxvYWRfcGFkZGluZyA9IChiJ2EnICogYXJncy5sZW4pDQogICAgZGVzdGluYXRp
b24gPSAoYXJncy5hZGRyZXNzLCBhcmdzLnBvcnQpDQogICAgDQogICAgcHJpbnQoZiJUYXJnZXQ6
ICAgICB7YXJncy5hZGRyZXNzfTp7YXJncy5wb3J0fSIpDQogICAgcHJpbnQoZiJQYXlsb2FkOiAg
ICB7YXJncy5sZW4gKyA0fSBieXRlcyAoNC1ieXRlIGNvdW50ZXIgKyB7YXJncy5sZW59ICdhJ3Mp
IikNCiAgICBwcmludCgiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIikNCiAgICAN
CiAgICAjIA0KICAgIHByaW50KGYiU3RhcnRpbmcgY29udGludW91cyBzZW5kLiBQcmVzcyBDdHJs
K0MgdG8gc3RvcC4iKQ0KDQogICAgIyBTdGF0aXN0aWNzIGNvdW50ZXJzDQogICAgcGFja2V0c19p
bl9pbnRlcnZhbCA9IDANCiAgICB0b3RhbF9wYWNrZXRzX3NlbnQgPSAwICMgVGhpcyB3aWxsIGJl
IG91ciBwYWNrZXQgY291bnRlcg0KICAgIA0KICAgICMgVXNlIHRpbWUubW9ub3RvbmljKCkgZm9y
IHN0YWJsZSB0aW1lIGludGVydmFsIG1lYXN1cmVtZW50cw0KICAgIHN0YXJ0X3RpbWUgPSB0aW1l
Lm1vbm90b25pYygpDQogICAgbGFzdF9wcmludF90aW1lID0gc3RhcnRfdGltZQ0KDQogICAgdHJ5
Og0KICAgICAgICAjIENyZWF0ZSBhIFVEUCBzb2NrZXQNCiAgICAgICAgd2l0aCBzb2NrZXQuc29j
a2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19ER1JBTSkgYXMgczoNCiAgICAgICAgICAg
IA0KICAgICAgICAgICAgIyAtLS0gMy4gTWFpbiBTZW5kIExvb3AgLS0tDQogICAgICAgICAgICB3
aGlsZSBUcnVlOg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICMgLS0tIENyZWF0
ZSB0aGUgcGF5bG9hZCBmb3IgKnRoaXMqIHBhY2tldCAtLS0NCiAgICAgICAgICAgICAgICAjIENv
bnZlcnQgdGhlIGNvdW50ZXIgdG8gNCBieXRlcywgbGl0dGxlLWVuZGlhbg0KICAgICAgICAgICAg
ICAgIGNvdW50ZXJfYnl0ZXMgPSB0b3RhbF9wYWNrZXRzX3NlbnQudG9fYnl0ZXMoNCwgJ2xpdHRs
ZScpDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgIyBDb21iaW5lIHRoZSBjb3Vu
dGVyIGFuZCB0aGUgcGFkZGluZw0KICAgICAgICAgICAgICAgIHBheWxvYWRfYnl0ZXMgPSBwYXls
b2FkX3BhZGRpbmcgKyBjb3VudGVyX2J5dGVzDQogICAgICAgICAgICAgICAgDQogICAgICAgICAg
ICAgICAgIyBTZW5kIHRoZSBwYWNrZXQNCiAgICAgICAgICAgICAgICBzLnNlbmR0byhwYXlsb2Fk
X2J5dGVzLCBkZXN0aW5hdGlvbikNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAj
IEluY3JlbWVudCBjb3VudGVycw0KICAgICAgICAgICAgICAgIHBhY2tldHNfaW5faW50ZXJ2YWwg
Kz0gMQ0KICAgICAgICAgICAgICAgIHRvdGFsX3BhY2tldHNfc2VudCArPSAxDQoNCiAgICAgICAg
ICAgICAgICAjIC0tLSA0LiBTdGF0aXN0aWNzIExvb3AgLS0tDQogICAgICAgICAgICAgICAgY3Vy
cmVudF90aW1lID0gdGltZS5tb25vdG9uaWMoKQ0KICAgICAgICAgICAgICAgIGVsYXBzZWRfc2lu
Y2VfbGFzdCA9IGN1cnJlbnRfdGltZSAtIGxhc3RfcHJpbnRfdGltZQ0KDQogICAgICAgICAgICAg
ICAgIyBDaGVjayBpZiAxLjAgc2Vjb25kIGhhcyBwYXNzZWQNCiAgICAgICAgICAgICAgICBpZiBl
bGFwc2VkX3NpbmNlX2xhc3QgPj0gMS4wOg0KICAgICAgICAgICAgICAgICAgICAjIENhbGN1bGF0
ZSB0aGUgcmF0ZSBmb3IgdGhpcyBpbnRlcnZhbA0KICAgICAgICAgICAgICAgICAgICByYXRlID0g
cGFja2V0c19pbl9pbnRlcnZhbCAvIGVsYXBzZWRfc2luY2VfbGFzdA0KICAgICAgICAgICAgICAg
ICAgICANCiAgICAgICAgICAgICAgICAgICAgIyBQcmludCBzdGF0cyAocHBzID0gcGFja2V0cyBw
ZXIgc2Vjb25kKQ0KICAgICAgICAgICAgICAgICAgICAjIFdlIHVzZSBmLXN0cmluZ3Mgd2l0aCA6
PjEwLCB0byByaWdodC1hbGlnbiB0aGUgcGFja2V0IGNvdW50DQogICAgICAgICAgICAgICAgICAg
ICMgYW5kIDosLjBmIHRvIGZvcm1hdCB0aGUgcmF0ZSB3aXRoIGNvbW1hcyBhbmQgbm8gZGVjaW1h
bHMuDQogICAgICAgICAgICAgICAgICAgIHByaW50KGYiU2VudCB7cGFja2V0c19pbl9pbnRlcnZh
bDo+MTAsfSBwYWNrZXRzLiAoUmF0ZToge3JhdGU6LC4wZn0gcHBzLCB7KHBhY2tldHNfaW5faW50
ZXJ2YWwgKiAoYXJncy5sZW4gKyA0ICsgMjgpICogOCAvIDEwMDAgLyAxMDAwKTosLjNmfSBNYml0
L3NlYykiKQ0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIyBSZXNl
dCBmb3IgdGhlIG5leHQgaW50ZXJ2YWwNCiAgICAgICAgICAgICAgICAgICAgcGFja2V0c19pbl9p
bnRlcnZhbCA9IDANCiAgICAgICAgICAgICAgICAgICAgbGFzdF9wcmludF90aW1lID0gY3VycmVu
dF90aW1lDQogICAgDQogICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0Og0KICAgICAgICAjIC0t
LSA1LiBIYW5kbGUgQ3RybCtDIC0tLQ0KICAgICAgICBwcmludCgiXG4tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0iKQ0KICAgICAgICBwcmludCgiU3RvcHBpbmcuLi4iKQ0KICAgICAg
ICANCiAgICAgICAgIyBQcmludCBmaW5hbCBzdW1tYXJ5IHN0YXRpc3RpY3MNCiAgICAgICAgZW5k
X3RpbWUgPSB0aW1lLm1vbm90b25pYygpDQogICAgICAgIHRvdGFsX3RpbWUgPSBlbmRfdGltZSAt
IHN0YXJ0X3RpbWUNCiAgICAgICAgDQogICAgICAgIGlmIHRvdGFsX3RpbWUgPiAwOg0KICAgICAg
ICAgICAgYXZnX3JhdGUgPSB0b3RhbF9wYWNrZXRzX3NlbnQgLyB0b3RhbF90aW1lDQogICAgICAg
ICAgICBwcmludChmIlNlbnQgYSB0b3RhbCBvZiB7dG90YWxfcGFja2V0c19zZW50Om59IHBhY2tl
dHMgaW4ge3RvdGFsX3RpbWU6LjJmfSBzZWNvbmRzLiIpDQogICAgICAgICAgICBwcmludChmIkF2
ZXJhZ2UgcmF0ZToge2F2Z19yYXRlOiwuMGZ9IHBwcywgeyhhdmdfcmF0ZSAqIChhcmdzLmxlbiAr
IDQgKyAyOCkgKiA4IC8gMTAwMCAvIDEwMDApOiwuM2Z9IE1iaXQvc2VjIikNCiAgICAgICAgICAg
ICAgICAgICAgDQogICAgICAgIGVsc2U6DQogICAgICAgICAgICBwcmludCgiU2VudCAwIHBhY2tl
dHMuIikNCiAgICAgICAgc3lzLmV4aXQoMCkNCiAgICAgICAgDQogICAgZXhjZXB0IHNvY2tldC5n
YWllcnJvciBhcyBlOg0KICAgICAgICBwcmludChmIlxuRXJyb3I6IEhvc3RuYW1lICd7YXJncy5h
ZGRyZXNzfScgY291bGQgbm90IGJlIHJlc29sdmVkLiIsIGZpbGU9c3lzLnN0ZGVycikNCiAgICAg
ICAgcHJpbnQoZiJEZXRhaWxzOiB7ZX0iLCBmaWxlPXN5cy5zdGRlcnIpDQogICAgICAgIHN5cy5l
eGl0KDEpDQogICAgZXhjZXB0IChzb2NrZXQuZXJyb3IsIE9TRXJyb3IpIGFzIGU6DQogICAgICAg
IHByaW50KGYiXG5FcnJvcjogQ291bGQgbm90IHNlbmQgcGFja2V0LiIsIGZpbGU9c3lzLnN0ZGVy
cikNCiAgICAgICAgcHJpbnQoZiJEZXRhaWxzOiB7ZX0iLCBmaWxlPXN5cy5zdGRlcnIpDQogICAg
ICAgIHN5cy5leGl0KDEpDQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOg0KICAgICAgICBwcmlu
dChmIlxuQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZDoiLCBmaWxlPXN5cy5zdGRlcnIpDQog
ICAgICAgIHByaW50KGYiRGV0YWlsczoge2V9IiwgZmlsZT1zeXMuc3RkZXJyKQ0KICAgICAgICBz
eXMuZXhpdCgxKQ0KDQoNCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6DQogICAgbWFpbigpDQog
ICAgDQo=
--000000000000cd71b0064a03983a--