[jira] Commented: (CONFIGURATION-281) JNDIConfiguration::recursiveGetKeys goes out of stack

2007-06-20 Thread Oliver Heger (JIRA)

[ 
https://issues.apache.org/jira/browse/CONFIGURATION-281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506670
 ] 

Oliver Heger commented on CONFIGURATION-281:


I did some testing and could reproduce the problem with mock objects. 1) fixed 
the problem, assuming that the involved Context objects have a meaningful 
implementation of equals() and hashCode(). Why would 2) be necessary in 
addition to 1)?

 JNDIConfiguration::recursiveGetKeys goes out of stack
 -

 Key: CONFIGURATION-281
 URL: https://issues.apache.org/jira/browse/CONFIGURATION-281
 Project: Commons Configuration
  Issue Type: Bug
Affects Versions: 1.2
 Environment: Websphere 5.1
Reporter: Michiel Kalkman
 Fix For: 1.5


 There can be cycles in contexts. Websphere 5.1 certainly does have them.
 When getKeys() is called on a JNDIConfiguration, eventually 
 recursiveGetKeys() is called, which calls itself for every subcontext. This 
 will never stop if there is a cycle.
 I would like to suggest the following changes to recursiveGetKeys() to fix 
 this:
 1) check for each subcontext if it has been processed before. If so, don't 
 process it. An additional stack argument to recursiveGetKeys() should do the 
 trick here.
 2) a maxDepth attribute, like jndi maxDepth=4/. If the number of 
 subcontexts is equal to maxDepth, stop processing. The maxDepth attribute 
 should be optional of course, and have a default value like 911or so. The 
 stack argument could be used to check the amount of subcontexts processed.
 Because I want to be able to dump the configuration for debugging purposes, 
 this item is of somewhat importance to me.
 I tested this in 1.2 at work, so I cannot easily test this against 1.4. But 
 as the code of 1.4 seems to be more or less the same, I think the problem 
 still exists.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Commented: (CONFIGURATION-281) JNDIConfiguration::recursiveGetKeys goes out of stack

2007-06-20 Thread Michiel Kalkman (JIRA)

[ 
https://issues.apache.org/jira/browse/CONFIGURATION-281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506696
 ] 

Michiel Kalkman commented on CONFIGURATION-281:
---

Cool, thanks.

I guess #2 is less important, and therefore not necessary, however I just 
thought that adding maxDepth might reduce the max size of a jndi context tree, 
and therefore reduce the nr of keys that are returned. Just in case some app 
decides to be creative with jndi contexts.


 JNDIConfiguration::recursiveGetKeys goes out of stack
 -

 Key: CONFIGURATION-281
 URL: https://issues.apache.org/jira/browse/CONFIGURATION-281
 Project: Commons Configuration
  Issue Type: Bug
Affects Versions: 1.2
 Environment: Websphere 5.1
Reporter: Michiel Kalkman
 Fix For: 1.5


 There can be cycles in contexts. Websphere 5.1 certainly does have them.
 When getKeys() is called on a JNDIConfiguration, eventually 
 recursiveGetKeys() is called, which calls itself for every subcontext. This 
 will never stop if there is a cycle.
 I would like to suggest the following changes to recursiveGetKeys() to fix 
 this:
 1) check for each subcontext if it has been processed before. If so, don't 
 process it. An additional stack argument to recursiveGetKeys() should do the 
 trick here.
 2) a maxDepth attribute, like jndi maxDepth=4/. If the number of 
 subcontexts is equal to maxDepth, stop processing. The maxDepth attribute 
 should be optional of course, and have a default value like 911or so. The 
 stack argument could be used to check the amount of subcontexts processed.
 Because I want to be able to dump the configuration for debugging purposes, 
 this item is of somewhat importance to me.
 I tested this in 1.2 at work, so I cannot easily test this against 1.4. But 
 as the code of 1.4 seems to be more or less the same, I think the problem 
 still exists.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]