Hi,

I’m having a very weird error that I cannot pin down at all. The setup is an 
app using ERPersistentSessionStorage deployed on Tomcat 7 (Elastic Beanstalk) 
behind an SSL enabled load balancer. On one of the pages I get an NPE on page 
load without fail. By process of elimination I’ve determined that the WOForm 
embedded in the page is causing the NPE, but I have no idea why. If I remove 
it, all works well.  I can even leave all the content that was wrapped in the 
form and the page will load without the form itself being there. Another page 
has a WOForm in it without any issue. I’ve tried running the page statelessly 
and statefully. 

Entry to the page uses the following apache rewrite:

RewriteCond %{REQUEST_URI} ^/product [NC]
RewriteRule ^/product/([a-z-]+)/([a-z-]+)$ 
/WebObjects/CCILogisticsService.woa/wa/viewPage?pageName=Product&brandIdentifier=$1&productIdentifier=$2
 [PT]

In my Application class my ‘shouldRestoreSessionOnCleanEntry' looks like this:

public boolean shouldRestoreSessionOnCleanEntry(WORequest request) 
    {
        Boolean shouldRestore = Boolean.FALSE;
        try
        {
            ERPersistentSessionStore sessionStore = (ERPersistentSessionStore) 
this.sessionStore();
            Session session = (Session) 
sessionStore.restoreSessionWithID(request.sessionID(), request);
            if (null != session) { shouldRestore = Boolean.TRUE; }
        }
        catch (Exception exception) { log.error("null values were passed in 
during check for shouldRestoreSessionOnCleanEntry"); }
        return shouldRestore.booleanValue();
    }

I’m completely stuck on this one. I don’t even know where to look or what is 
causing the issue. Any help would be appreciated. I’ve pasted in the NPE stack 
trace below.

SEVERE: Servlet.service() for servlet [WOServletAdaptor] in context with path 
[] threw exception
com.webobjects.foundation.NSForwardException 
[java.lang.IllegalArgumentException] Attempt to insert null object into an  
com.webobjects.foundation.NSDictionary.:<er.extensions.appserver.ERXDirectActionRequestHandler>:
 Exception while trying to generate an error response: 
java.lang.IllegalArgumentException: Attempt to insert null object into an  
com.webobjects.foundation.NSDictionary.
        at 
com.webobjects.appserver._private.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:320)
        at 
com.webobjects.appserver._private.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:161)
        at 
er.extensions.appserver.ERXDirectActionRequestHandler.handleRequest(ERXDirectActionRequestHandler.java:128)
        at 
com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
        at 
er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2127)
        at 
er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2092)
        at 
com.webobjects.jspservlet._WOApplicationWrapper.servletDispatchRequest(_WOApplicationWrapper.java:131)
        at 
com.webobjects.jspservlet.WOServletAdaptor._handleRequest(WOServletAdaptor.java:727)
        at 
com.webobjects.jspservlet.WOServletAdaptor.doGet(WOServletAdaptor.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at 
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: Attempt to insert null object 
into an  com.webobjects.foundation.NSDictionary.
        at com.webobjects.foundation.NSDictionary.<init>(NSDictionary.java:197)
        at 
com.webobjects.eoaccess.EOUtilities.objectsMatchingKeyAndValue(EOUtilities.java:189)
        at 
er.extensions.eof.EOEnterpriseObjectClazz.objectsMatchingKeyAndValue(EOEnterpriseObjectClazz.java:350)
        at 
er.extensions.eof.EOEnterpriseObjectClazz.objectMatchingKeyAndValue(EOEnterpriseObjectClazz.java:375)
        at 
er.persistentsessionstorage.ERPersistentSessionStore.restoreSessionWithID(ERPersistentSessionStore.java:36)
        at 
com.webobjects.appserver.WOSessionStore.checkOutSessionWithID(WOSessionStore.java:182)
        at 
com.webobjects.appserver.WOApplication.restoreSessionWithID(WOApplication.java:1913)
        at 
er.extensions.appserver.ERXApplication.restoreSessionWithID(ERXApplication.java:2421)
        at 
com.webobjects.jspservlet.WOServletContext.session(WOServletContext.java:107)
        at com.webobjects.appserver.WOComponent.session(WOComponent.java:1324)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636)
        at 
com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
        at 
com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324)
        at 
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736)
        at 
com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447)
        at 
com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:216)
        at 
com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804)
        at 
com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50)
        at 
com.webobjects.appserver.WOComponent.pullValuesFromParent(WOComponent.java:524)
        at 
com.webobjects.appserver._private.WOComponentReference._pushComponentInContext(WOComponentReference.java:102)
        at 
com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:134)
        at 
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
        at 
com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
        at 
com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
        at 
er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:195)
        at 
com.webobjects.appserver.WOComponent._appendPageToResponse(WOComponent.java:1574)
        at 
com.webobjects.appserver.WOComponent._generateResponseInContext(WOComponent.java:1543)
        at 
com.webobjects.appserver.WOComponent.generateResponse(WOComponent.java:1538)
        at 
co.coralstone.logistics.service.Application.handleException(Application.java:87)
        at 
com.webobjects.appserver._private.WODirectActionRequestHandler.generateErrorResponse(WODirectActionRequestHandler.java:126)
        at 
com.webobjects.appserver._private.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:318)
        ... 31 more
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to