[
https://issues.apache.org/jira/browse/JCR-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Reschke updated JCR-3086:
--------------------------------
Affects Version/s: (was: 2.4)
(was: 2.2.8)
Status: Patch Available (was: In Progress)
> potential infinite loop around InternalVersionImpl.getSuccessors
> ----------------------------------------------------------------
>
> Key: JCR-3086
> URL: https://issues.apache.org/jira/browse/JCR-3086
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Reporter: Julian Reschke
> Assignee: Julian Reschke
> Attachments: JCR-3086.patch
>
>
> There's an infinite loop waiting to happen when the underlying persisted
> version storage is defect:
> at
> org.apache.jackrabbit.core.version.InternalVersionImpl.getSuccessors(InternalVersionImpl.java:148)
> at
> org.apache.jackrabbit.core.version.InternalVersionHistoryImpl.init(InternalVersionHistoryImpl.java:165)
> at
> org.apache.jackrabbit.core.version.InternalVersionHistoryImpl.reload(InternalVersionHistoryImpl.java:180)
> at
> org.apache.jackrabbit.core.version.InternalVersionHistoryImpl.getVersion(InternalVersionHistoryImpl.java:299)
>
> (line numbers from 2.2)
> What happens here is that when a version can not be instantiated, reload() is
> called, which in turn calls init(), which, as part of piece of code labeled
> "fix legacy" will call getSuccessors(), which in turn wants to instantiate
> versions.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira