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