Interpolated var access is sometimes -1
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start in InterpolatedVar.cs, reading WrapRange and the indexer that adds firstElement before wrapping. Trace how an index that passes IsIdxValid can become -1, and identify the caller or input that triggers it. Done means the cause is understood and corrected so valid accesses do not rely on modulo to mask the invalid index.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In InterpolatedVar.cs, changed by 1348c82ed9ef4d6112115fe5614e8cd01c140a1c:
private int WrapRange(int i) {
return MathLib.Modulo(i, maxElement); // TODO: Why does -1 get passed here sometimes. We shouldn't have to change this to accomodate.
}
This should actually be
return (i >= maxElement) ? (i - maxElement) : i;
But for some reason, i coming in can sometimes be -1 when coming from here:
public ref T this[int i] {
get {
Assert(IsIdxValid(i));
i += firstElement;
i = WrapRange(i);
return ref elements![i];
}
}
There is a check for this (IsIdxValid), but it's just an assert. This must be some bug in my implementation I would imagine, but further research is needed. For now, the modulo works with an occasional hiccup.
- Lenguaje dominante
- C#
- Estrellas
- 104
- Forks
- 9
- Merge medio
- 8 h 40 min
- PR fusionados (30 d)
- 110
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 SourceDotNET/Source.NET
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
SourceDotNET/Source.NET#203 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
SourceDotNET/Source.NET#117 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
SourceDotNET/Source.NET#116 ·
Los mantenedores suelen responder en 1 día
-
We need to consider a unified API for validationQuizá libre de nuevo @marchc1 la tomó hace 368 días y no hay ningún pull request abierto. AbiertoEnhancement Needs More Info
SourceDotNET/Source.NET#37 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Need to consider refactoring the API for concommand autocompleteQuizá libre de nuevo @marchc1 la tomó hace 368 días y no hay ningún pull request abierto. AbiertoEnhancement Performance
SourceDotNET/Source.NET#36 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de SourceDotNET/Source.NET
Issues similares
-
Wrong values of Kernel32.FileShare.Delete and Kernel32.FileAttributes.PosixSemanticsPosiblemente ocupada @ElectLive la tomó hoy. Abiertobug good first issue help wanted
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
ForNeVeR/TruePath#241 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
files-community/Files#19047 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area:frontend bug FE hotspot:css P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
klasolsson81/jobbliggaren#2175 ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 71/100
elsa-workflows/elsa-foundation#2965 ·
Los mantenedores suelen responder en 1 día