← Back to team overview

openerp-india team mailing list archive

[Bug 1236191] [NEW] 7.0: fix for lp:1233730 breaks the scheduler

 

Public bug reported:

https://code.launchpad.net/~openerp-dev/openobject-addons/7.0-purchase-
reduce-mail-mat/+merge/189325 breaks the scheduler

Steps to reproduce on runbot:

1. edit the HDD-DEM product to set the procurement method to buy and
remove the configured suppliers for the product (easy way to get a
procurement in exception)

2. create a SO for 1 HDD-DEM to Camptocamp, confirm it

3. in Warehouse -> Procurements in exception, remove the filter and
display the procurement for HDD-DEM

4. First issue, there are 2 messages such as "Status: Confirmed →
Exception", and I'm concerned that in the case of a persistently in
exception procurement, I'll get more of these which is what lp:1233730
was about

4. click the "Retry" button. I get a crash in the user interface, and
presumably the same crash is in the logs when running the scheduler :


OpenERP Server Error

Client Traceback (most recent call last):
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/http.py", line 204, in dispatch
response["result"] = method(self, **self.params)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/controllers/main.py", line 1139, in exec_workflow
return req.session.exec_workflow(model, id, signal)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 147, in exec_workflow
r = self.proxy('object').exec_workflow(self._db, self._uid, self._password, model, signal, id)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 30, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 103, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)


Server Traceback (most recent call last):
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/netsvc.py", line 292, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/service/web_services.py", line 626, in dispatch
res = fn(db, uid, *params)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/osv.py", line 131, in wrapper
return f(self, dbname, *args, **kwargs)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/osv.py", line 220, in exec_workflow
res = self.exec_workflow_cr(cr, uid, obj, signal, *args)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/audittrail/audittrail.py", line 520, in exec_workflow_cr
return fct_src(cr, uid, model, method, *args, **kw)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/osv.py", line 213, in exec_workflow_cr
return object._workflow_signal(cr, uid, [res_id], signal)[res_id]
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/orm.py", line 3930, in _workflow_signal
result[res_id] = wf_service.trg_validate(uid, self._name, res_id, signal, cr)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 127, in _execute
id_new = wkf_expr.execute(cr, ident, workitem, activity)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/tools/safe_eval.py", line 241, in safe_eval
return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/purchase/purchase.py", line 1066, in action_po_assign
res = self.make_po(cr, uid, ids, context=context)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/purchase_requisition/purchase_requisition.py", line 261, in make_po
res = super(procurement_order, self).make_po(cr, uid, ids, context=context)
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/purchase/purchase.py", line 1133, in make_po
address_id = partner_obj.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/base/res/res_partner.py", line 704, in address_get
default = result.get('default', partner.id)
UnboundLocalError: local variable 'partner' referenced before assignment

** 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/1236191

Title:
  7.0: fix for lp:1233730  breaks the scheduler

Status in OpenERP Addons (modules):
  New

Bug description:
  https://code.launchpad.net/~openerp-dev/openobject-addons/7.0
  -purchase-reduce-mail-mat/+merge/189325 breaks the scheduler

  Steps to reproduce on runbot:

  1. edit the HDD-DEM product to set the procurement method to buy and
  remove the configured suppliers for the product (easy way to get a
  procurement in exception)

  2. create a SO for 1 HDD-DEM to Camptocamp, confirm it

  3. in Warehouse -> Procurements in exception, remove the filter and
  display the procurement for HDD-DEM

  4. First issue, there are 2 messages such as "Status: Confirmed →
  Exception", and I'm concerned that in the case of a persistently in
  exception procurement, I'll get more of these which is what lp:1233730
  was about

  4. click the "Retry" button. I get a crash in the user interface, and
  presumably the same crash is in the logs when running the scheduler :

  
  OpenERP Server Error

  Client Traceback (most recent call last):
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/http.py", line 204, in dispatch
  response["result"] = method(self, **self.params)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/controllers/main.py", line 1139, in exec_workflow
  return req.session.exec_workflow(model, id, signal)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 147, in exec_workflow
  r = self.proxy('object').exec_workflow(self._db, self._uid, self._password, model, signal, id)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 30, in proxy_method
  result = self.session.send(self.service_name, method, *args)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 103, in send
  raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

  
  Server Traceback (most recent call last):
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/web/session.py", line 89, in send
  return openerp.netsvc.dispatch_rpc(service_name, method, args)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/netsvc.py", line 292, in dispatch_rpc
  result = ExportService.getService(service_name).dispatch(method, params)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/service/web_services.py", line 626, in dispatch
  res = fn(db, uid, *params)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/osv.py", line 131, in wrapper
  return f(self, dbname, *args, **kwargs)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/osv.py", line 220, in exec_workflow
  res = self.exec_workflow_cr(cr, uid, obj, signal, *args)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/audittrail/audittrail.py", line 520, in exec_workflow_cr
  return fct_src(cr, uid, model, method, *args, **kw)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/osv.py", line 213, in exec_workflow_cr
  return object._workflow_signal(cr, uid, [res_id], signal)[res_id]
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/orm.py", line 3930, in _workflow_signal
  result[res_id] = wf_service.trg_validate(uid, self._name, res_id, signal, cr)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
  res2 = instance.validate(cr, id, ident, signal)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/instance.py", line 43, in validate
  workitem.process(cr, witem, ident, signal, force_running, stack=stack)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 60, in process
  ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 175, in _split_test
  _join_test(cr, t[0], t[1], ident, stack)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 183, in _join_test
  create(cr,[activity], inst_id, ident, stack)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 40, in create
  process(cr, res, ident, stack=stack)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 52, in process
  result = _execute(cr, workitem, activity, ident, stack)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/workitem.py", line 127, in _execute
  id_new = wkf_expr.execute(cr, ident, workitem, activity)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/wkf_expr.py", line 67, in execute
  return _eval_expr(cr, ident, workitem, activity['action'])
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
  ret = eval(line, env, nocopy=True)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/tools/safe_eval.py", line 241, in safe_eval
  return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/osv/orm.py", line 374, in function_proxy
  return attr(self._cr, self._uid, [self._id], *args, **kwargs)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/purchase/purchase.py", line 1066, in action_po_assign
  res = self.make_po(cr, uid, ids, context=context)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/purchase_requisition/purchase_requisition.py", line 261, in make_po
  res = super(procurement_order, self).make_po(cr, uid, ids, context=context)
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/purchase/purchase.py", line 1133, in make_po
  address_id = partner_obj.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
  File "/home/odoo/runbot/static/openerp-dev-7-0-21912/server/openerp/addons/base/res/res_partner.py", line 704, in address_get
  default = result.get('default', partner.id)
  UnboundLocalError: local variable 'partner' referenced before assignment

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/1236191/+subscriptions


Follow ups

References