Mantis - Resin
Viewing Issue Advanced Details
1583 minor sometimes 01-23-07 14:23 06-06-07 11:11
byoung  
ferg  
normal  
closed 3.0.22  
fixed  
none    
none 3.1.1  
0001583: HTTP request headers displaying on page forwards
We've found after rolling to 3.0.22 that jsp pages where we do a server
side forward output the HTTP request headers into the body of
the compiled page. On a page where we have multiple forwards we see the
headers outputted multiple times. This results in a XML parse error on
some browsers such as firefox and opera.

Please let me know if I can get you any further logs or information to
help diagnose this problem.

Notes
(0001746)
byoung   
01-23-07 15:03   
The problem seems to be with mod_caucho running in apache - if we hit the resin instance directly, there is no problem.

We think it has to do with the server outputting whitespace from the forwarding page before the page forward happens.
(0001747)
byoung   
01-24-07 07:34   
We rolled forward with Resin 3.0.22 in our live environment this morning, so you can replicate this error on our live Wap site using a strict browser such as Opera. Here's how:

1) in Opera, hit http://www.upoc.com/wap/. [^]
    There will be an xml parse error; this is not what we're talking about.

2) Click "Login". I've created a user for you to test with.
    Username: cauchoTest
    Password: caucho

3) Click on "Groups"

4) Click on "Your Groups"

5) You should see the error: the page doesn't render, and the HTTP headers are output at the top of the page.

I've attached some relevant Java classes. Let me know if you need more info, e.g. the compiled jsp classes.
(0001748)
byoung   
01-24-07 08:18   
There was a previously reported ticket on this: 0000855
(0001749)
byoung   
01-24-07 10:43   
Also, you should try this using the Openwave 7 emulator - I'm using Opera 8.54, which apparently has a tighter xml parser than Opera 9.

If you use Openwave 7, you'll see that for the offending page, it has been pointed out that the HTTP headers are displayed twice.

Additionally, we're not absolutely certain that this involves forwarding.

Thanks,
Brian

-----Original Message-----
From: Brian Young
Sent: Wednesday, January 24, 2007 1:16 PM
To: 'Scott Ferguson'
Cc: Michael O'Dea; totalcare@caucho.com; sales@caucho.com; All Engineers
Subject: RE: Resin forwarding bug

You're right - sorry, I've been here since 3am. JspTemplate.java is the parent class of WapTemplate.java, and that's where the forward(String, boolean) method is defined.

Find the attached JspTemplate.java file and the jsp's - here is how they're related:

groupsMenu.jsp includes groupsMenuPanel.jsp;

groupsMenuPanel.jsp links to groups.jsp; (look for the "Your Groups" text on groups.jsp)

groups.jsp forwards to emptyGroups.jsp, which contains the error.

The forward happens on groups.jsp - look for

template.forward("/wap/emptyGroups.jsp", false);



-----Original Message-----
From: Scott Ferguson [mailto:ferg@caucho.com]
Sent: Wednesday, January 24, 2007 12:31 PM
To: Brian Young
Cc: Michael O'Dea; totalcare@caucho.com; sales@caucho.com
Subject: Re: Resin forwarding bug


On Jan 24, 2007, at 7:12 AM, Brian Young wrote:

> We rolled forward with Resin 3.0.22 in our live environment this
> morning, so you can replicate this error on our live Wap site using a
> strict browser such as Opera. Here's how:
>
> 5) You should see the error: the page doesn't render, and the HTTP
> headers are output at the top of the page.


> I've attached some relevant Java classes. Let me know if you need
> more
> info, e.g. the compiled jsp classes.

Which one has the forward? It doesn't look like any of those classes
are really relevant to the issue.

The issue has something to do with the forward or flushing and
possibly filters/includes if that's part of the issue.

-- Scott
>
> Best,
> Brian