Re: Unable to register descriptions for class

From: Anders Peterson (anders_peterso..ptimatika.se)
Date: Fri Jul 09 2004 - 09:55:00 EDT

  • Next message: Ulrich Köster: "Re: Can't compile D2W app"

    Now I have this problem again...

    The application wont start:

    - A fatal exception occurred: null
    [2004-07-09 15:28:30 CEST] <main>
    com.webobjects.foundation.NSForwardException for
    java.lang.ExceptionInInitializerError
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:141)

    So I set WODebuggingEnabled to true and try again. Now the application
    starts and seemingly functions without any problem (set it to false
    again, and it crashes again). However, if I look in the log file
    (console) I see lots of messages like:

    193286 [WorkerThread1] ERROR er.extensions.ERXEntityClassDescription -
    Unable to register descriptions for class:
    se.optimatika.proj.qsd.eo.QCDProfile
    java.lang.RuntimeException: Dummy
            at
    er.extensions.ERXEntityClassDescription$Factory.registerDescriptionForClass(ERXEntityClassDescription.java:515)
            at
    er.extensions.ERXEntityClassDescription$Factory.classDescriptionNeededForClass(ERXEntityClassDescription.java:303)

    At other times I have also seen this (not today):

    18669 [WorkerThread0] INFO er.extensions.ERXLogger - Updated the
    logging configuration with the current system properties.
    19940 [WorkerThread0] WARN er.extensions.ERXLocalizer - Exception
    loading: Localizable.strings - ERExtensions -
    ("English"):java.lang.NullPointerException
    java.lang.NullPointerException
            at er.extensions.ERXLocalizer.load(ERXLocalizer.java:413)
            at er.extensions.ERXLocalizer.<init>(ERXLocalizer.java:375)

    These problems began 1 or 2 weeks ago when I changed to eclipse 3 AND
    started to use ERExtensions.

    I built WOLips from source a couple of days ago, and I got the latest
    changes to ERExtensions today.

    What should I look for?

    /Anders

    Anders Peterson wrote:
    > Did I send this to the wrong list?
    >
    > On 2004-07-07, at 12.34, Anjo Krank wrote:
    >
    >> Am 07.07.2004 um 12:13 schrieb Anders Peterson:
    >>
    >>> Why do I get this problem?
    >>>
    >>> The app functions, and the message is only logged in debug mode.
    >>>
    >>> /Anders
    >>>
    >>> 66725 [WorkerThread1] ERROR er.extensions.ERXEntityClassDescription
    >>> - Unable to register descriptions for class:
    >>> se.optimatika.proj.qsd.eo.QCDPortfolio
    >>> java.lang.RuntimeException: Dummy
    >>> at
    >>> er.extensions.ERXEntityClassDescription$Factory.registerDescriptionFor
    >>> Class(ERXEntityClassDescription.java:515)
    >>
    >>
    >> Probably because you don't use packages in your model. This error is
    >> logged when no entities are found for the given class name.
    >
    >
    > That sounds like a serious problem... (as far as I can see the app works)
    >
    > I use packages for my EOs:
    > name = QPortfolio
    > className = "se.optimatika.proj.qsd.eo.QCDPortfolio"
    > externalName = "QGroup.QsdPortfolio"
    >
    > Currently I can't reproduce the problem;-) But it will come back - I know!
    >
    > I also I have another problem (that I can't reproduce right now).
    > That's a serious one. Applications wont start due to a failure to load
    > the eomodel (something like that). The stack trace reads something
    > about classForName.
    >
    > I think these two symptoms are related and caused by some sort of
    > classpath/launch configuration problem.
    >
    > I use WOLips and eclipse 3. That could be be part of the explanation -
    > it's kind of "new".
    >
    > I'll just have to try and dig deeper the next time it happens.
    >
    > Thanks, /Anders
    >
    >
    >
    > -------------------------------------------------------
    > This SF.Net email sponsored by Black Hat Briefings & Training.
    > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital
    > self defense, top technical experts, no vendor pitches, unmatched
    > networking opportunities. Visit www.blackhat.com

    193286 [WorkerThread1] ERROR er.extensions.ERXEntityClassDescription - Unable to register descriptions for class: se.optimatika.proj.qsd.eo.QCDProfile
    java.lang.RuntimeException: Dummy
            at er.extensions.ERXEntityClassDescription$Factory.registerDescriptionForClass(ERXEntityClassDescription.java:515)
            at er.extensions.ERXEntityClassDescription$Factory.classDescriptionNeededForClass(ERXEntityClassDescription.java:303)
            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:324)
            at com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:120)
            at com.webobjects.foundation.NSNotificationCenter$_Entry.invokeMethod(NSNotificationCenter.java:598)
            at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:542)
            at com.webobjects.foundation.NSNotificationCenter.postNotification(NSNotificationCenter.java:556)
            at com.webobjects.eocontrol.EOClassDescription.classDescriptionForClass(EOClassDescription.java:254)
            at com.webobjects.eocontrol.EOGenericRecord.__setClassDescription(EOGenericRecord.java:96)
            at com.webobjects.eocontrol.EOGenericRecord.<init>(EOGenericRecord.java:72)
            at er.extensions.ERXGenericRecord.<init>(ERXGenericRecord.java:29)
            at se.optimatika.proj.qsd.QBGenericRecord.<init>(QBGenericRecord.java:61)
            at se.optimatika.proj.qsd.eo.QCDProfile.<init>(QCDProfile.java:37)
            at sun.reflect.GeneratedConstructorAccessor11.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
            at com.webobjects.foundation._NSUtilities.instantiateObjectWithConstructor(_NSUtilities.java:594)
            at com.webobjects.eoaccess.EOEntityClassDescription.createInstanceWithEditingContext(EOEntityClassDescription.java:207)
            at com.webobjects.eoaccess.EORelationship._deferredFault(EORelationship.java:1851)
            at com.webobjects.eoaccess._EODBCtxEntityInfo.computeRelationshipInfoForEntityObjectRow(EODatabaseContext.java:6863)
            at com.webobjects.eoaccess._EODBCtxEntityInfo.infoForEntityObjectRow(EODatabaseContext.java:6903)
            at com.webobjects.eoaccess.EODatabaseContext.initializeObjectRowEntityEditingContext(EODatabaseContext.java:2406)
            at com.webobjects.eoaccess.EODatabaseContext.initializeObject(EODatabaseContext.java:3725)
            at com.webobjects.eocontrol.EOObjectStoreCoordinator.initializeObject(EOObjectStoreCoordinator.java:646)
            at com.webobjects.eocontrol.EOEditingContext.initializeObject(EOEditingContext.java:3744)
            at er.extensions.ERXEC.initializeObject(ERXEC.java:497)
            at com.webobjects.eoaccess.EODatabaseChannel$_EODatabaseChannelFetchResult.initializeObjects(EODatabaseChannel.java:479)
            at com.webobjects.eoaccess.EODatabaseContext._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:3231)
            at com.webobjects.eoaccess.EODatabaseContext.objectsWithFetchSpecification(EODatabaseContext.java:3337)
            at com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:539)
            at com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4053)
            at er.extensions.ERXEC.objectsWithFetchSpecification(ERXEC.java:547)
            at com.webobjects.eoaccess.EODatabaseContext.objectsForSourceGlobalID(EODatabaseContext.java:4251)
            at com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsForSourceGlobalID(EOObjectStoreCoordinator.java:682)
            at com.webobjects.eocontrol.EOEditingContext.objectsForSourceGlobalID(EOEditingContext.java:3904)
            at er.extensions.ERXEC.objectsForSourceGlobalID(ERXEC.java:517)
            at com.webobjects.eoaccess.EODatabaseContext._fireArrayFault(EODatabaseContext.java:4418)
            at com.webobjects.eoaccess.EOAccessArrayFaultHandler.completeInitializationOfObject(EOAccessArrayFaultHandler.java:70)
            at com.webobjects.eocontrol._EOCheapCopyMutableArray.willRead(_EOCheapCopyMutableArray.java:38)
            at com.webobjects.eocontrol._EOCheapCopyMutableArray.count(_EOCheapCopyMutableArray.java:92)
            at com.webobjects.eocontrol.EOSortOrdering._sortUsingKeyOrderArray(EOSortOrdering.java:173)
            at com.webobjects.eocontrol.EOSortOrdering.sortArrayUsingKeyOrderArray(EOSortOrdering.java:254)
            at se.optimatika.proj.qsd.eo.QCDProfile.awakeFromFetch(QCDProfile.java:782)
            at com.webobjects.eoaccess.EODatabaseChannel$_EODatabaseChannelFetchResult.initializeObjects(EODatabaseChannel.java:495)
            at com.webobjects.eoaccess.EODatabaseContext._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:3231)
            at com.webobjects.eoaccess.EODatabaseContext.objectsWithFetchSpecification(EODatabaseContext.java:3337)
            at com.webobjects.eoaccess.EODatabaseContext._populateCacheForFetchSpecificationEditingContext(EODatabaseContext.java:2497)
            at com.webobjects.eoaccess.EODatabaseContext._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:3183)
            at com.webobjects.eoaccess.EODatabaseContext.objectsWithFetchSpecification(EODatabaseContext.java:3337)
            at com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:539)
            at com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4053)
            at er.extensions.ERXEC.objectsWithFetchSpecification(ERXEC.java:547)
            at com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4438)
            at com.webobjects.eoaccess.EOUtilities.objectsWithFetchSpecificationAndBindings(EOUtilities.java:118)
            at se.optimatika.proj.qsd.eo.QCDProfile.fetchAll(QCDProfile.java:487)
            at QCDEntity.getAllProfiles(QCDEntity.java:166)
            at QCDEntity.getAvailableProfiles(QCDEntity.java:241)
            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:324)

    - Updated the logging configuration with the current system properties.
    - Application project found: Will locate resources in '/Users/apete/Developer/eclipse3_ws/QsdOptApp' rather than '/Users/apete/Developer/eclipse3_ws/QsdOptApp/build/QsdOptApp.woa' .
    -
    - 2004-07-09 13:28:26 Etc/GMT >> Welcome to QsdOptApp!
    -
    - ### Begin Problem Report ###
    - 2004-07-09 13:28:30 Etc/GMT
    - Victim: <WOApplication: name=QsdOptApp adaptors=(<com.webobjects.appserver._private.WODefaultAdaptor _maxWorkerThreads=256 nmbOfWorkerThreads=16 _nmbOfActiveThreads=0 _windowSize=0 restricted=true port=2001 dispatchesRequestsConcurrentlyFlag=true listenSocket=ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=2001]>) sessionStore=com.webobjects.appserver._private.WOServerSessionStor..a0bc0 pageCacheSize=9 permanentCacheSize=30 pageRecreationEnabled=false pageRefreshOnBacktrackEnabled=true componentDefinitionCache=com.webobjects.foundation._NSThreadsafeMutableDictionary@b97a54 caching=false terminating=false timeOut(sec)=9.22337094747507E15 dynamicLoadingEnabled=true>
    - Problem: com.webobjects.foundation.NSForwardException [java.lang.NullPointerException] null
    - ### End Problem Report ###
    -
    - A fatal exception occurred: null
    [2004-07-09 15:28:30 CEST] <main> com.webobjects.foundation.NSForwardException for java.lang.ExceptionInInitializerError
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:141)
            at com.webobjects.foundation._NSUtilities._classWithPartialName(_NSUtilities.java:307)
            at com.webobjects.foundation._NSUtilities.classWithName(_NSUtilities.java:291)
            at com.webobjects.eoaccess.EOModel._setEntityForEntityNameClassName(EOModel.java:1246)
            at com.webobjects.eoaccess.EOModel._addFakeEntityWithPropertyList(EOModel.java:1284)
            at com.webobjects.eoaccess.EOModel._initWithTableOfContentsPropertyListPathURL(EOModel.java:1096)
            at com.webobjects.eoaccess.EOModel.<init>(EOModel.java:806)
            at com.webobjects.eoaccess.EOModelGroup.addModelWithPathURL(EOModelGroup.java:498)
            at com.webobjects.eoaccess.EOModelGroup.addModelWithPath(EOModelGroup.java:482)
            at er.extensions.ERXModelGroup.modelGroupForLoadedBundles(ERXModelGroup.java:61)
            at er.extensions.ERXApplication.defaultModelGroup(ERXApplication.java:105)
            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:324)
            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.EOUtilities.modelGroup(EOUtilities.java:1002)
            at com.webobjects.eoaccess.EOUtilities.objectsWithFetchSpecificationAndBindings(EOUtilities.java:112)
            at se.optimatika.proj.qsd.eo.QCDRemoteServer.fetchInstance(QCDRemoteServer.java:316)
            at se.optimatika.proj.qsd.com.QCDSuperCommunicator.<init>(QCDSuperCommunicator.java:26)
            at se.optimatika.proj.qsd.com.QCDSuperCommunicator.<init>(QCDSuperCommunicator.java:22)
            at se.optimatika.proj.qsd.com.QCDApplicationCommunicator.<init>(QCDApplicationCommunicator.java:34)
            at Application.<init>(Application.java:24)
            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:274)
            at java.lang.Class.newInstance0(Class.java:308)
            at java.lang.Class.newInstance(Class.java:261)
            at com.webobjects.appserver.WOApplication.main(WOApplication.java:323)
            at Application.main(Application.java:21)

    18669 [WorkerThread0] INFO er.extensions.ERXLogger - Updated the logging configuration with the current system properties.
    19940 [WorkerThread0] WARN er.extensions.ERXLocalizer - Exception loading: Localizable.strings - ERExtensions - ("English"):java.lang.NullPointerException
    java.lang.NullPointerException
            at er.extensions.ERXLocalizer.load(ERXLocalizer.java:413)
            at er.extensions.ERXLocalizer.<init>(ERXLocalizer.java:375)
            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:274)
            at er.extensions.ERXLocalizer.createLocalizerForLanguage(ERXLocalizer.java:321)
            at er.extensions.ERXLocalizer.localizerForLanguage(ERXLocalizer.java:233)
            at er.extensions.ERXLocalizer.localizerForLanguages(ERXLocalizer.java:214)
            at er.extensions.ERXSession.setLanguages(ERXSession.java:206)
            at com.webobjects.appserver.WOSession.languages(WOSession.java:1023)
            at er.extensions.ERXSession.localizer(ERXSession.java:143)
            at er.extensions.ERXSession.awake(ERXSession.java:383)
            at com.webobjects.appserver.WOSession._awakeInContext(WOSession.java:727)
            at com.webobjects.appserver.WOApplication._initializeSessionInContext(WOApplication.java:1762)
            at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:309)
            at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:358)
            at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:435)
            at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1306)
            at er.extensions.ERXApplication.dispatchRequest(ERXApplication.java:638)
            at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173)
            at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:254)
            at java.lang.Thread.run(Thread.java:552)



    This archive was generated by hypermail 2.0.0 : Fri Jul 09 2004 - 09:55:04 EDT