NPE from AutoRegisterActionServlet
Not sure if this is a Workshop or Server-related question, but here goes.
In the log file below, it appears that perhaps a module in our enterprise app has undeployed itself. Does this cause, or is it caused by, the deserialization error reported next? Is it possible to know which data failed to deserialize?
This is 8.1 SP2.
Thanks for any suggestions.
kinman
<ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-101020> <[ServletContext(id=5861640,name=hng,context-path=/hng)] Servlet failed with Exception
java.lang.NullPointerException
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.ensureModuleRegistered(AutoRegisterActionServlet.java:619)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:141)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:305)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1094)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:651)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1094)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:651)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:638)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6354)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
####<Nov 10, 2004 7:09:38 PM EST> <Error> <HTTP Session> <CWCCDG-ATLAS> <ConsumerServer2> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-100028> <Could not deserialize session data.
java.lang.ClassNotFoundException: controls.catalog.CatalogControl: This error could indicate that a component was deployed on a cluster member but not other members of that cluster. Make sure that any component deployed on a server that is part of a cluster is also deployed on all other members of that cluster
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:321)
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:236)
at weblogic.common.internal.ProxyClassResolver.resolveProxyClass(ProxyClassResolver.java:31)
at weblogic.common.internal.ProxyClassResolver.resolveProxyClass(ProxyClassResolver.java:22)
at weblogic.common.internal.WLObjectInputStream.resolveProxyClass(WLObjectInputStream.java:53)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1469)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1432)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.servlet.internal.AttributeWrapper.convertBytesToObject(AttributeWrapper.java:173)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:114)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:69)
at weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:431)
at com.bea.wlw.netui.pageflow.scoping.ScopedServletUtils.getScopedSessionAttr(ScopedServletUtils.java:328)
at com.bea.wlw.netui.pageflow.PageFlowUtils.getCurrentActionResolver(PageFlowUtils.java:399)
at com.bea.wlw.netui.pageflow.PageFlowUtils.getCurrentPageFlow(PageFlowUtils.java:387)
at com.bea.wlw.netui.pageflow.util.PageflowTagUtils.isAction(PageflowTagUtils.java:245)
at com.bea.wlw.netui.tags.html.Form.lookup(Form.java:910)
at com.bea.wlw.netui.tags.html.Form.doStartTag(Form.java:555)
at jsp_servlet._resources._jsp.__header._jspService(header.jsp:62)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
at jsp_servlet._resources._jsp.__basic_45_template._jspService(basic-template.jsp:38)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at com.bea.wlw.netui.tags.template.Template.doEndTag(Template.java:269)
at jsp_servlet._resources._jsp.__error._jspService(error.jsp:37)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:375)
at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3913)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
####<Nov 10, 2004 7:09:38 PM EST> <Error> <Kernel> <CWCCDG-ATLAS> <ConsumerServer2> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-000802> <ExecuteRequest failed
java.lang.IllegalStateException: Not in application context.
java.lang.IllegalStateException: Not in application context
at com.bea.p13n.management.ApplicationHelper.getApplicationName(ApplicationHelper.java:134)
at com.bea.p13n.entitlements.servlets.jsp.taglib.IsUserInRoleTag.<init>(IsUserInRoleTag.java:56)
at jsp_servlet._resources._jsp.__header._jspService(header.jsp:78)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
at jsp_servlet._resources._jsp.__basic_45_template._jspService(basic-template.jsp:38)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at com.bea.wlw.netui.tags.template.Template.doEndTag(Template.java:269)
at jsp_servlet._resources._jsp.__error._jspService(error.jsp:37)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:375)
at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3913)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
I've also seen this problem using Vignette 7.3.0.4 (running on BEA WLS 8.1sp2), generated from logging attempts.
Similar Messages
-
NPE from JMS Connection Object
When I try to get the ClientID from a connection using JMX, I get a NPE from the weblogic.jms.frontend.FEConnectionRuntimeDelegate.getClientID(FEConnectionRuntimeDelegate.java:66).
The following is the full stack trace.
javax.management.RuntimeMBeanException: RuntimeException thrown by the getAttribute method of the DynamicMBean for the attribute ClientID
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:205)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
at javax.management.remote.rmi.RMIConnectionImpl_920_WLStub.getAttribute(Unknown Source)
at weblogic.management.remote.common.RMIConnectionWrapper$11.run(ClientProviderBase.java:498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.security.Security.runAs(Security.java:61)
at weblogic.management.remote.common.RMIConnectionWrapper.getAttribute(ClientProviderBase.java:496)
at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:854)
at com.lordabbett.muni.sma.util.JMXClientCleanupListener.handleNotification(JMXClientCleanupListener.java:173)
at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.dispatchNotification(ClientNotifForwarder.java:496)
at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:462)
at com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(ClientNotifForwarder.java:83)
Caused by: javax.management.RuntimeMBeanException: MBean getAttribute failed: java.lang.NullPointerException
at weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:527)
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.getAttribute(DynamicMetaDataImpl.java:96)
at com.sun.jmx.mbeanserver.MetaDataImpl.getAttribute(MetaDataImpl.java:181)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:638)
at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:659)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
at weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttribute(SecurityInterceptor.java:281)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor$5.run(AuthenticatedSubjectInterceptor.java:192)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor.getAttribute(AuthenticatedSubjectInterceptor.java:190)
at weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttribute(WLSMBeanServer.java:269)
at weblogic.management.mbeanservers.domainruntime.internal.ManagedMBeanServerConnection.getAttribute(ManagedMBeanServerConnection.java:280)
at weblogic.management.mbeanservers.domainruntime.internal.FederatedMBeanServerInterceptor.getAttribute(FederatedMBeanServerInterceptor.java:227)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:112)
at weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttribute(SecurityInterceptor.java:281)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor$5.run(AuthenticatedSubjectInterceptor.java:192)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.management.mbeanservers.internal.AuthenticatedSubjectInterceptor.getAttribute(AuthenticatedSubjectInterceptor.java:190)
at weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttribute(WLSMBeanServer.java:269)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1385)
at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:597)
at javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
... 12 more
Caused by: java.lang.NullPointerException
at weblogic.jms.frontend.FEConnectionRuntimeDelegate.getClientID(FEConnectionRuntimeDelegate.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:499)
... 40 moreCan you give me the link for the management forum, since weblogic.developer.interest.management talks about a different topic and i could not find .jmx newgroup.
I got the mbeanserver using the following method:
public static void initConnection(String hostname, String portString) throws IOException,
MalformedURLException {
String protocol = "t3";
Integer portInteger = Integer.valueOf(portString);
int port = portInteger.intValue();
String jndiroot = "/jndi/";
String mserver = "weblogic.management.mbeanservers.domainruntime";
logger.info("protocol="+protocol);
logger.info("hostname="+hostname);
logger.info("port="+port);
logger.info("jndiroot="+jndiroot);
logger.info("mserver="+mserver);
JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port, jndiroot + mserver);
Properties p = ApplicationResources.getResourceAsProperties(SmartPMConstants.SMARTPM_APPLICATION_RESOURCE);
String wluser = p.getProperty(SmartPMConstants.SMARTPM_WLUSER);
String wlpwd = p.getProperty(SmartPMConstants.SMARTPM_WLPWD);
Hashtable h = new Hashtable();
h.put(Context.SECURITY_PRINCIPAL, wluser);
h.put(Context.SECURITY_CREDENTIALS, wlpwd);
logger.info("user cred="+h);
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote");
connector = JMXConnectorFactory.connect(serviceURL, h);
connection = connector.getMBeanServerConnection();
} -
NPE from LoggerUtil in 4.0.92
Hi,
I'm trying to upgrade our code from 3.x to 4.x, but when the code tries to open the environment, we get an NPE from LoggerUtils on the logger.getHandlers() line (line 164). Our application runs in the Resin application server, which has its own logging implementation, it looks like the Logger instance returned by Resin is returning null for the getHandlers call, causing the NPE in LoggerUtils. Any chance you could update this to check for null ?
Thanks
SimonSimon,
I've opened SR #18277 for this, and we'll put in the check as you suggest, and will make it available in the next patch release.
Email me at linda dot q dot lee at o__ .com if you want the official source code change, because there are a few more places where we call java.util.logging.Logger.getHandlers() and expect it to obey the contract that it returns an empty array rather than a null array. It will also be interesting to find out if Resin behaves differently in any other ways.
Regards,
Linda -
Revision: 650
Author: [email protected]
Date: 2008-02-25 16:55:13 -0800 (Mon, 25 Feb 2008)
Log Message:
Prevent potential NPEs from wait'ed long poll requests whose threads exit after the underlying endpoint has been stopped by a separate thread.
Bugs: BLZ-65 - Long-polling clients trigger NPE on server shutdown.
QA: Yes
Doc: No
Ticket Links:
http://bugs.adobe.com/jira/browse/BLZ-65
Modified Paths:
blazeds/trunk/modules/core/src/java/flex/messaging/endpoints/BasePollingHTTPEndpoint.javaHi,
Looks like you're using BDB, not BDB JE, and this is the BDB JE forum. Could you please repost here?:
Berkeley DB
Thanks,
mark -
Weblogic 10.3- NPE from RemoteBusinessIntfProxy.getTargetMethod
I am migrating an application from oc4j to WLS 10.3. The application defines EJB3. From a j2se client, I do the following:
Hashtable env = new Hashtable();
env.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" );
env.put( Context.SECURITY_PRINCIPAL, "weblogic" );
env.put( Context.SECURITY_CREDENTIALS, "weblogic" );
env.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context initial = new InitialContext(env);
MyEJBRemote remote = (MyEJBRemote) initial.lookup("simple/myejbRemote");
remote.open();
However, I got the following NPE exception in runtime:
java.lang.NullPointerException
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.getTargetMethod(RemoteBusinessIntfProxy.java:162)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:53)
at $Proxy0.open(Unknown Source)
at demo.client.j2se.JobRequestSubmitorClient.queryRequestSummary(JobRequestSubmitorClient.java:245)
What might be the cause? How can I turn on trace in client/server side to get more information. Any help are appreciated. Thanks.Here are some notes from a related CR, CR305208, that given insight to a work-around. Also consider looking at the known/resolved issues in 10.0, which discuss this as well:
[http://edocs.bea.com/wls/docs100/issues/known_resolved.html#wp1169024]
DIAGNOSIS:
EJB using type variables on class level is not supported.
RESOLUTION:
Problem was solved with a code fix to support generic types, especially type
variables on class level.
CHANGED BEHAVIOR:
As a result of this change, generic types can be used for bean class and
business/component interface of EJB. For example, the following EJB can be
deployed and invoked successfully:
public interface RootI<T> {
public T getObject();
public void updateObject(T object);
Business interface:
@Remote
public interface StatelessI extends RootI<String> {
Bean class:
@Stateless
public class StatelessSample implements StatelessI {
public String getObject() {
return null;
public void updateObject(String object) {
RECOMMENDED STYLE
Please note, under current mechanism of EJB code generation, the recommended
style to use generic types, is to define super class/interface with type
variables and make bean class or business/component interface parameterize it
like the example above. The type variables declared directly on class level
of bean class or business interface/componnent interface will be erased,
which can be deployed successfully only when bean class parameterizes
business interface with the upper bounds of the type parameter and no other
generic information involved. As a good design, we suggest not to declare
type variable on class level of bean class or business/component interface
directly. For example, the following EJB is not legal for Weblogic generic
support:
Business interface:
@Remote
public interface StatelessI<T> {
Bean class:
@Stateless
public class StatelessSample implements StatelessI<String> {
public String getObject() {
return null;
public void updateObject(String object) {
Because the type variable "T" on StatelessI has no upper bound explicitly
declared, the upper bound is Object. So the bean class StatelessSample must
parameterize StatelessI with Object like following:
public class StatelessSample implements StatelessI<Object> {
public Object getObject() {
return null;
public void updateObject(Object object) {
KNOWN ISSUE:
And, there will be problem when meeting all following conditions:
1. The business interface doesn't extend java.rmi.Remote.
2. The invocation of method is via remote proxy through RMI remote
call, and no generated stub on client side. The local invocation within one
JVM will succeed.
3. The remote call is via t3 protocol, not iiop protocol.
4. The method in business interface has generic information. I.e.
method has type parameters or generic type like List<String> as parameter
type, etc.
WORKAROUND FOR KNOWN ISSUE
It will be ok when meeting any of the following conditions:
1. The business interface extends java.rmi.Remote.
2. Put the generated stub on client side when the invocation of method is via
remote proxy through RMI remote call. The local invocation within one
JVM will succeed as well.
3. The remote call is via iiop protocol, not t3 protocol.
4. The method in business interface has no generic information. It will be ok
if the method only has generic info declared on class level of business
interface, and the type variable is parameterized with raw
type. For example:
Interface RootI < T > {
public void hello (T t ) ;
public < S extends Comparable > S testComp ( T t , S s ) ;
//Business interface
Interface StatelessI extends RootI < String > {
Though business interface doesn't extend Remote, whatever through remote call
or local call, the invocation on StatelessI.hello(String) will be ok. But
remote invocation on StatelessI.testComp() will fail when no generated stub
on client side.
Release note text:
The general issue is covered in Dante EJB docs at
http://edocs.bea.com/wls/docs100/ejb30/implementing.html#wp1205541
Known and resolved issues: EJBs
http://edocs.bea.com/wls/docs100/issues/known_resolved.html#wp1131925
EJBs with generic information fail when all of the following conditions are
met:
The business interface doesn't extend java.rmi.Remote.
The invocation of method is via remote proxy through RMI remote call, and
there is no generated stub on client side. The local invocation within one
JVM will succeed.
The remote call is via t3 protocol, not iiop protocol.
The method in the business interface has generic information; that is, type
parameters or a generic type like List<String> as a parameter type.
Workaround or Solution:
Make sure you fulfill any of the following conditions:
Write your business interface to extend java.rmi.Remote.
Put the generated stub on the client side when the invocation of method is
via remote proxy through a RMI remote call. The local invocation within one
JVM will succeed as well.
Make the remote call via the iiop protocol, not the t3 protocol.
Either do not use generic information in the business interface method, or
use only generic information declared on the class level of the business
interface with the type variable parameterized with raw type. For example:
Interface RootI<T> {
public void hello(T t);
public <S extends Comparable> S testComp(T t, S s);
//Business interface
Interface StatelessI extends RootI<String>{
Though the business interface doesn't extend Remote, whether through remote
call or local call, the invocation on StatelessI.hello(String) will work. But
remote invocation on StatelessI.testComp() will fail when there is no
generated stub on the client side. -
NPE in AutoRegisterActionServlet.ensureModuleRegistered
Not sure if this is a Server- or Workshop-related question, but here goes.
In the log file below, it appears that perhaps a module in our enterprise app has undeployed itself. Does this cause, or is it caused by, the deserialization error reported next? Is it possible to know which data failed to deserialize?
This error --
<Could not deserialize session data.
java.lang.ClassNotFoundException: controls.catalog.CatalogControl: This error could indicate that a component was deployed on a cluster member but not other members of that cluster. Make sure that any component deployed on a server that is part of a cluster is also deployed on all other members of that cluster
-- is a little odd in that we've seen it in a non-clustered environment as well. The class is deployed in the standalone dev server as well as the production cluster. Any ideas?
This is 8.1 SP2.
Thanks for any suggestions.
kinman
<ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-101020> <[ServletContext(id=5861640,name=hng,context-path=/hng)] Servlet failed with Exception
java.lang.NullPointerException
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.ensureModuleRegistered(AutoRegisterActionServlet.java:619)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:141)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:305)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1094)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:651)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1094)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:651)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(PageFlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedirector.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:638)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6354)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
####<Nov 10, 2004 7:09:38 PM EST> <Error> <HTTP Session> <CWCCDG-ATLAS> <ConsumerServer2> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-100028> <Could not deserialize session data.
java.lang.ClassNotFoundException: controls.catalog.CatalogControl: This error could indicate that a component was deployed on a cluster member but not other members of that cluster. Make sure that any component deployed on a server that is part of a cluster is also deployed on all other members of that cluster
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:321)
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:236)
at weblogic.common.internal.ProxyClassResolver.resolveProxyClass(ProxyClassResolver.java:31)
at weblogic.common.internal.ProxyClassResolver.resolveProxyClass(ProxyClassResolver.java:22)
at weblogic.common.internal.WLObjectInputStream.resolveProxyClass(WLObjectInputStream.java:53)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1469)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1432)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.servlet.internal.AttributeWrapper.convertBytesToObject(AttributeWrapper.java:173)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:114)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:69)
at weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:431)
at com.bea.wlw.netui.pageflow.scoping.ScopedServletUtils.getScopedSessionAttr(ScopedServletUtils.java:328)
at com.bea.wlw.netui.pageflow.PageFlowUtils.getCurrentActionResolver(PageFlowUtils.java:399)
at com.bea.wlw.netui.pageflow.PageFlowUtils.getCurrentPageFlow(PageFlowUtils.java:387)
at com.bea.wlw.netui.pageflow.util.PageflowTagUtils.isAction(PageflowTagUtils.java:245)
at com.bea.wlw.netui.tags.html.Form.lookup(Form.java:910)
at com.bea.wlw.netui.tags.html.Form.doStartTag(Form.java:555)
at jsp_servlet._resources._jsp.__header._jspService(header.jsp:62)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
at jsp_servlet._resources._jsp.__basic_45_template._jspService(basic-template.jsp:38)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at com.bea.wlw.netui.tags.template.Template.doEndTag(Template.java:269)
at jsp_servlet._resources._jsp.__error._jspService(error.jsp:37)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:375)
at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3913)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
####<Nov 10, 2004 7:09:38 PM EST> <Error> <Kernel> <CWCCDG-ATLAS> <ConsumerServer2> <ExecuteThread: '10' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-000802> <ExecuteRequest failed
java.lang.IllegalStateException: Not in application context.
java.lang.IllegalStateException: Not in application context
at com.bea.p13n.management.ApplicationHelper.getApplicationName(ApplicationHelper.java:134)
at com.bea.p13n.entitlements.servlets.jsp.taglib.IsUserInRoleTag.<init>(IsUserInRoleTag.java:56)
at jsp_servlet._resources._jsp.__header._jspService(header.jsp:78)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
at jsp_servlet._resources._jsp.__basic_45_template._jspService(basic-template.jsp:38)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
at com.bea.wlw.netui.tags.template.Template.doEndTag(Template.java:269)
at jsp_servlet._resources._jsp.__error._jspService(error.jsp:37)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:307)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:375)
at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3913)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>I just checked the changelog. There's nothing relevant that I can see.
I'll take this offline and open an SR. Please email me at charles.lamb.
Thanks.
-cwl -
I have a UserManager subclass which has to call session beans running in the application server.
I successfully got my BeanRemoteHome object, but when I call "home.create()", I get the following exception:
java.lang.NullPointerException
com.evermind.security.User com.evermind.server.ThreadState.getUser()
ThreadState.java:135
com.attws.it.bsa.felix.ejb.session.UserEventManagerRemote UserEventManagerRemoteHome_StatelessSessionHomeWrapper6.create()
UserEventManagerRemoteHome_StatelessSessionHomeWrapper6.java:61
boolean com.attws.it.bsa.felix.common.utils.LoggingUserManager.checkPassword(java.lang.String, java.lang.String)
LoggingUserManager.java:85
boolean com.orionsupport.security.SimpleUserManager$UserWrapper.authenticate(java.lang.String)
SimpleUserManager.java:63
boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
HttpRequestHandler.java:559
void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:243
void com.evermind.util.ThreadPoolThread.run()
ThreadPoolThread.java:64
My code doesn't abort anything when this fails, it just goes on. Except for not being able to get this Remote interface in the UserManager class, my application starts up fine, and I'm able to perform operations.As an update, I just spent the last two hours writing a MDB to take the place of the session bean, in case that was the problem. I got past the obstacles that OC4J docs presented to me (specifying "jms-destination-type" instead of "destination-type", and neglecting to mention that you need to change the DOCTYPE to specify EJB 2.0 instead of 1.1) and successfully deployed an MDB, then I put some code into my UserManager to send a queue message instead of calling a session bean. When it finally got to the point of sending the message, I got the exception in the exact same place (this is from standalone OC4J, which is why the line number is 139 instead of 135):
java.lang.NullPointerException
at com.evermind.server.ThreadState.getUser(ThreadState.java:139)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:701)
at com.evermind.server.ejb.MessageDrivenHome.process(MessageDrivenHome.java:892)
at com.evermind.server.jms.ServerQueue.add(ServerQueue.java:88)
at com.evermind.server.jms.JMSServer.addMessage(JMSServer.java:313)
at com.evermind.server.jms.LocalQueueConnection.send(LocalQueueConnection.java:46)
at com.evermind.server.jms.EvermindQueueSession.send(EvermindQueueSession.java:117)
at com.evermind.server.jms.EvermindQueueSender.send(EvermindQueueSender.java:75)
at com.evermind.server.jms.EvermindQueueSender.send(EvermindQueueSender.java:36)
at com.evermind.server.jms.EvermindQueueSender.send(EvermindQueueSender.java:31)
at com.attws.it.bsa.felix.common.utils.LoggingUserManager.checkPassword(LoggingUserManager.java:134)
at com.orionsupport.security.SimpleUserManager$UserWrapper.authenticate(SimpleUserManager.java:63)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:559)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:243)
at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64) -
Jdev 11.1.3 throws NPE from editor
this is the error received.. is ther a fix for this it happens alot ?
java.lang.NullPointerException
com.cajhughes.jdev.override.view.OverrideEditorListener.editorOpened()
o.ii.editor.EditorManagerImpl.fireEditorEvent(EditorManagerImpl.java:1005)
o.ii.editor.EditorManagerImpl.whenEditorOpened(EditorManagerImpl.java:2923)
o.ii.editor.EditorState.openEditor(EditorState.java:302)
o.ii.editor.EditorState.createEditor(EditorState.java:184)
o.ii.editor.EditorState.getOrCreateEditor(EditorState.java:95)
o.ii.editor.SplitPaneState.canSetEditorStatePos(SplitPaneState.java:232)
o.ii.editor.SplitPane.setCurrentEditorStatePos(SplitPane.java:1228)
o.ii.editor.SplitPane$1.valueChanged(SplitPane.java:133)
o.i.controls.customtab.CustomTab.fireSelectionChange(CustomTab.java:294)
o.i.controls.customtab.CustomTab._setSelectedPage(CustomTab.java:625)
o.i.controls.customtab.CustomTab.setSelectedPage(CustomTab.java:586)
o.i.controls.customtab.CustomTab.selectPageAt(CustomTab.java:640)
o.i.controls.customtab.CustomTab.mousePressed(CustomTab.java:990)
j.a.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
j.a.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
j.a.Component.processMouseEvent(Component.java:6260)
jx.s.JComponent.processMouseEvent(JComponent.java:3267)
j.a.Component.processEvent(Component.java:6028)
j.a.Container.processEvent(Container.java:2041)
j.a.Component.dispatchEventImpl(Component.java:4630)
j.a.Container.dispatchEventImpl(Container.java:2099)
j.a.Component.dispatchEvent(Component.java:4460)
j.a.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
j.a.LightweightDispatcher.processMouseEvent(Container.java:4235)
j.a.LightweightDispatcher.dispatchEvent(Container.java:4168)
j.a.Container.dispatchEventImpl(Container.java:2085)
j.a.Window.dispatchEventImpl(Window.java:2478)
j.a.Component.dispatchEvent(Component.java:4460)
j.a.EventQueue.dispatchEvent(EventQueue.java:599)
j.a.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
j.a.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
j.a.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
j.a.EventDispatchThread.run(EventDispatchThread.java:122)Hi Rob,
From the exception stack reported, it appears that you are hitting an error with the "Add Overrides" extension that I developed - the quickest solution I can offer is for you to temporarily disable this extension until this issue has been resolved.
I have logged this in the "issue log" for the project on Google Code, http://code.google.com/p/jdev-addoverrides/ , and you can track progress on resolving this problem there.
Thanks for reporting this error, and apologies for any problems this has caused you.
Chris Hughes -
we are seeing npe when we spawn con. threads and try to place values in a treemap
java.lang.NullPointerException
at java.lang.Long.compareTo(Long.java:923)
at java.lang.Long.compareTo(Long.java:34)
at java.util.TreeMap.cmp(TreeMap.java:2273)
at java.util.TreeMap.get(TreeMap.java:2189)
at java.lang.Thread.run(Thread.java:619)
this used to work in 1.6.0_11 but once we change to the later version of jvm 1.6.0_20 it fails with above error
we add debug it works fine in update 20 too... this is a startup servlet
OS -solaris-sparcv9
Edited by: user13115160 on Dec 9, 2010 3:43 PM
Edited by: user13115160 on Dec 10, 2010 12:39 PMAs someone already mentioned, you may have coded things not quite right for them to be thread safe and while the newer jvm exploits the specifications (and memory model) more to achieve higher performance, your problem surfaces.
In case you used hand-crafted synchronization on the TreeMap, I think you can quickly find out whether you did that right by temporarily switching to a synchronized Map as suggested by the TreeMap documentation:
>
If no such object exists, the map should be "wrapped" using the Collections.synchronizedSortedMap method. This is best done at
creation time, to prevent accidental unsynchronized access to the map:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
Assuming that this synchronization (done by pros ;-)) is correct and a test run does not yield the same errors, you may want to revise your handcrafted sync code. -
Mixing static and dynamic content in a single outputText value causes NPEs
Hi,
I am having a problem and I'm wondering if it is a result of my error or if this is a bug.
I am mixing dynamic and static content in the value attribute of tags (e.g., outputText). On initial page load, everything works fine. However, if the same view is reloaded (e.g., after a failed validation) I get an NPE from JSF:
[#|2006-10-24T08:49:03.756-0500|SEVERE|sun-appserver-pe8.2|javax.enterprise.system.container.web|_ThreadID=12;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at com.sun.faces.el.MixedELValueParser.getNextToken(MixedELValueParser.java:140)
at com.sun.faces.el.MixedELValueParser.parse(MixedELValueParser.java:123)
at com.sun.faces.el.MixedELValueBinding.getValue(MixedELValueBinding.java:60)
at javax.faces.component.UIOutput.getValue(UIOutput.java:147)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:82)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:201)
at com.sun.faces.renderkit.html_basic.LabelRenderer.encodeBegin(LabelRenderer.java:128)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:683)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:443)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:233)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:130)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:233)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:130)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:233)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:609)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
at com.sun.faces.taglib.html_basic.PanelGridTag.doEndTag(PanelGridTag.java:460)
at org.apache.jsp.registration_jsp._jspx_meth_h_panelGrid_0(registration_jsp.java:324)
at org.apache.jsp.registration_jsp._jspx_meth_h_form_0(registration_jsp.java:223)
at org.apache.jsp.registration_jsp._jspx_meth_f_view_0(registration_jsp.java:157)
at org.apache.jsp.registration_jsp._jspService(registration_jsp.java:118)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:297)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:247)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:482)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:417)
at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:80)
at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:326)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:132)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:194)
at sun.reflect.GeneratedMethodAccessor202.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)My code looks like this:
<h:outputText escape="false"
value='<link href="#{myBean.styleSheet}" rel="stylesheet" type="text/css" />' />If I replace this with a much more convoluted set of tags, it works:
<h:outputText escape="false"
value='<link href="' /><h:outputText escape="false" value="#{myBean.styleSheet}"
/><h:outputText escape="false" value='" rel="stylesheet" type="text/css" />' />So is the problem that I am mixing dynamic and static content with a single value? If so, why does it work on the first view, and not after?
If it matters, I'm using the reference implementation version 1.1 (as included with NetBeans 5.5RC2) on SuSE 10.0 w/ JDK 1.5_09.
Thanks,
BillYes, that's how I originally had it, but then changed it to the outputText approach since a single tag could do what I wanted, as long as I was allowed to mix static and dynamic content within a single value.
I think this is a bug in JSF 1.1, since if what I am doing is illegal, it should throw an exception on the first page view, not work on first view and throw an exception on subsequent views. I'm guessing that this has something to do with the fact that on first page view it only runs the restore view and render response JSF phases, while on subsequent requests all of the phases will be run, and it's in one of those other phases that the exception is thrown.
For now, multiple tags is the work-around, I guess.
Thanks,
Bill -
Essbase JAPI maxl session gives NPE with import statement
Anybody know why I get a NPE from the Java API when trying to use the IEssMaxlSession to do an import? Here's my code snippet. I've verified the session work using the simpler maxl command commented out below. I also know the import syntax is OK at the maxl prompt. Essbase Error(0) isn't the most helpful diagnostic I've come across.
Thanks
IEssMaxlSession maxlSess = null;
try {
maxlSess = olapSvr.openMaxlSession("Maxl Test");
try {
String maxl;
// maxl = "display database \"184_r\".rep";
maxl = "import database \"184_a\".agg dimensions connect as \"admin\" identified by \"password\" using server rules_file '/TmpltRFs/RFs/Plan.rul' on error write to \"errlog.log\"";
logger.debug(maxl);
maxlSess.execute(maxl);
printMessages(maxlSess.getMessages());
} catch (EssException e) {
printMessages(maxlSess.getMessages());
logger.debug(e.getMessage());
e.printStackTrace();
} catch (EssException e){
logger.debug(e.getMessage());
14:47:40 DEBUG (essbase.RunMaxl 109): Cannot execute maxl statement. Essbase Error(0): java.lang.NullPointerException
com.essbase.api.base.EssException: Cannot execute maxl statement. Essbase Error(0): java.lang.NullPointerException
at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
at com.essbase.server.framework.EssOrbPluginDirect.executeMaxlStatement(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMaxlMethod(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)This is due to the unpublished Bug 12661416: MAXL STATEMENT IMPORT DB DIMENSIONS FROM RELATIONAL DATABASE FAILS WITH JAPI. This error is not fixed in next release.
However, there is one workaround.
"As a workaround we installed Essbase client 9.3.1 on the epm11 test box, copied native libraries from 9.3.1 admin server and connected to maxl shell from the v 9.3.1 maxljni interface. This seems to work fine."
Edited by: Karthik_P on Apr 9, 2012 1:12 PM -
NullPointerException from InvocationService
Hi,
we received the following NPE from InvocationService, I believe, on a task timeout.
java.lang.NullPointerException
at com.tangosol.util.SafeLinkedList.getNode(SafeLinkedList.java:819)
at com.tangosol.util.SafeLinkedList.get(SafeLinkedList.java:415)
at java.util.AbstractList$Itr.next(AbstractList.java:345)
at com.tangosol.coherence.component.util.DaemonPool.checkHungTasks(DaemonPool.CDB:17)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.onNotify(Service.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:142)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:619)It happened during an InvocationService.query() call.
Best regards,
RobertHi David,
thanks for your quick response.
We can try to install the patch (actually we were using 3.5.1), but I would not be able to tell if it fixes the problem, because it happened only once so far, and weren't able to reliably reproduce it, yet.
Best regards,
Robert -
Odd NullPointerException from static variable
I have a weird NPE from the following piece of code
public class DefaultConnectionHandler extends ConnectionHandlerImpl
public void run()
catch (Throwable t)
if (severity == null)
severity = ResultSeverity.FAILURE;
c_log.error("Unexpected exception handling connection", t);
}c_log is a log4j (1.3) Logger defined in ConnectionHandlerImpl
public abstract class ConnectionHandlerImpl implements ConnectionHandler
protected static Logger c_log = Logger.getLogger(DefaultConnectionHandler.class);
...The NPE shows the c_log line as the first stack dump line - now I can't figure how this can be possible. As far as I'm aware, log4j will not return null for getLogger(), so c_log cannot be null. This occurred when shutting down the vm, so is there any chance the VM can unload classes while there are still instances of that class or is the only anwer that getLogger MUST have returned null. This is Java 6 u23.
Edited by: EJP on 31/03/2011 11:06: added code tags. Please use them.848753 wrote:
c_log is not final, but it's not assigned anywhere else. It's used a lot in the instance, but I'm trying to get hold of the full log to see if any log messages were generated by it before the NPE, but I've got to wait until they wake up :(
I meant in the constructor, it calls
this.server = server;
server.registerTransport(transport);It's also not final, but that's the only place it's assigned.Make it final. It's possible (though seems unlikely) that one thread is assigning it, and since it's not final, another thread is only seeing its cached value--the default null. Making it final will correct the problem if that's it, or at the very least, eliminate it is a candidate now and possible source of other trouble in the future. -
I tried out this small code for using hashset but it gives exceptions. I have no idea why is it so?
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
class Students implements Comparable
private String name;
private float gpa = 0.0F;
Students(String n, float g)
name = n;
gpa = g;
Students(){}
public String getName() {
return name;
public float getGpa() {
return gpa;
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
if(this.getGpa() > ((Students)o).getGpa())
return 1;
else if(this.getGpa() < ((Students)o).getGpa())
return -1;
else
return 0;
public boolean equals(Object o){
if(this.getGpa() == ((Students)o).getGpa())
return true;
else
return false;
public int hashCode(){
return (int)(10*gpa);
public class HashFunction {
public static void main(String args[]){
Students s1= new Students("Fred", 3.0F);
Students s2 = new Students("Sam", 3.1F);
Students s3 = new Students("Steve", 3.5F);
Set s = new HashSet();
s.add(s1);
s.add(s2);
s.add(s3);
Iterator i = s.iterator();
while(i.hasNext())
System.out.println(((Students)i.next()).getName() + " " + ((Students)i.next()).getGpa());
}The exception trace that is generated is as follows:
Exception in thread "main" java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at HashFunction.main(HashFunction.java:68)roaan wrote:
I had one more question. I am reading from the file like this
String word;
word = file.nextWord();
try{
while(word != null)
word = word.toLowerCase();
wf.put(word);
word = file.nextWord();
catch(Exception e){
e.printStackTrace();
}Now when the end of the file is reached word contains null and throws a nullpointer exception. I am catching that exception but is there a way out that when my word is null i should simply exit out of the loop (i check that word is not equal to null in my while loop but still it throws an excpetion).Nothing there can throw NPE from word being null. The only possibilities of NPE in the code you posted are
1. if file is null
2. if wf is null
3. if NPE is being thrown inside nextWord(), which has nothing to do with word being null.
Once you make sure that the above are not happening, that code will be fine and you won't need to catch NPE. And in fact, catching NPE like that is bad practice anyway. -
The appraisal pages error out when I apply my VO substitution
Hi All
We are in the process of performing an upgrade from 11i to R12.1.3.
In the 11i instance, Appraisal VO (/oracle/apps/per/selfservice/appraisals/server/AppraisalVO) was substituted to add one more entry in the select clause.
As part of R12, this underlying standard VO has undergone some changes in the select clause. So I have re-done the substitution.
But when I try to apply this substitution, the pages accessing AppraisalVO error out with null pointer exceptions.
The VO is being used in multiple flows. All the flows are throwing NPEs from standard code.
An example of the error from one such flow is as below :
java.lang.Thread.run(Thread.java:619) ## Detail 0 ## java.lang.NullPointerException at oracle.apps.per.selfservice.appraisals.server.AppraisalsAMImpl.isParticipantsReviewDisplayed(AppraisalsAMImpl.java:1642)
The line of code at 1642 is as below:
return new Boolean(!appraisalvorowimpl.getSelfAppraisal().booleanValue());
Any pointers?
- Thanks
DeepikaHi Gyan
Yes, as you rightly said, even I could make out that the issue is because getSelfAppraisal() is getting returned as null
But the issue is that when I run the query standalone on Toad, with appraisal ID as parameter, it returns me the row.
However, SelfAppraisal is a transient attribute in the VO and hence am unable to ascertain if the value is getting returned as null or not.
Also, I observed that all the others flows where we are facing NPEs are also originating from the line of code in standard files, where they are trying to access the getters of the RowImpl.
The system is able to get the handle to the RowImpl, however when trying to access the getters in the RowImpl, it errors out.
Any pointers?
- Thanks
Deepika
Maybe you are looking for
-
Issue of material should not be allowed if stock not available on that date
All SAP Gurus, If we have zero stock for a material on 01.02.2009. We make GR on 10.02.2009. Now, if we try to issue the material on 01.02.2009 (after making GR on date 10.02.2009). Then system allows me to post the document. We don't want to restric
-
I install this messaging : Sun Java(tm) System Messaging Server 6.2-8.04 (built Feb 28 2007) libimta.so 6.2-8.04 (built 19:20:35, Feb 28 2007) SunOS sunmail 5.10 Generic_125101-01 i86pc i386 i86pc My problem is: When user send email to internet user
-
Is there a way to prevent a factory reset on ipad2
I see a lot of threads from last year, however I was wondering if there was a solution to this problem? I am an adminisrator for a hospital, and several doctors request ipads. I am worried about security and if one of the doctors have their ipads s
-
Hi, We have travel expense workflow. We are callingn function module to create a trip in custom code. This triggers a workflow. Our workflow works in Dev system but doesnt set the status of the trip properly in Quality. I did a comparision by downlod
-
On the BBC website I try to open news clip videos but it informs me I do not have the latest adobe software. I then download it but it still comes up with the comment 'unable to view as you do not have the latest version of adobe flash'. I can view