You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Chris Rolfe <sp...@telus.net> on 2003/09/18 12:16:50 UTC
DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Hi,
My app logs are filled to bursting with stack traces from broken pipes while
serving embedded mp3 (~100k) files. The files serve ok (status 200), but the
log clutter is hiding everything else.
Strange thing is these aren't the biggest files. 400k jpg's, etc., no
problem. The broken pipe exception occurs ONLY on the mp3's.
Any suggestions/clues?
Thanks,
Chris
Running Tomcat 4.0.4 on an OS X (10.2) setup.
----------------------------------------------------------
NB: org.apache.catalina replaced by [*] to avoid wrapping.
----------------------------------------------------------
2003-09-17 10:03:07 StandardWrapperValve[default]: Servlet.service() for
servlet default threw exception
java.io.IOException: Broken pipe
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:91)
at [*]connector.ResponseBase.flushBuffer(ResponseBase.java:674)
at [*]connector.HttpResponseBase.flushBuffer(HttpResponseBase.java:764)
at [*]connector.ResponseBase.write(ResponseBase.java:647)
at [*]connector.ResponseStream.write(ResponseStream.java:312)
at [*]connector.http.HttpResponseStream.write(HttpResponseStream.java:189)
at [*]servlets.DefaultServlet.copyRange(DefaultServlet.java:1903)
at [*]servlets.DefaultServlet.copy(DefaultServlet.java:1652)
at [*]servlets.DefaultServlet.serveResource(DefaultServlet.java:1197)
at [*]servlets.DefaultServlet.doGet(DefaultServlet.java:519)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
[*]core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
247)
at [*]core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at [*]core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at [*]core.StandardPipeline.invoke(StandardPipeline.java:472)
at [*]core.ContainerBase.invoke(ContainerBase.java:943)
at [*]core.StandardContextValve.invoke(StandardContextValve.java:190)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at [*]authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at [*]valves.CertificatesValve.invoke(CertificatesValve.java:246)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at [*]core.StandardPipeline.invoke(StandardPipeline.java:472)
at [*]core.ContainerBase.invoke(ContainerBase.java:943)
at [*]core.StandardContext.invoke(StandardContext.java:2347)
at [*]core.StandardHostValve.invoke(StandardHostValve.java:180)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at [*]valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at [*]valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at [*]valves.AccessLogValve.invoke(AccessLogValve.java:468)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at [*]core.StandardPipeline.invoke(StandardPipeline.java:472)
at [*]core.ContainerBase.invoke(ContainerBase.java:943)
at [*]core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at [*]core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at [*]core.StandardPipeline.invoke(StandardPipeline.java:472)
at [*]core.ContainerBase.invoke(ContainerBase.java:943)
at [*]connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at [*]connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:491)
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Remy Maucherat <re...@jboss.org>.
Chris Rolfe wrote:
> That's what I thought at first, but this happens 80-90% of the time on the
> 100k+ files. There are two files on the same page, one 100-200k dialog, and
> a 10-30k sentence.
>
> It seems to me unlikely the users are hitting stop that quickly and that
> often. These are reasonably fast university connections in a class setting.
>
> Could it be another request hitting the server? Mishandling of partial GETs?
>
> Related, the catalina Logger doesn't seem to take Filters (or am I missing
> something?). I'd like to keep this cruft (in the meantime) out of the log.
I had tested the partial GET with stuff like GetRight and WinAMP (and
telnet, obviously). I believe the feature works fine.
This exception can only occur on a client disconnect, so the only way it
could happen is if too many bytes are written (which, I belive, works fine).
BTW, if you run a fileserver on Tomcat (unusal, and not the most
efficient server for that use, but it works), then I think you should
try 5.0.x, such as 5.0.9 or 5.0.12.
--
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rémy Maucherat
Senior Developer & Consultant
JBoss Group (Europe) SàRL
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Remy Maucherat <re...@jboss.org>.
Chris Rolfe wrote:
> That's what I thought at first, but this happens 80-90% of the time on the
> 100k+ files. There are two files on the same page, one 100-200k dialog, and
> a 10-30k sentence.
>
> It seems to me unlikely the users are hitting stop that quickly and that
> often. These are reasonably fast university connections in a class setting.
>
> Could it be another request hitting the server? Mishandling of partial GETs?
>
> Related, the catalina Logger doesn't seem to take Filters (or am I missing
> something?). I'd like to keep this cruft (in the meantime) out of the log.
I had tested the partial GET with stuff like GetRight and WinAMP (and
telnet, obviously). I believe the feature works fine.
This exception can only occur on a client disconnect, so the only way it
could happen is if too many bytes are written (which, I belive, works fine).
BTW, if you run a fileserver on Tomcat (unusal, and not the most
efficient server for that use, but it works), then I think you should
try 5.0.x, such as 5.0.9 or 5.0.12.
--
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rémy Maucherat
Senior Developer & Consultant
JBoss Group (Europe) SàRL
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Chris Rolfe <sp...@telus.net>.
Thanks for both responses. I've got a better idea now what to test.
Remy's suggestion of extra bytes being written might plausible, espec. as
these are Mac OS files. Sometimes the Apple resource fork messes with little
server minds.
In the near future, I'll also upgrade to 5.x and move audio + photos onto a
different box, but that's a few regression tests away yet.
I have been using telnet, jmeter and a RequestDumper valve, but I haven't
set up a test plan to bang on the mp3s. Might be worth simulating 20 users
on a random timer and see what happens.
Anyway, thanks for the help. I'll post back any further findings in case
someone's interested.
Cheers,
Chris
on 9/18/03 5:10 AM, Tim Funk wrote:
> I think in > 4.1.24 those messages have been eliminated. Do you get the same
> errors with wget or similar? It could be the player is sending wacky requests.
>
> Otherwise - at 4.0.4 - I'm out of ideas.
>
> -Tim
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Chris Rolfe <sp...@telus.net>.
Thanks for both responses. I've got a better idea now what to test.
Remy's suggestion of extra bytes being written might plausible, espec. as
these are Mac OS files. Sometimes the Apple resource fork messes with little
server minds.
In the near future, I'll also upgrade to 5.x and move audio + photos onto a
different box, but that's a few regression tests away yet.
I have been using telnet, jmeter and a RequestDumper valve, but I haven't
set up a test plan to bang on the mp3s. Might be worth simulating 20 users
on a random timer and see what happens.
Anyway, thanks for the help. I'll post back any further findings in case
someone's interested.
Cheers,
Chris
on 9/18/03 5:10 AM, Tim Funk wrote:
> I think in > 4.1.24 those messages have been eliminated. Do you get the same
> errors with wget or similar? It could be the player is sending wacky requests.
>
> Otherwise - at 4.0.4 - I'm out of ideas.
>
> -Tim
>
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Tim Funk <fu...@joedog.org>.
I think in > 4.1.24 those messages have been eliminated. Do you get the same
errors with wget or similar? It could be the player is sending wacky requests.
Otherwise - at 4.0.4 - I'm out of ideas.
-Tim
Chris Rolfe wrote:
> That's what I thought at first, but this happens 80-90% of the time on the
> 100k+ files. There are two files on the same page, one 100-200k dialog, and
> a 10-30k sentence.
>
> It seems to me unlikely the users are hitting stop that quickly and that
> often. These are reasonably fast university connections in a class setting.
>
> Could it be another request hitting the server? Mishandling of partial GETs?
>
> Related, the catalina Logger doesn't seem to take Filters (or am I missing
> something?). I'd like to keep this cruft (in the meantime) out of the log.
>
> Chris
>
>
> on 9/18/03 3:57 AM, Tim Funk wrote:
>
>
>>Broken pipe means the client the aborted the request which is normal for mp3
>>since users probably stop listening to the song early.
>>
>>-Tim
>>
>>Chris Rolfe wrote:
>>
>>
>>>Hi,
>>>
>>>My app logs are filled to bursting with stack traces from broken pipes while
>>>serving embedded mp3 (~100k) files. The files serve ok (status 200), but the
>>>log clutter is hiding everything else.
>>>
>>>Strange thing is these aren't the biggest files. 400k jpg's, etc., no
>>>problem. The broken pipe exception occurs ONLY on the mp3's.
>>>
>>>Any suggestions/clues?
>>>
>>>Thanks,
>>>Chris
>>>
>>>Running Tomcat 4.0.4 on an OS X (10.2) setup.
>>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Tim Funk <fu...@joedog.org>.
I think in > 4.1.24 those messages have been eliminated. Do you get the same
errors with wget or similar? It could be the player is sending wacky requests.
Otherwise - at 4.0.4 - I'm out of ideas.
-Tim
Chris Rolfe wrote:
> That's what I thought at first, but this happens 80-90% of the time on the
> 100k+ files. There are two files on the same page, one 100-200k dialog, and
> a 10-30k sentence.
>
> It seems to me unlikely the users are hitting stop that quickly and that
> often. These are reasonably fast university connections in a class setting.
>
> Could it be another request hitting the server? Mishandling of partial GETs?
>
> Related, the catalina Logger doesn't seem to take Filters (or am I missing
> something?). I'd like to keep this cruft (in the meantime) out of the log.
>
> Chris
>
>
> on 9/18/03 3:57 AM, Tim Funk wrote:
>
>
>>Broken pipe means the client the aborted the request which is normal for mp3
>>since users probably stop listening to the song early.
>>
>>-Tim
>>
>>Chris Rolfe wrote:
>>
>>
>>>Hi,
>>>
>>>My app logs are filled to bursting with stack traces from broken pipes while
>>>serving embedded mp3 (~100k) files. The files serve ok (status 200), but the
>>>log clutter is hiding everything else.
>>>
>>>Strange thing is these aren't the biggest files. 400k jpg's, etc., no
>>>problem. The broken pipe exception occurs ONLY on the mp3's.
>>>
>>>Any suggestions/clues?
>>>
>>>Thanks,
>>>Chris
>>>
>>>Running Tomcat 4.0.4 on an OS X (10.2) setup.
>>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Chris Rolfe <sp...@telus.net>.
That's what I thought at first, but this happens 80-90% of the time on the
100k+ files. There are two files on the same page, one 100-200k dialog, and
a 10-30k sentence.
It seems to me unlikely the users are hitting stop that quickly and that
often. These are reasonably fast university connections in a class setting.
Could it be another request hitting the server? Mishandling of partial GETs?
Related, the catalina Logger doesn't seem to take Filters (or am I missing
something?). I'd like to keep this cruft (in the meantime) out of the log.
Chris
on 9/18/03 3:57 AM, Tim Funk wrote:
> Broken pipe means the client the aborted the request which is normal for mp3
> since users probably stop listening to the song early.
>
> -Tim
>
> Chris Rolfe wrote:
>
>> Hi,
>>
>> My app logs are filled to bursting with stack traces from broken pipes while
>> serving embedded mp3 (~100k) files. The files serve ok (status 200), but the
>> log clutter is hiding everything else.
>>
>> Strange thing is these aren't the biggest files. 400k jpg's, etc., no
>> problem. The broken pipe exception occurs ONLY on the mp3's.
>>
>> Any suggestions/clues?
>>
>> Thanks,
>> Chris
>>
>> Running Tomcat 4.0.4 on an OS X (10.2) setup.
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Chris Rolfe <sp...@telus.net>.
That's what I thought at first, but this happens 80-90% of the time on the
100k+ files. There are two files on the same page, one 100-200k dialog, and
a 10-30k sentence.
It seems to me unlikely the users are hitting stop that quickly and that
often. These are reasonably fast university connections in a class setting.
Could it be another request hitting the server? Mishandling of partial GETs?
Related, the catalina Logger doesn't seem to take Filters (or am I missing
something?). I'd like to keep this cruft (in the meantime) out of the log.
Chris
on 9/18/03 3:57 AM, Tim Funk wrote:
> Broken pipe means the client the aborted the request which is normal for mp3
> since users probably stop listening to the song early.
>
> -Tim
>
> Chris Rolfe wrote:
>
>> Hi,
>>
>> My app logs are filled to bursting with stack traces from broken pipes while
>> serving embedded mp3 (~100k) files. The files serve ok (status 200), but the
>> log clutter is hiding everything else.
>>
>> Strange thing is these aren't the biggest files. 400k jpg's, etc., no
>> problem. The broken pipe exception occurs ONLY on the mp3's.
>>
>> Any suggestions/clues?
>>
>> Thanks,
>> Chris
>>
>> Running Tomcat 4.0.4 on an OS X (10.2) setup.
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Tim Funk <fu...@joedog.org>.
Broken pipe means the client the aborted the request which is normal for mp3
since users probably stop listening to the song early.
-Tim
Chris Rolfe wrote:
> Hi,
>
> My app logs are filled to bursting with stack traces from broken pipes while
> serving embedded mp3 (~100k) files. The files serve ok (status 200), but the
> log clutter is hiding everything else.
>
> Strange thing is these aren't the biggest files. 400k jpg's, etc., no
> problem. The broken pipe exception occurs ONLY on the mp3's.
>
> Any suggestions/clues?
>
> Thanks,
> Chris
>
> Running Tomcat 4.0.4 on an OS X (10.2) setup.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: DefaultServlet throws a LOT of broken pipe exceptions on mp3s
Posted by Tim Funk <fu...@joedog.org>.
Broken pipe means the client the aborted the request which is normal for mp3
since users probably stop listening to the song early.
-Tim
Chris Rolfe wrote:
> Hi,
>
> My app logs are filled to bursting with stack traces from broken pipes while
> serving embedded mp3 (~100k) files. The files serve ok (status 200), but the
> log clutter is hiding everything else.
>
> Strange thing is these aren't the biggest files. 400k jpg's, etc., no
> problem. The broken pipe exception occurs ONLY on the mp3's.
>
> Any suggestions/clues?
>
> Thanks,
> Chris
>
> Running Tomcat 4.0.4 on an OS X (10.2) setup.
>