Bug 341758 - [server] Git tests fail on Linux because of NPE in InternalFileSystemCore
Summary: [server] Git tests fail on Linux because of NPE in InternalFileSystemCore
Status: RESOLVED FIXED
Alias: None
Product: Orion (Archived)
Classification: ECD
Component: Client (show other bugs)
Version: 0.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 0.2   Edit
Assignee: John Arthorne CLA
QA Contact:
URL: http://download.eclipse.org/e4/orion/...
Whiteboard:
Keywords: test
Depends on:
Blocks:
 
Reported: 2011-04-04 05:57 EDT by Tomasz Zarna CLA
Modified: 2011-09-01 11:42 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Zarna CLA 2011-04-04 05:57:54 EDT
All failures have the same reason:

java.lang.NullPointerException: null
	at org.eclipse.core.internal.filesystem.InternalFileSystemCore.getFileSystem(InternalFileSystemCore.java:61) ~[na:na]
	at org.eclipse.core.filesystem.EFS.getFileSystem(EFS.java:430) ~[na:na]
	at org.eclipse.orion.internal.server.servlets.workspace.WorkspaceResourceHandler.computeProjectLocation(WorkspaceResourceHandler.java:132) ~[na:na]
	at org.eclipse.orion.internal.server.servlets.workspace.WorkspaceResourceHandler.handleAddProject(WorkspaceResourceHandler.java:207) ~[na:na]
	at org.eclipse.orion.internal.server.servlets.workspace.WorkspaceResourceHandler.handleAddOrRemoveProject(WorkspaceResourceHandler.java:185) ~[na:na]
	at org.eclipse.orion.internal.server.servlets.workspace.WorkspaceResourceHandler.handleRequest(WorkspaceResourceHandler.java:336) ~[na:na]
	at org.eclipse.orion.internal.server.servlets.workspace.WorkspaceResourceHandler.handleRequest(WorkspaceResourceHandler.java:1) ~[na:na]
	at org.eclipse.orion.internal.server.servlets.workspace.WorkspaceServlet.doPost(WorkspaceServlet.java:116) ~[na:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) ~[javax.servlet_2.5.0.v201103041518.jar:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) ~[javax.servlet_2.5.0.v201103041518.jar:na]
	at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:28) ~[na:na]
	at org.eclipse.orion.server.configurator.servlet.AuthorizationFilter.doFilter(AuthorizationFilter.java:39) ~[na:na]
	at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:71) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:25) ~[na:na]
	at org.eclipse.orion.server.configurator.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:71) ~[na:na]
	at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:71) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:25) ~[na:na]
	at org.eclipse.orion.internal.server.hosting.HostedSiteRequestFilter.doFilter(HostedSiteRequestFilter.java:48) ~[na:na]
	at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:71) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:25) ~[na:na]
	at org.eclipse.orion.internal.server.servlets.file.EditSupportFilter.doFilter(EditSupportFilter.java:46) ~[na:na]
	at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:71) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:25) ~[na:na]
	at org.eclipse.orion.server.configurator.servlet.WelcomeFileFilter.doFilter(WelcomeFileFilter.java:39) ~[na:na]
	at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:71) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:25) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:130) ~[na:na]
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) ~[na:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) ~[javax.servlet_2.5.0.v201103041518.jar:na]
	at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318) ~[org.eclipse.equinox.http.jetty_2.0.0.v20100503.jar:na]
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) ~[org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) ~[org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) ~[org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) ~[org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) ~[org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.Server.handle(Server.java:326) [org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) [org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:939) [org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756) [org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) [org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) [org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) [org.mortbay.jetty.server_6.1.23.v201012071420.jar:na]
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) [org.mortbay.jetty.util_6.1.23.v201012071420.jar:na]
Comment 1 Tomasz Zarna CLA 2011-04-04 08:32:12 EDT
John, shouldn't InternalFileSystemCore.getFileSystem(String) throw a CoreException when scheme is null? This is what I would expect calling EFS.getFileSystem(String) and it looks like you expect it as well in WorkspaceResourceHandler.computeProjectLocation(WebProject, String, String, boolean) having "} catch (CoreException e) {" clause.
Comment 2 Szymon Brandys CLA 2011-04-04 08:53:24 EDT
(In reply to comment #1)
> John, shouldn't InternalFileSystemCore.getFileSystem(String) throw a
> CoreException when scheme is null? This is what I would expect calling
> EFS.getFileSystem(String) and it looks like you expect it as well in
> WorkspaceResourceHandler.computeProjectLocation(WebProject, String, String,
> boolean) having "} catch (CoreException e) {" clause.

No. NPE is right there. If method does not say clearly that null can be pased, you should not pass 'null' to the method.
Comment 3 Szymon Brandys CLA 2011-04-04 08:55:07 EDT
(In reply to comment #2)
> No. NPE is right there. If method does not say clearly that null can be pased,
> you should not pass 'null' to the method.

It should be handled in WorkspaceResourceHandler#computeProjectLocation.
Comment 4 John Arthorne CLA 2011-04-04 11:55:41 EDT
I'll take this since it looks like I broke it.
Comment 5 John Arthorne CLA 2011-04-04 13:32:34 EDT
http://git.eclipse.org/c/e4/org.eclipse.orion.server.git/commit/?id=b82d5e6f4c6abad3044ebe66c9bae95333a95e58

Fix released, and Andrew verified on Linux that all tests now pass.