Re: NPE deep in EOEntity

Zak Burke <[email protected]>
Newsgroups gmane.comp.web.webobjects.devel
Message-ID <[email protected]>
Mike Schrag wrote on 4/19/07 2:23 PM:
> Check for a bug in a flattened relationship definition ... If you run 
> with Wonder src, you can add a debug println in 
> ERXModelGroup.adjustLocalizedAttributes to print out the entity name 
> that it's failing in to narrow your search.  You can also grep 
> definition *.plist in your .eomodeld folder and see if anything looks 
> particularly weird.

Examining my flattened relationships, nothing looked funny, but I 
zapped 'em anyway just for grins. The app started. (Great!) Then I 
started restoring the relationships one by one. Each time, the app 
started. (Great!) And finally I had restored all the relationships, 
and the app started. (Great! Wait, what the...?)

My model is now fully restored from CVS, and everything works 
correctly, just like it always did.

I must have fallen down a rabbit hole. Or more likely, Eclipse 
wasn't correctly updating its build directory.

Thanks for the help,

zak.




> On Apr 19, 2007, at 2:12 PM, Zak Burke wrote:
> 
>> Any idea what could cause the following exception? A corrupt model 
>> file, maybe? (Although Entity Modeler loads it fine...) Is there a way 
>> to get WO to tell me what relationship-path is failing?
>>
>> I don't normally make statements like, "I SWEAR I didn't change 
>> ANYTHING, but now teh app is BROKE! WO is teh suck! PLEASE HELP!!!!!" 
>> but I'm kinda lost here. My model hasn't changed in ages, but suddenly 
>> my app won't run.
>>
>> The last method called in my project, 
>> org.thei3p.fetch.I3pFetch.get(I3pFetch.java:126) is a pretty 
>> straightforward fetch retrieving all EOs of a certain class. The rows 
>> in that table, likewise, haven't changed in a long time.
>>
>> TIA,
>>
>> zak.
>>
>>
>>
>> Apr 19 13:50:54 i3p-cms[2003] (ERXNSLogLog4jBridge.java:41) WARN
>> NSLog  - A fatal exception occurred: null
>> [2007-04-19 13:50:54 EDT] <main> java.lang.NullPointerException
>>         at
>> com.webobjects.eoaccess.EOEntity._parseRelationshipPath(EOEntity.java:2867) 
>>
>>         at
>> com.webobjects.eoaccess.EORelationship.setDefinition(EORelationship.java:1237) 
>>
>>         at
>> com.webobjects.eoaccess.EORelationship.awakeWithPropertyList(EORelationship.java:875) 
>>
>>         at
>> com.webobjects.eoaccess.EOEntity.relationships(EOEntity.java:854)
>>         at
>> com.webobjects.eoaccess.EOEntity.relationshipNamed(EOEntity.java:708)
>>         at
>> com.webobjects.eoaccess.EOEntity.classProperties(EOEntity.java:887)
>>         at
>> er.extensions.ERXModelGroup.adjustLocalizedAttributes(ERXModelGroup.java:511) 
>>
>>         at
>> er.extensions.ERXModelGroup.adjustLocalizedAttributes(ERXModelGroup.java:504) 
>>
>>         at
>> er.extensions.ERXModelGroup.loadModelsFromLoadedBundles(ERXModelGroup.java:183) 
>>
>>         at
>> er.extensions.ERXExtensions.defaultModelGroup(ERXExtensions.java:83)
>>         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
>> com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:120) 
>>
>>         at
>> com.webobjects.foundation._NSDelegate._perform(_NSDelegate.java:225)
>>         at
>> com.webobjects.foundation._NSDelegate.perform(_NSDelegate.java:158)
>>         at
>> com.webobjects.eoaccess.EOModelGroup.defaultGroup(EOModelGroup.java:365)
>>         at
>> com.webobjects.eoaccess.EOModelGroup.modelGroupForObjectStoreCoordinator(EOModelGroup.java:887) 
>>
>>         at
>> com.webobjects.eoaccess.EODatabaseContext._cooperatingObjectStoreNeeded(EODatabaseContext.java:1264) 
>>
>>         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
>> com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:120) 
>>
>>         at
>> com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:601) 
>>
>>         at
>> com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:545) 
>>
>>         at
>> com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:575) 
>>
>>         at
>> com.webobjects.eocontrol.EOObjectStoreCoordinator.requestStore(EOObjectStoreCoordinator.java:213) 
>>
>>         at
>> com.webobjects.eocontrol.EOObjectStoreCoordinator.objectStoreForFetchSpecification(EOObjectStoreCoordinator.java:293) 
>>
>>         at
>> com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:530) 
>>
>>         at
>> com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4114) 
>>
>>         at
>> com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4500) 
>>
>>         at org.thei3p.fetch.I3pFetch.get(I3pFetch.java:126)
>>         at org.thei3p.fetch.CmsFetch.templates(CmsFetch.java:357)
>>         at
>> org.thei3p.CmsApplication.chromeTemplates(CmsApplication.java:282)
>>         at org.thei3p.CmsApplication.cacheInit(CmsApplication.java:261)
>>         at org.thei3p.CmsApplication.<init>(CmsApplication.java:92)
>>         at org.thei3p.cms.Application.<init>(Application.java:86)
>>         at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>         at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
>>
>>         at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
>>
>>         at
>> java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>>         at java.lang.Class.newInstance0(Class.java:350)
>>         at java.lang.Class.newInstance(Class.java:303)
>>         at
>> com.webobjects.appserver.WOApplication.main(WOApplication.java:323)
>>         at er.extensions.ERXApplication.main(ERXApplication.java:401)
>>         at org.thei3p.cms.Application.main(Application.java:68)
>>         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
>> com.webobjects._bootstrap.WOBootstrap.main(WOBootstrap.java:71)
>>
>> _______________________________________________
>> WebObjects-dev mailing list
>> [email protected]
>> http://www.omnigroup.com/mailman/listinfo/webobjects-dev
> 
> 
> _______________________________________________
> WebObjects-dev mailing list
> [email protected]
> http://www.omnigroup.com/mailman/listinfo/webobjects-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.