You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Function: get_incoming_value_for_serial_nos
File Path: /frappe-bench/apps/erpnext/erpnext/stock/deprecated_serial_batch.py, line 49
Error Message:
While executing the get_incoming_value_for_serial_nos function, a timeout error occurs. The traceback indicates that the task exceeded the maximum timeout value (600 seconds). However, this function is marked as @deprecated.
Context:
The get_incoming_value_for_serial_nos function is marked as deprecated, implying that it is no longer recommended for use. Despite being deprecated, it is still being executed in the codebase, resulting in timeout errors.
Action Required:
Investigate why the deprecated function get_incoming_value_for_serial_nos is still being called and run in the codebase.
Determine whether this function is critical for current functionality or if it can be replaced with a recommended alternative.
Address the timeout issue by either optimizing the function's performance or replacing it with a more efficient solution.
Module
stock
Version
frappe version - v15.17.1
erpnext version - v15.16.2
Installation method
None
Relevant log output / Stack trace / Full Error Message.
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/submission_queue/submission_queue.py", line 95, in background_submission
getattr(to_be_queued_doc, _action)()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
return func(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1045, in submit
returnself._submit()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1028, in _submit
returnself.save()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 335, in save
return self._save(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 388, in _save
self.run_post_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1128, in run_post_save_methods
self.run_method("on_submit")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 959, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1319, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1301, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 956, in fn
return method_object(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py", line 410, in on_submit
self.update_stock_ledger()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/selling_controller.py", line 530, in update_stock_ledger
self.make_sl_entries(sl_entries)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/stock_controller.py", line 708, in make_sl_entries
make_sl_entries(sl_entries, allow_negative_stock, via_landed_cost_voucher)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/stock_ledger.py", line 96, in make_sl_entries
sle_doc = make_entry(sle, allow_negative_stock, via_landed_cost_voucher)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/stock_ledger.py", line 224, in make_entry
sle.submit()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
return func(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1045, in submit
returnself._submit()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1028, in _submit
returnself.save()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 335, in save
return self._save(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 357, in _save
returnself.insert()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 313, in insert
self.run_post_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1128, in run_post_save_methods
self.run_method("on_submit")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 959, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1319, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1301, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 956, in fn
return method_object(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py", line 180, in on_submit
SerialBatchBundle(
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/serial_batch_bundle.py", line 28, in _init_
self.post_process()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/serial_batch_bundle.py", line 241, in post_process
self.submit_serial_and_batch_bundle()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/serial_batch_bundle.py", line 267, in submit_serial_and_batch_bundle
doc.submit()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
return func(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1045, in submit
returnself._submit()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1028, in _submit
returnself.save()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 335, in save
return self._save(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 371, in _save
self.run_before_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1091, in run_before_save_methods
self.run_method("validate")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 959, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1319, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1301, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 956, in fn
return method_object(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py", line 101, in validate
self.set_incoming_rate()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py", line 209, in set_incoming_rate
self.set_incoming_rate_for_outward_transaction(
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py", line 238, in set_incoming_rate_for_outward_transaction
sn_obj = SerialNoValuation(
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/serial_batch_bundle.py", line 416, in _init_
self.calculate_stock_value_change()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/serial_batch_bundle.py", line 438, in calculate_stock_value_change
self.calculate_stock_value_from_deprecarated_ledgers()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/deprecations.py", line 19, in wrapper
return func(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/deprecated_serial_batch.py", line 25, in calculate_stock_value_from_deprecarated_ledgers
outgoing_value = self.get_incoming_value_for_serial_nos(serial_nos)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/deprecations.py", line 19, in wrapper
return func(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/deprecated_serial_batch.py", line 49, in get_incoming_value_for_serial_nos
stock_ledgers = (
File "/home/frappe/frappe-bench/apps/frappe/frappe/query_builder/utils.py", line 87, in execute_query
result = frappe.db.sql(query, params, *args, **kwargs) # nosemgrep
File "/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py", line 234, in sql
self._cursor.execute(query, values)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 558, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 822, in _read_query_result
result.read()
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 1200, inread
first_packet = self.connection._read_packet()
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 739, in _read_packet
packet_header = self._read_bytes(4)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_bytes
data = self._rfile.read(num_bytes)
File "/usr/lib/python3.10/socket.py", line 705, in readinto
return self._sock.recv_into(b)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/rq/timeouts.py", line 63, in handle_death_penalty
raise self._exception('Task exceeded maximum timeout value ({0} seconds)'.format(self._timeout))
rq.timeouts.JobTimeoutException: Task exceeded maximum timeout value (600 seconds)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1652, in execute_action
getattr(doc, __action)(**kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/submission_queue/submission_queue.py", line 106, in background_submission
frappe.db.rollback()
File "/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py", line 1061, in rollback
self.sql("rollback")
File "/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py", line 234, in sql
self._cursor.execute(query, values)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 557, in query
self._execute_command(COMMAND.COM_QUERY, sql)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 840, in _execute_command
raise err.InterfaceError(0, "")
pymysql.err.InterfaceError: (0, '')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py", line 213, in execute_job
retval = method(**kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1654, in execute_action
frappe.db.rollback()
File "/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py", line 1061, in rollback
self.sql("rollback")
File "/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py", line 234, in sql
self._cursor.execute(query, values)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 557, in query
self._execute_command(COMMAND.COM_QUERY, sql)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 840, in _execute_command
raise err.InterfaceError(0, "")
pymysql.err.InterfaceError: (0, '')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/rq/worker.py", line 1428, in perform_job
rv = job.perform()
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/rq/job.py", line 1278, in perform
self._result = self._execute()
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/rq/job.py", line 1315, in _execute
result = self.func(*self.args, **self.kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py", line 236, in execute_job
frappe.db.rollback()
File "/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py", line 1061, in rollback
self.sql("rollback")
File "/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py", line 234, in sql
self._cursor.execute(query, values)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute
result = self._query(query)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 557, in query
self._execute_command(COMMAND.COM_QUERY, sql)
File "/home/frappe/frappe-bench/env/lib/python3.10/site-packages/pymysql/connections.py", line 840, in _execute_command
raise err.InterfaceError(0, "")
pymysql.err.InterfaceError: (0, '')
The text was updated successfully, but these errors were encountered:
get_incoming_value_for_serial_nos method will be deprecate in version 16 and not now. This method is needed to calculate the valuation rate for legacy serial numbers.
Since this is related to data, we need to access your site to check the issue. If your site is hosted on frappe cloud and you have active support plan. Then request you to create a support ticket.
Information about bug
Issue Description:
Function: get_incoming_value_for_serial_nos
File Path: /frappe-bench/apps/erpnext/erpnext/stock/deprecated_serial_batch.py, line 49
Error Message:
While executing the
get_incoming_value_for_serial_nos
function, a timeout error occurs. The traceback indicates that the task exceeded the maximum timeout value (600 seconds). However, this function is marked as @deprecated.Context:
The get_incoming_value_for_serial_nos function is marked as deprecated, implying that it is no longer recommended for use. Despite being deprecated, it is still being executed in the codebase, resulting in timeout errors.
Action Required:
Module
stock
Version
frappe version - v15.17.1
erpnext version - v15.16.2
Installation method
None
Relevant log output / Stack trace / Full Error Message.
The text was updated successfully, but these errors were encountered: