[jsword-devel] [JIRA] Commented: (JS-174) Infinite recursion getting osis id for a TreeKey
DM Smith (JIRA)
jira at crosswire.org
Wed Mar 9 05:15:36 MST 2011
[ http://www.crosswire.org/bugs/browse/JS-174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081#comment-14081 ]
DM Smith commented on JS-174:
-----------------------------
Thanks for such a focused test. This will help finding the fix.
> Infinite recursion getting osis id for a TreeKey
> ------------------------------------------------
>
> Key: JS-174
> URL: http://www.crosswire.org/bugs/browse/JS-174
> Project: JSword
> Issue Type: Bug
> Components: o.c.jsword.passage
> Affects Versions: 1.6.1
> Environment: All
> Reporter: Martin Denham
> Assignee: DM Smith
>
> I am not sure if it makes sense to get an osis id for a TreeKey treeKey.getName works fine but when I tried treeKey.getOsisID it failed with some sort of infinite recursion error. I wonder if the new java 5 for loop in KeyUtil.visit is causing a problem.
> Here is my test:
> Book book = getBook("Pilgrim"); // Bunyan's Pilgrim's Progress
> Key key = book.getKey("THE FIRST STAGE");
> key.getOsisID(); // error occurs here
> Here is the top of the stack trace:
> java.lang.StackOverflowError
> at java.util.Stack.peek(Stack.java:86)
> at org.crosswire.jsword.passage.KeyIterator.prepare(KeyIterator.java:49)
> at org.crosswire.jsword.passage.KeyIterator.hasNext(KeyIterator.java:63)
> at org.crosswire.jsword.passage.KeyIterator.next(KeyIterator.java:68)
> at org.crosswire.jsword.passage.KeyIterator.next(KeyIterator.java:36)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:50)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:53)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:53)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:53)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:53)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:53)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:53)
> at org.crosswire.jsword.passage.KeyUtil.visit(KeyUtil.java:53)
> // the calls to .visit go on and on...
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jsword-devel
mailing list