Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

TypeError: 'NoneType' object is not callable in __del__() when exiting

Ouverte Adaptée aux débutants
#2,002 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
70/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
python
Domaine
backend

Piste de recherche

Recherchez la définition de la classe Llama, probablement dans un fichier comme llama.py ou dans un module central similaire. Trouvez sa méthode del. La correction consiste à entourer l’appel self.close() d’un bloc try-except afin d’ignorer les exceptions. Testez en créant un script simple qui instancie le modèle et se termine, en vous assurant qu’aucun TypeError n’apparaît.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Prerequisites

  • I am running the latest code.
  • I followed the README.md.
  • I searched open/closed issues.
  • This is a reproducible error and fix.

Expected Behavior

When the model is closed or Python exits, it should clean up resources quietly.

Current Behavior

When using Llama(...), a crash occurs on exit:

TypeError: 'NoneType' object is not callable

This happens inside __del__() when it tries to close internal objects (e.g., ExitStack or model context) that are already None.

Environment and Context

  • Windows 11
  • Python 3.11.3
  • llama-cpp-python version: 0.3.8
  • Using quantized GGUF model via Llama(...)

Steps to Reproduce

  1. Load model via Llama(model_path=..., ...)
  2. Let script exit
  3. Observe destructor crash in logs

Recommended Fix

Wrap close() call in __del__() like so:

def __del__(self):
    try:
        self.close()
    except Exception:
        pass
Langage dominant
Python
Étoiles
10.6k
Forks
1.5k
Merge moyen
3 h 57 min
PR mergées (30 j)
4

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de abetlen/llama-cpp-python

Toutes les issues de abetlen/llama-cpp-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.