openerp-india team mailing list archive
-
openerp-india team
-
Mailing list archive
-
Message #12010
[Bug 1006778] [NEW] [6.1] Infinite loop in procurement run by scheduler
Public bug reported:
New bug report only for 6.1 as the previous one (lp#918288) is set to
invalid.
Steps to reproduce:
- Create new database WITHOUT demonstration data
- Log in as Administrator
- Install [SALES], [PURCHASE], [WAREHOUSE], [MRP]
[SALES]
Create a new product "Product A" and set:
- Product Type: Stockable Product
- Procurement Method: Make to Order
- Supply method : Produce
Create a new product "Product B" and set:
- Product Type: Stockable Product
- Procurement Method: Make to Order
- Supply method : Buy
- Create a new supplier and add it to the suppliers tab
[MANUFACTURING]
Create a new BOM for "Product A" and set:
- BoM Type: Sets / Phantom
- Add component "Product B" with quantity of 1.0
[PRODUCTS]
- Go to "Product A" form view in click on "Procurement Request" action
- Select main Warehouse an click on "Ask New Products"
- In the procurement form, click on "Run Procurement"
[WAREHOUSE]
Run schedulers manually with "Compute Schedulers"
- Click on "Compute Schedulers"
- Go to "Procurement Exceptions" and uncheck "To fix" in order to view everything
Expected:
=== USER POINT OF VIEW ===
- A new quotation is created for "Product B"
Result:
=== USER POINT OF VIEW ===
- Product A is locked in "Confirmed" state
=== SERVER POINT OF VIEW ===
A new python thread is stuck in an infinite loop "while True" in _procure_confirm (schedulers.py), if you debug the process you will see that:
- "offset" is never increased
- "report_total" is constantly increased
Thread-1004 - pid707_seq179
execute [sql_db.py:222]
wrapper [sql_db.py:152]
_read_flat [orm.py:3465]
read [orm.py:3406]
__getitem__ [orm.py:391]
__getattr__ [orm.py:476]
get_phantom_bom_id [procurement.py:52]
function_proxy [orm.py:368]
<module> [server:1]
safe_eval [safe_eval.py:241]
_eval_expr [wkf_expr.py:58]
check [wkf_expr.py:81]
_split_test [workitem.py:158]
process [workitem.py:61]
validate [instance.py:48]
trg_validate [wkf_service.py:124]
_procure_confirm [schedulers.py:82]
run_scheduler [schedulers.py:39]
_procure_calculation_all [schedulers_all.py:52]
run [threading.py:484]
__bootstrap_inner [threading.py:532]
__bootstrap [threading.py:504]
** Affects: openobject-addons
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/1006778
Title:
[6.1] Infinite loop in procurement run by scheduler
Status in OpenERP Addons (modules):
New
Bug description:
New bug report only for 6.1 as the previous one (lp#918288) is set to
invalid.
Steps to reproduce:
- Create new database WITHOUT demonstration data
- Log in as Administrator
- Install [SALES], [PURCHASE], [WAREHOUSE], [MRP]
[SALES]
Create a new product "Product A" and set:
- Product Type: Stockable Product
- Procurement Method: Make to Order
- Supply method : Produce
Create a new product "Product B" and set:
- Product Type: Stockable Product
- Procurement Method: Make to Order
- Supply method : Buy
- Create a new supplier and add it to the suppliers tab
[MANUFACTURING]
Create a new BOM for "Product A" and set:
- BoM Type: Sets / Phantom
- Add component "Product B" with quantity of 1.0
[PRODUCTS]
- Go to "Product A" form view in click on "Procurement Request" action
- Select main Warehouse an click on "Ask New Products"
- In the procurement form, click on "Run Procurement"
[WAREHOUSE]
Run schedulers manually with "Compute Schedulers"
- Click on "Compute Schedulers"
- Go to "Procurement Exceptions" and uncheck "To fix" in order to view everything
Expected:
=== USER POINT OF VIEW ===
- A new quotation is created for "Product B"
Result:
=== USER POINT OF VIEW ===
- Product A is locked in "Confirmed" state
=== SERVER POINT OF VIEW ===
A new python thread is stuck in an infinite loop "while True" in _procure_confirm (schedulers.py), if you debug the process you will see that:
- "offset" is never increased
- "report_total" is constantly increased
Thread-1004 - pid707_seq179
execute [sql_db.py:222]
wrapper [sql_db.py:152]
_read_flat [orm.py:3465]
read [orm.py:3406]
__getitem__ [orm.py:391]
__getattr__ [orm.py:476]
get_phantom_bom_id [procurement.py:52]
function_proxy [orm.py:368]
<module> [server:1]
safe_eval [safe_eval.py:241]
_eval_expr [wkf_expr.py:58]
check [wkf_expr.py:81]
_split_test [workitem.py:158]
process [workitem.py:61]
validate [instance.py:48]
trg_validate [wkf_service.py:124]
_procure_confirm [schedulers.py:82]
run_scheduler [schedulers.py:39]
_procure_calculation_all [schedulers_all.py:52]
run [threading.py:484]
__bootstrap_inner [threading.py:532]
__bootstrap [threading.py:504]
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/1006778/+subscriptions
Follow ups
References