Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 350875 - [ds] java.lang.NullPointerException at org.eclipse.equinox.internal.ds.impl.ReadOnlyDictionary.get(ReadOnlyDictionary.java:86)
Summary: [ds] java.lang.NullPointerException at org.eclipse.equinox.internal.ds.impl.R...
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Compendium (show other bugs)
Version: 3.7   Edit
Hardware: Sun Solaris
: P3 normal with 1 vote (vote)
Target Milestone: Juno M1   Edit
Assignee: Stoyan Boshev CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 350935
  Show dependency tree
 
Reported: 2011-06-30 15:07 EDT by eg.trab CLA
Modified: 2011-07-01 11:34 EDT (History)
2 users (show)

See Also:


Attachments
Proposed patch for the problem (1.14 KB, patch)
2011-07-01 04:18 EDT, Stoyan Boshev CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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