FIX: Prevent critical TypeError in token counter with robust null check (v4)
The token counter was crashing during model loading/unloading (race condition) because it was attempting to access attributes on an object that was momentarily None. This fix introduces a sequential and robust null check (sd_models.model_data is None or sd_models.model_data.sd_model is None) at the start of the function to safely return 0 tokens during unstable states.pull/369/head
parent
1b2cce5433
commit
077daf3f6e
|
|
@ -4,10 +4,9 @@ from functools import partial, reduce
|
|||
|
||||
|
||||
def get_token_counter(text, steps):
|
||||
# Check if the model is fully loaded to prevent TypeError during model switching.
|
||||
# Checks both sd_model and its subcomponent (cond_stage_model).
|
||||
if sd_models.model_data.sd_model is None or \
|
||||
sd_models.model_data.sd_model.cond_stage_model is None:
|
||||
# FIX: Robust Null Check to prevent TypeError during model loading/unloading.
|
||||
# Checks for the existence of model_data and its property sd_model sequentially.
|
||||
if sd_models.model_data is None or sd_models.model_data.sd_model is None:
|
||||
return {"token_count": 0, "max_length": 0}
|
||||
|
||||
# copy from modules.ui.py
|
||||
|
|
|
|||
Loading…
Reference in New Issue