purepennons / gss

Automatically exported from code.google.com/p/gss
Other
0 stars 0 forks source link

NPE in Webdav.copy() #14

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
This is the most common error in the logs these days:

17 Jun 2010 12:14:40,340 ajp-0.0.0.0-8009-4 ERROR () 
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/pithos].[RESTH
andler]] Servlet.service() for servlet RESTHandler threw exception
java.lang.NullPointerException
        at gr.ebs.gss.server.webdav.Webdav.copy(Webdav.java:2591)
        at gr.ebs.gss.server.rest.FilesHandler.serveResource(FilesHandler.java:552)
        at gr.ebs.gss.server.rest.RequestHandler.doGet(RequestHandler.java:372)
        at gr.ebs.gss.server.rest.RequestHandler.service(RequestHandler.java:228)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at gr.ebs.gss.server.CacheFilter.doFilter(CacheFilter.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)
        at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:402)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036)
        at java.lang.Thread.run(Thread.java:619)

Original issue reported on code.google.com by past...@gmail.com on 17 Jun 2010 at 12:36

GoogleCodeExporter commented 8 years ago
The same bug entry from the old issue tracking system:

Found in server 1 5/11/2009 log. Appears to result from getUser(req) returning
null. Note Range header and that it seems to be for an older version body.

05 Nov 2009 19:02:50,616 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.RequestHandler] [GET]
/moralis@cti.gr/files/Peta/PETA_businessintelligence_Ad1.2.2_PraktikhAskhsh_leve
l1/PETA_businessintelligence_Ad1.2.2_PraktikhAskhsh_level1.mp4
05 Nov 2009 19:02:50,616 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.RequestHandler] accept: */*
05 Nov 2009 19:02:50,616 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.RequestHandler] user-agent: Mozilla/5.0 (Windows; U;
Windows NT 5.1; el; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20
05 Nov 2009 19:02:50,616 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.RequestHandler] host: pithos.grnet.gr
05 Nov 2009 19:02:50,616 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.RequestHandler] Range: bytes=11603858-15467918
05 Nov 2009 19:02:50,616 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.RequestHandler] content-length: 0
05 Nov 2009 19:02:50,623 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.FilesHandler] Serving resource
'/Peta/PETA_businessintelligence_Ad1.2.2_PraktikhAskhsh_level1/PETA_businessinte
lligence_Ad1.2.2_PraktikhAskhsh_level1.mp4'
headers and data
05 Nov 2009 19:02:51,445 ajp-0.0.0.0-8009-12 DEBUG ()
[gr.ebs.gss.server.rest.FilesHandler] contentType='application/octet-stream'
05 Nov 2009 19:02:51,446 ajp-0.0.0.0-8009-12 ERROR ()
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/pithos].[RESTH
andler]]
Servlet.service() for servlet RESTHandler threw exception
java.lang.NullPointerException
        at gr.ebs.gss.server.webdav.Webdav.copy(Webdav.java:2591)
        at
gr.ebs.gss.server.rest.FilesHandler.serveResource(FilesHandler.java:502)
        at gr.ebs.gss.server.rest.RequestHandler.doGet(RequestHandler.java:360)
        at
gr.ebs.gss.server.rest.RequestHandler.service(RequestHandler.java:222)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt
erChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
java:206)
        at gr.ebs.gss.server.CacheFilter.doFilter(CacheFilter.java:63)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt
erChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
java:206)
        at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:9
6)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt
erChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:2
35)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:1
91)
        at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociatio
nValve.java:190)
        at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
        at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(Security
ContextEstablishmentValve.java:126)
        at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityC
ontextEstablishmentValve.java:70)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionVa
lve.java:158)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109
)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)
        at
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:
384)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:636)

Original comment by past...@gmail.com on 17 Jun 2010 at 12:37

GoogleCodeExporter commented 8 years ago
Revision No: cf99ae7a52

With this fix the NullPointerException is handled. The NPE occurs when the 
HttpServletResponse has Range or Content-Range headers (usually during 
accessing an audio source via Webdav inside a browser). With an if check for 
nulls in request user attribute the problem is solved.

Original comment by akaprave...@gmail.com on 10 Sep 2010 at 8:35

GoogleCodeExporter commented 8 years ago
As discussed, this fix is probably wrong. I'd like to try something like the 
attached one, which corrects some other oversights in corner cases of the 
authentication sequence.

Original comment by past...@gmail.com on 13 Sep 2010 at 9:54

Attachments:

GoogleCodeExporter commented 8 years ago
The previous fix has been reverted and the above patch was applied. With 
changes in Revision: 6b0f13409f the check on authentication privileges happens 
inside FilesHandler not inside each method

Original comment by akaprave...@gmail.com on 16 Sep 2010 at 2:55

GoogleCodeExporter commented 8 years ago

Original comment by past...@gmail.com on 28 Sep 2010 at 12:08