I’ve been wrestling Ponder’s R2D2W for the last couple of days and still haven’t got my application to run. I don’t remember it being this difficult last time — it’s been quite a long time, so there’s a lot I can’t remember! ;-)
I have my model in a framework and, when the application starts for the first time, the tables are created automatically by the migrations. I can attest that by looking at the database with pgAdmin3.
When it try to load the app on a browser, it gives an internal server error right away. Eclipse’s console shows:
DEBUG (ERXNSLogLog4jBridge.java:47) - Waiting for requests...
DEBUG (ERXNSLogLog4jBridge.java:47) - === Begin Internal Transaction
DEBUG (ERXNSLogLog4jBridge.java:47) - evaluateExpression: <com.webobjects.jdbcadaptor.PostgresqlExpression: "SELECT t0.expirationDate, t0.intLock, t0.sessionData, t0.sessionID FROM ERSessionInfo t0 WHERE t0.sessionID = ?::varchar(50)" withBindings: 1:"G0PMbWkEZjstz81hjeAENg"(sessionID)>
DEBUG (ERXEOAccessUtilities.java:1310) - "ERSessionInfo"@1634387050 _expression_ took 2 ms: SELECT t0.expirationDate, t0.intLock, t0.sessionData, t0.sessionID FROM ERSessionInfo t0 WHERE t0.sessionID = ?::varchar(50) withBindings: 1:G0PMbWkEZjstz81hjeAENg[sessionID]
DEBUG (ERXNSLogLog4jBridge.java:47) - 0 row(s) processed
DEBUG (ERXNSLogLog4jBridge.java:47) - === Commit Internal Transaction
WARN (ERXNSLogLog4jBridge.java:44) - <br.com.codeprint.CodeCRMAdmin.DirectAction>: Exception in performActionNamed() on the action "default" with the message: java.lang.NullPointerException
ERROR (ERD2WDirectAction.java:466) - Error with action default:java.lang.NullPointerException, formValues:{}
java.lang.NullPointerException
at er.auth.ERStageManager.wakeActor(ERStageManager.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:122)
at com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:588)
at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:532)
at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:546)
at com.webobjects.appserver.WOApplication.restoreSessionWithID(WOApplication.java:1919)
at er.extensions.appserver.ERXApplication.restoreSessionWithID(ERXApplication.java:2390)
at er.extensions.appserver.ERXWOContext.existingSession(ERXWOContext.java:57)
at er.extensions.appserver.ERXWOContext.hasSession(ERXWOContext.java:69)
at com.webobjects.appserver.WOComponent.hasSession(WOComponent.java:1307)
at er.extensions.components.ERXStyleSheet.languages(ERXStyleSheet.java:160)
at er.extensions.components.ERXStyleSheet.styleSheetUrl(ERXStyleSheet.java:101)
at er.extensions.components.ERXStyleSheet.appendToResponse(ERXStyleSheet.java:188)
at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at com.webobjects.appserver._private.WOComponentContent.appendToResponse(WOComponentContent.java:51)
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.directtoweb.components.ERD2WStatelessComponent.appendToResponse(ERD2WStatelessComponent.java:57)
at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at com.webobjects.appserver._private.WOGenericContainer.appendToResponse(WOGenericContainer.java:44)
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:187)
at er.extensions.components.ERXNonSynchronizingComponent.appendToResponse(ERXNonSynchronizingComponent.java:79)
at br.com.codeprint.CodeCRMAdmin.components.PageWrapper.appendToResponse(PageWrapper.java:39)
at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135)
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 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 com.webobjects.appserver.WODirectAction.defaultAction(WODirectAction.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.webobjects.appserver.WODirectAction.performActionNamed(WODirectAction.java:144)
at er.extensions.appserver.ERXDirectAction.performActionNamed(ERXDirectAction.java:404)
at er.directtoweb.ERD2WDirectAction.performActionNamed(ERD2WDirectAction.java:449)
at com.webobjects.appserver._private.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:259)
at com.webobjects.appserver._private.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:158)
at er.extensions.appserver.ERXDirectActionRequestHandler.handleRequest(ERXDirectActionRequestHandler.java:127)
at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
at er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2103)
at er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2068)
at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
at java.lang.Thread.run(Thread.java:745)
Two more errors are shown when the app tries to show the exception: "Exception while trying to report exception!” and "Exception occurred while responding to client”. Both stack traces seems to break in er.auth.ERStageManager.wakeActor(), same line.
I am sure it’s a silly little details that I’m overlooking, but not sure what.