From b08a83ef0288910570fd32aab813c486c29b0233 Mon Sep 17 00:00:00 2001 From: Mr-Neutr0n <64578610+Mr-Neutr0n@users.noreply.github.com> Date: Thu, 12 Feb 2026 00:13:25 +0530 Subject: [PATCH] fix: replace mutable default argument in override_dist_dtype_device_args Using a mutable default argument (b={}) is a known Python pitfall: the dict is created once at function definition time and shared across all calls, which can lead to subtle, hard-to-diagnose bugs when the dict is mutated. Replace `b={}` with `b=None` and initialize inside the function body in both cogvlm_model.py and cogagent_model.py. --- utils/models/cogagent_model.py | 4 +++- utils/models/cogvlm_model.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/utils/models/cogagent_model.py b/utils/models/cogagent_model.py index fc4967d0..4c104fe6 100644 --- a/utils/models/cogagent_model.py +++ b/utils/models/cogagent_model.py @@ -36,7 +36,9 @@ def forward(self, x): from .eva_clip_model import EVA2CLIPModel import argparse from copy import deepcopy -def override_dist_dtype_device_args(args, b={}): +def override_dist_dtype_device_args(args, b=None): + if b is None: + b = {} if args.mode == 'inference': minimal_args = argparse.Namespace( world_size=args.world_size, diff --git a/utils/models/cogvlm_model.py b/utils/models/cogvlm_model.py index 30600eb4..2f109111 100644 --- a/utils/models/cogvlm_model.py +++ b/utils/models/cogvlm_model.py @@ -35,7 +35,9 @@ def forward(self, x): from .eva_clip_model import EVA2CLIPModel import argparse from copy import deepcopy -def override_dist_dtype_device_args(args, b={}): +def override_dist_dtype_device_args(args, b=None): + if b is None: + b = {} if args.mode == 'inference': minimal_args = argparse.Namespace( world_size=args.world_size,