From fe9acc898ec51073a4a75e3cf20457f0cd161909 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 15:38:22 +0530 Subject: [PATCH] fix(DX): capture tracebacks with context (backport #39060) (#39062) * fix(DX): capture tracebacks with context (#39060) (cherry picked from commit 510fdf7bf651788e549184c23d89c2387c1c2f10) # Conflicts: # erpnext/manufacturing/doctype/bom_creator/bom_creator.py * Delete erpnext/manufacturing/doctype/bom_creator/bom_creator.py --------- Co-authored-by: Ankush Menat --- .../process_payment_reconciliation.py | 2 +- .../doctype/repost_payment_ledger/repost_payment_ledger.py | 2 +- .../doctype/closing_stock_balance/closing_stock_balance.py | 4 +--- .../doctype/repost_item_valuation/repost_item_valuation.py | 2 +- erpnext/stock/reorder_item.py | 2 +- erpnext/utilities/bulk_transaction.py | 4 ++-- 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py index 31660306db0..a93fd46caf6 100644 --- a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py +++ b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py @@ -415,7 +415,7 @@ def reconcile(doc: None | str = None) -> None: # Update the parent doc about the exception frappe.db.rollback() - traceback = frappe.get_traceback() + traceback = frappe.get_traceback(with_context=True) if traceback: message = "Traceback:
" + traceback frappe.db.set_value("Process Payment Reconciliation Log", log, "error_log", message) diff --git a/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py b/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py index 209cad4f905..d603635ac5a 100644 --- a/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py +++ b/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py @@ -43,7 +43,7 @@ def start_payment_ledger_repost(docname=None): except Exception as e: frappe.db.rollback() - traceback = frappe.get_traceback() + traceback = frappe.get_traceback(with_context=True) if traceback: message = "Traceback:
" + traceback frappe.db.set_value(repost_doc.doctype, repost_doc.name, "repost_error_log", message) diff --git a/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py index 295d979b835..2f7a2dd70b7 100644 --- a/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py +++ b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py @@ -128,6 +128,4 @@ def prepare_closing_stock_balance(name): doc.db_set("status", "Completed") except Exception as e: doc.db_set("status", "Failed") - traceback = frappe.get_traceback() - - frappe.log_error("Closing Stock Balance Failed", traceback, doc.doctype, doc.name) + doc.log_error(title="Closing Stock Balance Failed") diff --git a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py index 9f3074a24ca..6ffb34dc135 100644 --- a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py +++ b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py @@ -248,7 +248,7 @@ def repost(doc): raise frappe.db.rollback() - traceback = frappe.get_traceback() + traceback = frappe.get_traceback(with_context=True) doc.log_error("Unable to repost item valuation") message = frappe.message_log.pop() if frappe.message_log else "" diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py index 136c78ff586..3c429a2c22d 100644 --- a/erpnext/stock/reorder_item.py +++ b/erpnext/stock/reorder_item.py @@ -141,7 +141,7 @@ def create_material_request(material_requests): exceptions_list.extend(frappe.local.message_log) frappe.local.message_log = [] else: - exceptions_list.append(frappe.get_traceback()) + exceptions_list.append(frappe.get_traceback(with_context=True)) mr.log_error("Unable to create material request") diff --git a/erpnext/utilities/bulk_transaction.py b/erpnext/utilities/bulk_transaction.py index 5c43bbe41da..7577f0a379e 100644 --- a/erpnext/utilities/bulk_transaction.py +++ b/erpnext/utilities/bulk_transaction.py @@ -62,7 +62,7 @@ def retry_failed_transactions(failed_docs: list | None): task(log.transaction_name, log.from_doctype, log.to_doctype) except Exception as e: frappe.db.rollback(save_point="before_creation_state") - update_log(log.name, "Failed", 1, str(frappe.get_traceback())) + update_log(log.name, "Failed", 1, str(frappe.get_traceback(with_context=True))) else: update_log(log.name, "Success", 1) @@ -86,7 +86,7 @@ def job(deserialized_data, from_doctype, to_doctype): fail_count += 1 create_log( doc_name, - str(frappe.get_traceback()), + str(frappe.get_traceback(with_context=True)), from_doctype, to_doctype, status="Failed",