[ 
https://issues.apache.org/jira/browse/JCR-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated JCR-3086:
--------------------------------

    Description: 
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.



  was:
There's an infinite loop waiting for 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.



    
> 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
>    Affects Versions: 2.2.8, 2.4
>            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

        

Reply via email to