Segmentation fault with many go routines
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 28/100
Piste de recherche
Commencez par exécuter la reproduction fournie avec 10,000 goroutines en utilisant les interpréteurs Python et les versions de offset/fibers indiqués. Déterminez si le segmentation fault provient de offset, de fibers ou de leur interaction, puis ajoutez un test de régression pour la reproduction. C’est terminé lorsque le programme ne plante plus et produit 10001.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Running this program.
from offset import maintask, run, go, makechan
def gopher(left, right):
value = right.recv()
left.send(value + 1)
def starter(chan):
chan.send(1)
@maintask
def main():
leftmost = makechan()
right = leftmost
left = leftmost
for _ in range(10000):
right = makechan()
go(gopher, left, right)
left = right
go(starter, right)
print(leftmost.recv())
if __name__ == "__main__":
run()
I get:
$ python gophers.offset.py
zsh: segmentation fault python gophers.offset.py
The output I expected was 10001.
Tested with
- Interpreters
Python 2.7.3 (87aa9de10f9ca71da9ab4a3d53e0ba176b67d086, Feb 03 2014, 13:03:18)[PyPy 2.2.1]Python 3.3.3 (default, Dec 22 2013, 19:33:55)
- offset library from github
- fibers 0.3.0
I don't know if this is caused by the offset library, fibers library or any other combination so I decided to start from here. :)
- Langage dominant
- Python
- Étoiles
- 380
- Forks
- 15
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de benoitc/offset
-
Crash using over 2000 fibersPeut-être à nouveau libre @benoitc l’a pris il y a 4479 jours, et aucune pull request n’est ouverte. Ouvertebug
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 20/100
-
i/o apiOuverteenhancement stdlib
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
-
net APIOuverteenhancement stdlib
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
Toutes les issues de benoitc/offset
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
openvinotoolkit/openvino_notebooks#3858 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
hummingbot/hummingbot-api#256 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
-
area:other help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
WingedGuardian/GENesis-AGI#4734 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
peach-mitao/peach#693 ·
Les mainteneurs répondent en général sous 1 jour