Cannot handle recursive protobufs
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- testing-qa
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Python
- Estrellas
- 288
- Forks
- 36
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de trailofbits/protofuzz
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
trailofbits/protofuzz#91 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
trailofbits/protofuzz#85 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
trailofbits/protofuzz#57 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
trailofbits/protofuzz#13 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
trailofbits/protofuzz#11 ·
Todos los issues de trailofbits/protofuzz
Issues similares
-
ready-for-agent tooling
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
KRoperUK/smeg-plus-patches#249 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
monzta1/ToneCommand#293 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
oracle/graalvm-reachability-metadata#11318 ·
Los mantenedores suelen responder en 1 día
-
area: parser bug difficulty: easy
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
hayagrivai-labs/phantom#150 ·
Los mantenedores suelen responder en 1 día
-
test: cover markdown.py summary items in numeric difference table and fallback number escapingAbiertodifficulty: easy good first issue help wanted mentor available testing
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
hayagrivai-labs/sciproof#179 ·
Los mantenedores suelen responder en 1 día