Interpolated var access is sometimes -1
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- C#
- Sterne
- 104
- Forks
- 9
- Ø Merge
- 6 Std. 45 Min.
- Gemergte PRs (30 T.)
- 118
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus SourceDotNET/Source.NET
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 69/100
SourceDotNET/Source.NET#203 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 30/100
SourceDotNET/Source.NET#214 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
SourceDotNET/Source.NET#210 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
SourceDotNET/Source.NET#117 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
SourceDotNET/Source.NET#116 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in SourceDotNET/Source.NET
Ähnliche Issues
-
clawsweeper:fix-shape-clear clawsweeper:needs-maintainer-review clawsweeper:no-new-fix-pr clawsweeper:not-repro-on-main impact:ux-release-blocker issue-rating: 🦪 silver shellfish P0
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
openclaw/openclaw-windows-node#1843 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
-
kind:ux size:S type:bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
elsa-workflows/elsa-foundation#3256 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: Revit selector reads process ids 2000-2099 as years (flaky AgentClientTests.AYearOrAProcessIdSelectsTheHost)Evtl. vergeben @Wurschdhaud hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
pyrevitlabs/pyRevit#3817 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug effort:S P2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
nightscout/nocturne#2449 ·
Maintainer antworten meist innerhalb von 1 Tag