You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Julian Reschke (Created) (JIRA)" <ji...@apache.org> on 2011/09/29 14:04:45 UTC
[jira] [Created] (JCR-3086) potential infinite loop around
InternalVersionImpl.getSuccessors
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
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.
--
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
[jira] [Updated] (JCR-3086) potential infinite loop around
InternalVersionImpl.getSuccessors
Posted by "Julian Reschke (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Reschke updated JCR-3086:
--------------------------------
Fix Version/s: 2.2.10
> 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
> Fix For: 2.2.10, 2.3.1
>
> 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
[jira] [Commented] (JCR-3086) potential infinite loop around
InternalVersionImpl.getSuccessors
Posted by "Julian Reschke (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13117966#comment-13117966 ]
Julian Reschke commented on JCR-3086:
-------------------------------------
Fixed in 2.2 with r1177557.
> 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
> Fix For: 2.2.10, 2.3.1
>
> 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
[jira] [Updated] (JCR-3086) potential infinite loop around
InternalVersionImpl.getSuccessors
Posted by "Julian Reschke (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Reschke updated JCR-3086:
--------------------------------
Resolution: Fixed
Fix Version/s: 2.3.1
Status: Resolved (was: Patch Available)
Fixed with r1177340
> 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
> Fix For: 2.3.1
>
> 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
[jira] [Updated] (JCR-3086) potential infinite loop around
InternalVersionImpl.getSuccessors
Posted by "Julian Reschke (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Reschke updated JCR-3086:
--------------------------------
Attachment: JCR-3086.patch
Proposed patch that moves the "fix legacy" code part out of init(), so it can't cause the recursion.
> 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 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.
--
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
[jira] [Updated] (JCR-3086) potential infinite loop around
InternalVersionImpl.getSuccessors
Posted by "Julian Reschke (Updated) (JIRA)" <ji...@apache.org>.
[ 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
[jira] [Updated] (JCR-3086) potential infinite loop around
InternalVersionImpl.getSuccessors
Posted by "Julian Reschke (Updated) (JIRA)" <ji...@apache.org>.
[ 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