View ProjeQtOr On SourceForge.net
ProjeQtOr - Project Management Tool
Support us on Capterra
OIN - Open Invention Network
ProjeQtOr free project management software - [SOLVED] cyclic dependencies via parents - creating a stack overflow - ProjeQtOr
 
 

[SOLVED] cyclic dependencies via parents - creating a stack overflow

More
22 Feb 2016 16:51 - 23 Feb 2016 10:38 #1 by matthiaspnowak
One user entered dependencies in the project, effectively disabling the planning functionality.

He created a milestone. Then an activity with a successor link to that milestone. A sub-activity had the same milestone as a predecessor. This created a cycle via a parent.

When pressing the planning button - i get no response, probably there is a stack overflow message on the remote server. Using traceLog i was able to pinpoint the problem.

In model/PlanningElement in the function initializeFullList($list) there is a call to a recursive function self::getRecursivePredecessor($directPredecessors,...) which keeps running and probably running out of space.

What is the best idea and place to discover cycles in the planning structure?
Attachments:
Last edit: 23 Feb 2016 10:38 by matthiaspnowak. Reason: added picture of project setup

Please Log in or Create an account to join the conversation.

More
23 Feb 2016 11:34 - 23 Feb 2016 11:38 #2 by matthiaspnowak
(third trial to add my solution)

I added a check to the getRecursivePredecessor function in PlanningElement.php The added argument $visited keeps tabs on which $idPrec are already visited. Therefore it will prevent a stack overflow. It seems that the dependency check also used this function and wasn't able to discover a cycle due to the stack overflow.
Attachments:
Last edit: 23 Feb 2016 11:38 by matthiaspnowak. Reason: added explanation

Please Log in or Create an account to join the conversation.

More
24 Feb 2016 18:32 #3 by babynus
Hi,

Great.
Tanks for the fix : it will ensure that planning will wotk on any cases.

On my side, I worked on fixing dependency loop control to avoid this use case.
Will be included in V5.3

Babynus
Administrator of ProjeQtOr web site

Please Log in or Create an account to join the conversation.

Moderators: babynusprotion
Time to create page: 0.032 seconds

Cookies settings

×

Functional Cookies

Ce site utilise des cookies pour assurer son bon fonctionnement et ne peuvent pas être désactivés de nos systèmes. Nous ne les utilisons pas à des fins publicitaires. Si ces cookies sont bloqués, certaines parties du site ne pourront pas fonctionner.

Session

Please login to see yours activities!

Other cookies

Ce site web utilise un certain nombre de cookies pour gérer, par exemple, les sessions utilisateurs.