Export to GitHub

mod-spdy - issue #6

output filter sometimes fails to emit SYN_REPLY frame


Posted on Feb 10, 2010 by Swift Wombat

On my desktop, mod_spdy works fine. On my laptop, I'm consistently getting 2 data frames and no SYN_REPLY frame. Here's an example:

(Might want to switch to a fixed-width font)

$ hexdump -C 127.000.000.001.08080-127.000.000.001.33284 00000000 00 00 00 00 01 00 00 00 ea 48 54 54 50 2f 31 2e
|.........HTTP/1.| 00000010 31 20 32 30 30 20 4f 4b 0d 0a 44 61 74 65 3a 20 |1 200 OK..Date: | 00000020 54 75 65 2c 20 30 39 20 46 65 62 20 32 30 31 30 |Tue, 09 Feb 2010| 00000030 20 32 31 3a 34 36 3a 34 32 20 47 4d 54 0d 0a 53 | 21:46:42 GMT..S| 00000040 65 72 76 65 72 3a 20 41 70 61 63 68 65 2f 32 2e |erver: Apache/2.| 00000050 32 2e 38 20 28 55 62 75 6e 74 75 29 0d 0a 4c 61 |2.8 (Ubuntu)..La| 00000060 73 74 2d 4d 6f 64 69 66 69 65 64 3a 20 46 72 69 |st-Modified: Fri| 00000070 2c 20 30 35 20 46 65 62 20 32 30 31 30 20 31 35 |, 05 Feb 2010 15| 00000080 3a 32 36 3a 30 36 20 47 4d 54 0d 0a 45 54 61 67 |:26:06 GMT..ETag| 00000090 3a 20 22 33 65 36 31 34 39 2d 32 64 2d 34 37 65 |: "3e6149-2d- 47e| 000000a0 64 63 31 31 66 34 62 66 38 30 22 0d 0a 41 63 63
|dc11f4bf80"..Acc| 000000b0 65 70 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 65 |ept-Ranges: byte| 000000c0 73 0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 |s..Content- Lengt| 000000d0 68 3a 20 34 35 0d 0a 43 6f 6e 74 65 6e 74 2d 54 |h: 45..Content-T| 000000e0 79 70 65 3a 20 74 65 78 74 2f 70 6c 61 69 6e 0d |ype: text/plain.| 000000f0 0a 0d 0a 00 00 00 01 01 00 00 2d 3c 68 74 6d 6c |..........- <html| 00000100 3e 3c 62 6f 64 79 3e 3c 68 31 3e 49 74 20 77 6f |><body><h1>It wo| 00000110 72 6b 73 21 3c 2f 68 31 3e 3c 2f 62 6f 64 79 3e
|rks!</h1></body>| 00000120 3c 2f 68 74 6d 6c 3e 0a |</html>.| 00000128

Comment #1

Posted on Feb 21, 2010 by Swift Wombat

Issue 5 has been merged into this issue.

Comment #2

Posted on Feb 27, 2010 by Happy Panda

For reference, we determined that the issue was using the wrong apr.h, which specified that sizeof void* was 8. On 32 bit systems this is wrong. This caused alignment issues which caused us to dereference the wrong part of the request_rec structure. Matthew found the issue and we've verified that it's fixed on both 32 bit laptops.

Comment #4

Posted on Mar 1, 2010 by Swift Wombat

Fixed by matthew.

Status: Fixed

Labels:
Type-Defect Priority-Medium