[Bugfix] Avoid scanning crash-dump token buffers during GC (#37297)
Co-authored-by: Lianmin Zheng <lianminzheng@gmail.com>
This commit is contained in:
co-authored by
Lianmin Zheng
parent
22195709d1
commit
b83bf7a65f
@@ -2971,9 +2971,19 @@ class TokenizerManager(TokenizerControlMixin, TokenizerManagerScoreMixin):
|
|||||||
|
|
||||||
def record_request_for_crash_dump(self, state: ReqState, out_dict: dict):
|
def record_request_for_crash_dump(self, state: ReqState, out_dict: dict):
|
||||||
current_time = real_time()
|
current_time = real_time()
|
||||||
|
request = state.obj
|
||||||
|
input_ids = request.input_ids
|
||||||
|
if isinstance(input_ids, list):
|
||||||
|
# Keep replay data intact without making full GC traverse every token.
|
||||||
|
request = copy.copy(request)
|
||||||
|
request.input_ids = (
|
||||||
|
tuple(tuple(row) for row in input_ids)
|
||||||
|
if input_ids and isinstance(input_ids[0], list)
|
||||||
|
else tuple(input_ids)
|
||||||
|
)
|
||||||
self.crash_dump_request_list.append(
|
self.crash_dump_request_list.append(
|
||||||
(
|
(
|
||||||
state.obj,
|
request,
|
||||||
out_dict,
|
out_dict,
|
||||||
convert_time_to_realtime(state.time_stats.created_time),
|
convert_time_to_realtime(state.time_stats.created_time),
|
||||||
current_time,
|
current_time,
|
||||||
|
|||||||
Reference in New Issue
Block a user