Cannot handle recursive protobufs
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- testing-qa
Direzione di ricerca
Start by reproducing the example through protofuzz.from_description_string and fuzzers['A'].permute(). Read protofuzz/protofuzz.py, especially descriptor_to_generator and _prototype_to_generator, where the traceback recurses; done means the mutually recursive A and B descriptions no longer produce a RecursionError.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Repro:
from protofuzz import protofuzz
fuzzers = protofuzz.from_description_string("""
message A {
optional B b = 1;
}
message B {
optional A a = 1;
}
""")
for obj in fuzzers['A'].permute():
print(obj)
Result:
...lots of stuff...
egg/protofuzz/protofuzz.py", line 113, in descriptor_to_generator
generator = _prototype_to_generator(descriptor, cls)
File "/Users/ezyang/Dev/onnx-env/lib/python3.6/site-packages/protofuzz-0.1-py3.6.egg/protofuzz/protofuzz.py", line 100, in _prototype_to_generator
generator = descriptor_to_generator(descriptor.message_type, cls)
File "/Users/ezyang/Dev/onnx-env/lib/python3.6/site-packages/protofuzz-0.1-py3.6.egg/protofuzz/protofuzz.py", line 113, in descriptor_to_generator
generator = _prototype_to_generator(descriptor, cls)
File "/Users/ezyang/Dev/onnx-env/lib/python3.6/site-packages/protofuzz-0.1-py3.6.egg/protofuzz/protofuzz.py", line 100, in _prototype_to_generator
generator = descriptor_to_generator(descriptor.message_type, cls)
File "/Users/ezyang/Dev/onnx-env/lib/python3.6/site-packages/protofuzz-0.1-py3.6.egg/protofuzz/protofuzz.py", line 113, in descriptor_to_generator
generator = _prototype_to_generator(descriptor, cls)
File "/Users/ezyang/Dev/onnx-env/lib/python3.6/site-packages/protofuzz-0.1-py3.6.egg/protofuzz/protofuzz.py", line 83, in _prototype_to_generator
if descriptor.type in ints32+ints64:
RecursionError: maximum recursion depth exceeded in comparison
- Lingua principale
- Python
- Stelle
- 288
- Fork
- 36
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di trailofbits/protofuzz
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
trailofbits/protofuzz#91 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
trailofbits/protofuzz#85 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
trailofbits/protofuzz#57 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
trailofbits/protofuzz#13 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
trailofbits/protofuzz#11 ·
Tutte le issue di trailofbits/protofuzz
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
521xueweihan/HelloGitHub#4150 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
aws-samples/sample-per-model-bedrock#595 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
bug connectors
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 67/100
pyinfra-dev/pyinfra#2036 ·
I maintainer di solito rispondono entro 9 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno