LibrePlan / libreplan

LibrePlan - Open Web Planning
https://www.libreplan.dev
GNU Affero General Public License v3.0
289 stars 170 forks source link

Throw an exception when you try to delete a task - Project details (WBS) #1314

Closed kwoot closed 6 years ago

kwoot commented 13 years ago

(Original Bugzilla Bug ID: 1170)

Date: 2011-09-02 13:30:37 From: pablofcn \<pcigonha@igalia.com> To: Oscar González \<ogonzalez@igalia.com> Version: libreplan-1.2 (1.2.x) Last updated: 2011-09-05 17:50:51


(Note: this issue was migrated automatically with bugzilla2github.py tool )

kwoot commented 6 years ago

Bugzilla Comment ID: 3045 Date: 2011-09-05 15:45:24 From: Oscar González \<ogonzalez@igalia.com>

Does it fail in stable release? Anyway, I'll fix it when I finish with the unification of the state, since things are going to change. If it fails in the stable release, I will fix it there.

kwoot commented 6 years ago

Bugzilla Comment ID: 3046 Date: 2011-09-05 15:49:53 From: Oscar González \<ogonzalez@igalia.com>

It also fails in navalplan-1.1 branch.

kwoot commented 6 years ago

Bugzilla Comment ID: 3042 Date: 2011-09-02 13:30:37 From: pablofcn \<pcigonha@igalia.com>

Create a project, include a task(just one) and save, after that do log out. Go to the WBS again, delete the task and press save button. You will have the following stacktrace:

java.util.NoSuchElementException at java.util.ArrayList$Itr.next(ArrayList.java:757) at java.util.Collections.min(Collections.java:587) at org.navalplanner.business.planner.entities.TaskGroup.getSmallestStartDateFromChildren(TaskGroup.java:236) at org.navalplanner.business.planner.entities.TaskGroup.initializeDates(TaskGroup.java:206) at org.navalplanner.business.planner.entities.TaskElement.initializeDatesIfNeeded(TaskElement.java:181) at org.navalplanner.business.orders.entities.TaskSource.updateTaskWithOrderElement(TaskSource.java:147) at org.navalplanner.business.orders.entities.TaskSource.access$200(TaskSource.java:46) at org.navalplanner.business.orders.entities.TaskSource$TaskSourceForTaskGroupModified.apply(TaskSource.java:229) at org.navalplanner.business.orders.entities.TaskSource$TaskGroupSynchronization.apply(TaskSource.java:175) at org.navalplanner.web.orders.OrderModel.synchronizeWithSchedule(OrderModel.java:704) at org.navalplanner.web.orders.OrderModel.saveOnTransaction(OrderModel.java:574) at org.navalplanner.web.orders.OrderModel.access$000(OrderModel.java:109) at org.navalplanner.web.orders.OrderModel$1.execute(OrderModel.java:495) at org.navalplanner.web.orders.OrderModel$1.execute(OrderModel.java:492) at org.navalplanner.business.common.AdHocTransactionService.runOnTransaction(AdHocTransactionService.java:111) at sun.reflect.GeneratedMethodAccessor514.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy29.runOnTransaction(Unknown Source) at org.navalplanner.web.orders.OrderModel.save(OrderModel.java:492) at sun.reflect.GeneratedMethodAccessor513.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) at org.navalplanner.web.common.concurrentdetection.ConcurrentModificationHandling.whenConcurrentModification(ConcurrentModificationHandling.java:100) at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:160) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy129.save(Unknown Source) at org.navalplanner.web.orders.OrderCRUDController.save(OrderCRUDController.java:734) at org.navalplanner.web.orders.OrderCRUDController.saveAndContinue(OrderCRUDController.java:639) at org.navalplanner.web.orders.OrderCRUDController.saveAndContinue(OrderCRUDController.java:630) at sun.reflect.GeneratedMethodAccessor519.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:134) at org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:341) at org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:857) at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:180) at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138) at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:517) at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:444)

kwoot commented 6 years ago

Bugzilla Comment ID: 3043 Date: 2011-09-05 09:08:31 From: Manuel Rego Casasnovas \<rego@igalia.com>

Maybe this is related with the current task being developed by Óscar ItEr75S11PreventLooseChanges

He's currently in the middle an WBS is still not working properly.

kwoot commented 6 years ago

Bugzilla Comment ID: 3049 Date: 2011-09-05 17:50:51 From: Oscar González \<ogonzalez@igalia.com>

commit 89e65eaede61eebef42191abf332d541f1fa0fe4 Author: Óscar González Fernández ogonzalez@igalia.com Date: Mon Sep 5 16:52:02 2011 +0200

[Bug #1170] Fix bug

Guaranteeing that the root of the scheduling state is the order,
otherwise errors happen when the real root is left childless.

FEA: ItEr75S04BugFixings