Skip to content

[HTTP/3] Stress QUIC mangled data #72739

@ManickaP

Description

@ManickaP

While investigating System.Net.Http.HttpRequestException: The server returned an invalid or unrecognized response. and similar errors with H/3 stress I noticed that data sent from the server do not correspond to the data received on the client. Specifically, the first 2 bytes get mangled:

// Data from server from StreamSend
2022-07-24 15:33:11.189 +02:00 [DBG] 13:33:11.1891745[Info] thisOrContextObject: QuicStream#28784787, memberName: WriteAsync, message: [strm][0x7FB794029990] SEND 012C0000D9561D53756E2C203234204A756C20323032322031333A33333A313120474D545F4D074B65737472656C00417F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E
// Data from client from RECEIVE event
13:33:11.1977316[Info] thisOrContextObject: QuicStream#27524287, memberName: HandleEventReceive, message:                           [strm][0x7FB7E801A860] RECEIVE 422C0000D9561D53756E2C203234204A756C20323032322031333A33333A313120474D545F4D074B65737472656C00417F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E

// Server
2022-07-24 16:22:07.122 +02:00 [DBG] 14:22:07.1225155[Info] thisOrContextObject: QuicStream#64247531, memberName: WriteAsync, message: [strm][0x7F6BD401BAC0] SEND    012C0000D9561D53756E2C203234204A756C20323032322031343A32323A303620474D545F4D074B65737472656C0040C4000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243
// Client
14:22:07.1297277[Info] thisOrContextObject: QuicStream#19014160, memberName: HandleEventReceive, message:                              [strm][0x7F6B840233B0] RECEIVE 6B6B0000D9561D53756E2C203234204A756C20323032322031343A32323A303620474D545F4D074B65737472656C0040C4000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243

Happens only with "GET Aborted" as far as I can tell, fairly regularly.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions