Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 350875

Summary: [ds] java.lang.NullPointerException at org.eclipse.equinox.internal.ds.impl.ReadOnlyDictionary.get(ReadOnlyDictionary.java:86)
Product: [Eclipse Project] Equinox Reporter: eg.trab
Component: CompendiumAssignee: Stoyan Boshev <s.boshev>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: s.boshev, tjwatson
Version: 3.7   
Target Milestone: Juno M1   
Hardware: Sun   
OS: Solaris   
Whiteboard:
Bug Depends on:    
Bug Blocks: 350935    
Attachments:
Description Flags
Proposed patch for the problem none

Description eg.trab CLA 2011-06-30 15:07:04 EDT
Build Identifier: org.eclipse.osgi_3.7.0.v20110613.jar

org.eclipse.osgi_3.7.0.v20110613.jar
org.eclipse.equinox.ds_1.3.0.v20110502.jar

felix webconsole components page shows exception:

java.lang.NullPointerException
	at org.eclipse.equinox.internal.ds.impl.ReadOnlyDictionary.get(ReadOnlyDictionary.java:86)
	at org.apache.felix.webconsole.internal.compendium.ComponentsServlet.component(ComponentsServlet.java:273)
	at org.apache.felix.webconsole.internal.compendium.ComponentsServlet.renderResult(ComponentsServlet.java:218)
	at org.apache.felix.webconsole.internal.compendium.ComponentsServlet.renderContent(ComponentsServlet.java:156)
	at org.apache.felix.webconsole.AbstractWebConsolePlugin.doGet(AbstractWebConsolePlugin.java:147)
	at org.apache.felix.webconsole.internal.compendium.ComponentsServlet.doGet(ComponentsServlet.java:143)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:437)
	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:384)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476)
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:934)
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:116)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:869)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:72)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:346)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:581)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1040)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:592)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
	at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:241)
	at org.eclipse.jetty.server.ssl.SslSocketConnector$SslConnectorEndPoint.run(SslSocketConnector.java:658)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)
	at java.lang.Thread.run(Thread.java:662)


Reproducible: Sometimes

Steps to Reproduce:
1. scr components may trigger it
2. felix webconsole components page shows exception
3. component still seems to work; the component registers a service as seen from the felix webconsole services page
Comment 1 eg.trab CLA 2011-06-30 15:09:37 EDT
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

SunOS uscmmurxt1 5.10 Generic_144488-02 sun4us sparc FJSV,GPUZC-M
Comment 2 eg.trab CLA 2011-06-30 15:11:28 EDT
>
> 3. component still seems to work; the component registers a service as seen
from the felix webconsole services page
>

to clarify, component DS/SCR registration seems to work; still have to really test if it actually does.

--
Comment 3 eg.trab CLA 2011-06-30 16:27:31 EDT
going back to org.eclipse.equinox.ds_1.2.1.R36x_v20100803.jar
Comment 4 Stoyan Boshev CLA 2011-07-01 04:18:55 EDT
Created attachment 198947 [details]
Proposed patch for the problem

This problem can happen when browsing disabled components which do not have any properties.
This problem does not affect the work of SCR or the components. It may affect only the users of service org.apache.felix.scr.ScrService.

Tom, can we consider fixing this also in 3.7.1?
Comment 5 Thomas Watson CLA 2011-07-01 09:09:29 EDT
Stoyan, please release to head for Juno.  Patch looks good.  I will create a cloned bug for 3.7.1.
Comment 6 Stoyan Boshev CLA 2011-07-01 11:34:13 EDT
Fixed in HEAD