This one time, at band camp, Silvio Katzan said:

SK>I upgraded to 0.9.4.1 from 0.9.3.21.
SK>Using 0.9.4.1 I get a StackOverflowException on creating some objects, this
SK>is because there is an infinite loop in ClassMolder.getPriority()
SK>Using 0.9.3.21 I didn't get the error.
SK>
SK>Comparing the two classes, the following line is commented out:
SK>
SK>line 627:            && _fhs[i].getEnclosingClassMolder() != this
SK>
SK>
SK>Here are my example data:
SK>
SK><mapping>
SK>     <class name="UserBean" identity="id" key-generator="MAX">
SK>             <description>user</description>
SK>             <map-to table="person" xml="person"/>
SK>             <field name="id" type="integer">
SK>                     <sql name="userId" type="integer"/>
SK>             </field>
SK>             <field name="folderMappings" type="FolderMappingBean"
SK>collection="vector">
SK>                     <sql many-key="userId"/>
SK>             </field>
SK>     </class>
SK>     <class name="FolderMappingBean" identity="id" key-generator="MAX">
SK>             <description>Mapping from user to folder with
SK>type</description>
SK>             <map-to table="folderMapping"/>
SK>             <field name="id" type="integer">
SK>                     <sql name="folderMappingId" type="integer"/>
SK>             </field>
SK>             <field name="folder" type="FolderBean">
SK>                     <sql name="folderId"/>
SK>             </field>
SK>             <field name="user" type="UserBean">
SK>                     <sql name="userId"/>
SK>             </field>
SK>             <field name="childFolderMappings" type="FolderMappingBean"
SK>collection="vector">
SK>                     <sql many-key="parentFolderMappingId"/>
SK>             </field>
SK>             <field name="parentFolderMapping" type="FolderMappingBean">
SK>                     <sql name="parentFolderMappingId"/>
SK>             </field>
SK>     </class>
SK></mapping>
SK>
SK>
SK>And here the sequence of creating objects:
SK>
SK>- first the user is loaded into the current transaction
SK>- then the constructor of FolderMappingBean is called
SK>- Construtctor of FolderMapping:
SK>     public FolderMappingBean(Database pDatabase, UserBean pUser,
SK>FolderMappingBean pParentFolderMapping)
SK>     {
SK>             mChildFolderMappings = new Vector();
SK>             mParentFolderMapping = null;
SK>             mUser = null;
SK>             
SK>             pDatabase.create(this);
SK>             
SK>             pUser.addFolderMapping(this);
SK>             
SK>             if(pParentFolderMapping != null)
SK>             {
SK>                     pParentFolderMapping.addChildFolderMapping(this);
SK>             }
SK>     }
SK>
SK>If pDatabase.create(this) is called, I get the StackOverflow Error.

Silvio,

I just commented on this in the bug report. Please see the following URL for
my comments: 

    http://bugzilla.exolab.org/show_bug.cgi?id=1179

Bruce
-- 
perl -e 'print unpack("u30","<0G)U8V4\@4VYY9&5R\"F9E<G)E=\$\!F<FEI+F-O;0\`\`");'

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to