On 13.11.2009 15:06, ndunn1979 wrote:
> 
> 
> Rainer Jung-3 wrote:
>>
>>
>> As said: "JkLogLevel trace" will log the full packets.
>>
>>
> 
> I reran it with trace log level and I can see the break now between the
> packets.

Good.

> One example that works (notice "inde" at the end of the first packet and "x"
> at the beginning of the next one:

Hmmm, that one I'm not sure, because after the "inde" there are only
null bytes. Since the beginning of the packet is not shown, I'm not
sure, but likely the "inde" was just the end of the body data of the AJP
packet.

> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 1fe0    69 6E 26 70 72 6F 70 65 72 74 79 3D 63 61 74 65  - in&property=cate
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 1ff0    67 6F 72 69 65 73 26 69 6E 64 65 00 00 00 00 00  - gories&inde.....

The bytes after "inde" are all "00", could simply be the end of gthe
packet body.

> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_ajp_common.c (1263):
> exit
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_ajp_common.c (1702):
> enter
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [debug] mod_jk.c (506): written
> 8184 out of 8184
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_ajp_common.c (1871):
> exit
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_ajp_common.c (1131):
> enter
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_connect.c (807): enter
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_connect.c (836): exit
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_connect.c (807): enter
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [trace] jk_connect.c (836): exit
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> received from ajp13 pos=0 len=8188 max=65536
> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 0000    03 1F F8 78 3D 27 20 2B 20 74 68 69 73 2E 6E 61  - ...x='.+.this.na

03 is the packet type (response body), 1FF8 is the size of the following
body part (bytes count in hex).

> [Fri Nov 13 08:32:07.937 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 0010    6D 65 20 2B 20 27 26 76 61 6C 75 65 3D 27 20 2B  - me.+.'&value='.+
> 
> This one did not work (notice the end of the packet contains "pr" -- meaning
> property and refers to "club" while the next packet starts with "action" and
> refers to "wagon"):
> 
> [Fri Nov 13 08:32:07.953 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 1fe0    6D 2E 6A 73 70 3F 61 63 74 69 6F 6E 3D 32 26 6E  - m.jsp?action=2&n
> [Fri Nov 13 08:32:07.953 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 1ff0    61 6D 65 3D 63 6C 75 62 26 70 72 00 00 00 00 00  - ame=club&pr.....

Again I guess it's the end of the packet. Size will have likely been
8184, which in hex is 1FF8. Adding 3 Bytes AJP header (03 1F F8), total
size is 1FFB. First Byte in the line above is at position 1FF1, so 1FFB
is exactly the "72".

> [Fri Nov 13 08:32:07.953 2009] [1916:2244] [trace] jk_ajp_common.c (1263):
> exit
> [Fri Nov 13 08:32:07.953 2009] [1916:2244] [trace] jk_ajp_common.c (1702):
> enter
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [debug] mod_jk.c (506): written
> 8184 out of 8184
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [trace] jk_ajp_common.c (1871):
> exit
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [trace] jk_ajp_common.c (1131):
> enter
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [trace] jk_connect.c (807): enter
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [trace] jk_connect.c (836): exit
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [trace] jk_connect.c (807): enter
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [trace] jk_connect.c (836): exit
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> received from ajp13 pos=0 len=8188 max=65536
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 0000    03 1F F8 61 63 74 69 6F 6E 3D 31 26 6E 61 6D 65  - ...action=1&name
> [Fri Nov 13 08:32:08.218 2009] [1916:2244] [debug] jk_ajp_common.c (1259):
> 0010    3D 77 61 67 6F 6E 26 70 72 6F 70 65 72 74 79 3D  - =wagon&property=

Right, that looks wierd. I assume you didn't leave any line in theis
block out from the mail.

> The REALLY odd thing is that this line in the log (the beginning of the
> redundant packet appears exactly the same way twice in the mod_jk log:
> 
> jk_ajp_common.c (1259): 0000    03 1F F8 61 63 74 69 6F 6E 3D 31 26 6E 61 6D
> 65  - ...action=1&name
> 
> So a perfectly identical packet is being sent more than once.

Unfortunately you did not show the full line, so we have no timestamp
and no thread and pid info :(

> I don't know the absolute byte offset in the binary data. I use firebug, but
> I don't know which feature will give you the byte offset (not sure if it's
> necessary in light of this new information).
> 
> Is there a specific logger property I can use to look into the Tomcat side
> to see what's going on? I'm not getting any errors but it seems like it's
> more likely Tomcat that's resending the redundant packets (based on what
> little I understand about the interface between the two programs).

The best way here would be a packet sniffer. mod_jk shows you already,
which data you are looking for in the packets, and they go over the wire
excatly in the same format, that is being dumped in the jk log. No
binary encoding or similar involved. So reading the data in the packet
sniffer is not more difficult than in the jk log.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to