Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0050567 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Modules] Advanced Warehouse Operations | critical | always | 2022-10-18 11:35 | 2022-10-18 15:24 | |||
Reporter | vmromanos | View Status | public | |||||
Assigned To | vmromanos | |||||||
Priority | immediate | Resolution | fixed | Fixed in Version | ||||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Regression date | 2022-09-17 | |||||||
Regression introduced by commit | https://gitlab.com/openbravo/product/pmods/org.openbravo.warehouse.advancedwarehouseoperations/-/commit/a93c6528a0132864982fbfc7347556e80198fe0d#725d82d52cf130dd9ad73f6ac6f7d867e6f94dd6_77_77 [^] | |||||||
Regression level | Pre packaging ( pi ) | |||||||
Review Assigned To | ||||||||
Regression introduced in release | ||||||||
Summary | 0050567: Inventory Count stopped working when routing is automatic confirmation | |||||||
Description | A NullPointerException is thrown when confirming a shared inventory count and the routing is configured as automatic confirmation: 2022-10-17 18:12:28,813 [http-9] ERROR org.openbravo.warehouse.advancedwarehouseoperations.mobile.processors.InventoryCountConfirmProcessor - java.lang.NullPointerException org.openbravo.base.exception.OBException: java.lang.NullPointerException at org.openbravo.warehouse.advancedwarehouseoperations.utils.inventorycount.PhysicalInventoryProposalLinesCreator.createAndProcessPhysicalInventoryProposalByMergingUsersCountsAndGenerateTasks(PhysicalInventoryProposalLinesCreator.java:55) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.utils.inventorycount.InventoryCount_EndCount.postConfirm(InventoryCount_EndCount.java:41) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.utils.inventorycount.InventoryCountAction.confirm(InventoryCountAction.java:65) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.utils.inventorycount.InventoryCountLifeCycleManager.executeInventoryCountActionHook(InventoryCountLifeCycleManager.java:91) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.utils.inventorycount.InventoryCountLifeCycleManager.doAction(InventoryCountLifeCycleManager.java:64) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.mobile.processors.InventoryCountConfirmProcessor.exec(InventoryCountConfirmProcessor.java:39) [classes/:?] at org.openbravo.mobile.core.process.JSONProcessSimple.exec(JSONProcessSimple.java:47) [classes/:?] at org.openbravo.mobile.core.process.SecuredJSONProcess.secureExec(SecuredJSONProcess.java:63) [classes/:?] at org.openbravo.mobile.core.process.MobileServiceProcessor.execProcess(MobileServiceProcessor.java:121) [classes/:?] at org.openbravo.mobile.core.process.MobileServiceProcessor.execServiceName(MobileServiceProcessor.java:96) [classes/:?] at org.openbravo.mobile.core.process.MobileService.doGetOrPost(MobileService.java:194) [classes/:?] at org.openbravo.mobile.core.process.MobileService.doPost(MobileService.java:73) [classes/:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) [tomcat8-servlet-api.jar:?] at org.openbravo.base.HttpBaseServlet.serviceInitialized(HttpBaseServlet.java:200) [openbravo-core.jar:?] at org.openbravo.base.secureApp.HttpSecureAppServlet.service(HttpSecureAppServlet.java:459) [classes/:?] at org.openbravo.client.kernel.BaseKernelServlet.callServiceInSuper(BaseKernelServlet.java:89) [classes/:?] at org.openbravo.mobile.core.process.WebServiceAuthenticatedServlet.service(WebServiceAuthenticatedServlet.java:67) [classes/:?] at org.openbravo.mobile.core.process.MobileService.service(MobileService.java:132) [classes/:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [tomcat8-servlet-api.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat8-websocket-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.openbravo.utils.SessionExpirationFilter.doFilter(SessionExpirationFilter.java:66) [openbravo-core.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.openbravo.utils.CharsetFilter.doFilter(CharsetFilter.java:38) [openbravo-core.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.openbravo.client.kernel.KernelFilter$1.doAction(KernelFilter.java:65) [classes/:?] at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:47) [classes/:?] at org.openbravo.client.kernel.KernelFilter.doFilter(KernelFilter.java:74) [classes/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.openbravo.dal.core.DalRequestFilter$1.doAction(DalRequestFilter.java:96) [classes/:?] at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:47) [classes/:?] at org.openbravo.dal.core.DalRequestFilter.doFilter(DalRequestFilter.java:118) [classes/:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.17.1.jar:2.17.1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat8-catalina-8.5.39.jar:8.5.39] at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:476) [tomcat8-coyote-8.5.39.jar:8.5.39] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat8-coyote-8.5.39.jar:8.5.39] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) [tomcat8-coyote-8.5.39.jar:8.5.39] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) [tomcat8-coyote-8.5.39.jar:8.5.39] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat8-coyote-8.5.39.jar:8.5.39] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat8-util-8.5.39.jar:8.5.39] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: java.lang.NullPointerException at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.InventoryCountGenerator.createPhysicalInventoryHeaderFromTask(InventoryCountGenerator.java:77) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.InventoryCountGenerator.createPhysicalInventoryFromTask(InventoryCountGenerator.java:58) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.InventoryCountGenerator.createTransactionDocHeader(InventoryCountGenerator.java:51) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.InventoryCountGenerator.createTransactionDocHeader(InventoryCountGenerator.java:36) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.TransactionDocGenerator.createAndSetTransactionDocHeader(TransactionDocGenerator.java:74) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.IndividualTaskConfirmator.processIndividualTask(IndividualTaskConfirmator.java:40) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.CentralBroker.processIndividualTask(CentralBroker.java:213) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.task.AutoConfirmatorIndividualTask.autoConfirmNonBehaveAsGroupTaskBasedOnRoutingConfiguration(AutoConfirmatorIndividualTask.java:47) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.task.AutoConfirmatorIndividualTask.run(AutoConfirmatorIndividualTask.java:33) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.task.TasksGenerator.createTasksAndRunsPostCreateTaskHookForEachTask(TasksGenerator.java:108) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.task.TasksGenerator.run(TasksGenerator.java:71) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.InventoryTransactionTypeAlgorithm.executeAlgorithm(InventoryTransactionTypeAlgorithm.java:254) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.BatchOfTasksGenerator.createBatchOfTasksUsingItt(BatchOfTasksGenerator.java:199) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.BatchOfTasksGenerator.createBatchOfTasksIfIttAlgorithmInstanceFound(BatchOfTasksGenerator.java:151) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.BatchOfTasksGenerator.run(BatchOfTasksGenerator.java:117) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.CentralBroker.doTheStuff(CentralBroker.java:159) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.centralbroker.CentralBroker.doTheStuff(CentralBroker.java:109) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.utils.InventoryProposalUtils.completeInventoryProposalAndGenerateTasks(InventoryProposalUtils.java:205) ~[classes/:?] at org.openbravo.warehouse.advancedwarehouseoperations.utils.inventorycount.PhysicalInventoryProposalLinesCreator.createAndProcessPhysicalInventoryProposalByMergingUsersCountsAndGenerateTasks(PhysicalInventoryProposalLinesCreator.java:52) ~[classes/:?] ... 58 more The regression was introduced by the Inventory Reason Project | |||||||
Steps To Reproduce | Login into AWO-QA admin in backend Go to Warehouse Definition, and select US West Coast. In the Routing tab, search for "STGn-STGn/AC" (STGn to STGn (PIi) AutoConf), and change Confirmation to Automatic Create a new Inventory Count: Org: US West Coast Warehouse: US West Coast Shared Count = Y Press Assign button and select AWOQAAdmin, set Start Count Now = Y and press Done Go to Users | Shared Counts tab Create a new record for any product in Food001 bin, like for example Orange. Set any quantity different from the book quantity, for example 100. Press End Count. An exception is raised [java.lang.NullPointerException] | |||||||
Tags | No tags attached. | |||||||
Attached Files | ||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | |||||||||
|
Notes | |
(0142224) hgbot (developer) 2022-10-18 11:45 |
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.warehouse.advancedwarehouseoperations/-/merge_requests/71 [^] |
(0142225) vmromanos (manager) 2022-10-18 11:57 |
Test plan: Login into AWO-QA admin in backend Go to Warehouse Definition, and select US West Coast. In the Routing tab, search for "STGn-STGn/AC" (STGn to STGn (PIi) AutoConf), and change Confirmation to Automatic Create a new Inventory Count: Org: US West Coast Warehouse: US West Coast Shared Count = Y Press Assign button and select AWOQAAdmin, set Start Count Now = Y and press Done Go to Users | Shared Counts tab Create a new record for any product in Food001 bin, like for example Orange. Set any quantity different from the book quantity, for example 100. Press End Count. The process is completed successfully. |
(0142233) hgbot (developer) 2022-10-18 15:24 |
Directly closing issue as related merge request is already approved. Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.warehouse.advancedwarehouseoperations [^] Changeset: c168208a58dfceec1d3a2a4a58c01e408a47083f Author: Víctor Martínez Romanos <victor.martinez@openbravo.com> Date: 18-10-2022 11:38:43 URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.warehouse.advancedwarehouseoperations/-/commit/c168208a58dfceec1d3a2a4a58c01e408a47083f [^] Fixed ISSUE-50567: Fixed NPE when autoconfirming Inventory Count Task In Count_ITT.createInventoryList() the inventory list is created and associated to the task using an HQL update, which works fine. However, when autoconfirming the task, the task object in DAL memory doesn't have associated yet the inventory list, therefore throwing the NPE. We could refresh the task from the database to get that information, however it is faster to take this information from the Inventory Proposal, which is previously associated to the task (and loaded in memory). --- M src/org/openbravo/warehouse/advancedwarehouseoperations/centralbroker/InventoryCountGenerator.java --- |
(0142234) hgbot (developer) 2022-10-18 15:24 |
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.warehouse.advancedwarehouseoperations/-/merge_requests/71 [^] |
Issue History | |||
Date Modified | Username | Field | Change |
2022-10-18 11:35 | vmromanos | New Issue | |
2022-10-18 11:35 | vmromanos | Assigned To | => vmromanos |
2022-10-18 11:35 | vmromanos | Regression date | => 2022-09-17 |
2022-10-18 11:35 | vmromanos | Regression introduced by commit | => https://gitlab.com/openbravo/product/pmods/org.openbravo.warehouse.advancedwarehouseoperations/-/commit/a93c6528a0132864982fbfc7347556e80198fe0d#725d82d52cf130dd9ad73f6ac6f7d867e6f94dd6_77_77 [^] |
2022-10-18 11:35 | vmromanos | Regression level | => Pre packaging ( pi ) |
2022-10-18 11:36 | vmromanos | Relationship added | caused by 0050091 |
2022-10-18 11:45 | hgbot | Note Added: 0142224 | |
2022-10-18 11:57 | vmromanos | Note Added: 0142225 | |
2022-10-18 11:58 | vmromanos | Status | new => scheduled |
2022-10-18 15:24 | hgbot | Resolution | open => fixed |
2022-10-18 15:24 | hgbot | Status | scheduled => closed |
2022-10-18 15:24 | hgbot | Note Added: 0142233 | |
2022-10-18 15:24 | hgbot | Note Added: 0142234 |
Copyright © 2000 - 2009 MantisBT Group |