[6.0.3][6.1.rc1] Infinite loop in procurement run by scheduler
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Odoo Addons (MOVED TO GITHUB) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Steps to reproduce:
- Create new database with 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
[MANUFACTURING]
Create a new BOM for "Product A" and set:
- BoM Type: Sets / Phantom
- Add component [SIDEPAN] Side Panel with quantity of 1.0
(our objective is to link the component SIDEPAN to "Product A" without generating a production order)
[SALES]
Create a new quotation for partner "Ecole de Commerce de Liege"
- Add a line for "Product A"
- Confirm Quotation to create a sale order
[WAREHOUSE]
Run schedulers manually with "Compute Schedulers"
- Compute
- Go to "Procurement Exceptions" and uncheck "To fix" in order to view everything
=== USER POINT OF VIEW ===
Results:
You can see "Product A" is locked in "Confirmed" state
=== SERVER POINT OF VIEW ===
Results:
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
description: | updated |
Can be reproduced on [6.1.rc1]: ------- ------- ------- ------- -
-------
Follow same steps, but you will notice that both user and server point of view are fixed in this version with this use case but a manual procurement shows off the problem again
To reproduce, go to:
[SALES]
- Open "Product A" form view
- In actions, launch a "Procurement Request" with default settings
[WAREHOUSE]
Run schedulers manually with "Compute Schedulers"
- Compute
- Go to "Procurement Exceptions" and uncheck "To fix" in order to view everything
=== USER POINT OF VIEW ===
Results:
You can see "Product A" is locked in "Confirmed" state
=== SERVER POINT OF VIEW ===
Results:
A new python thread is stuck in an infinite loop