python / python/cpython

Exception stacktrace generated from passing an invalid `target` to `Thread(...).start()` does not include the line calling the `start()` method

Ouverte
#145,242 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

stdlib type-feature
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

import threading,sys
print(sys.version)
def ThreadMain():
    print("howdy cowboy")
ThreadMaiin=True

myThread=threading.Thread(target=ThreadMaiin)
myThread.start() # @note Ideally, the Stacktrace generated by the exception raised as a result of this line would include the line itself

Prints the following to console:

3.14.3 (tags/v3.14.3:323c59a, Feb  3 2026, 16:04:56) [MSC v.1944 64 bit (AMD64)]
Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Users\olliv\AppData\Local\Programs\Python\Python314\Lib\threading.py", line 1082, in _bootstrap_inner
    self._context.run(self.run)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "C:\Users\olliv\AppData\Local\Programs\Python\Python314\Lib\threading.py", line 1024, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'bool' object is not callable
Linked PRs
  • gh-145243

Guide de contribution

Ouvrir le guide de contribution

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.

Piste de recherche

Commencez par threading.py, en particulier Thread.start(), _bootstrap_inner() et run(), et examinez le travail associé dans gh-145243 avant d’effectuer des modifications. Reproduisez l’exemple de cible invalide et suivez la façon dont l’exception du worker est formatée ; c’est terminé lorsque le traceback inclut la ligne myThread.start() de l’appelant sans régression dans le rapport normal des exceptions de thread.

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

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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