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--