Potential memory leak
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- c, javascript
- Bereich
- tooling
Rechercherichtung
Beginne in tools/gen_lib.js bei der Allokation um Zeile 52 und der Bereinigung um Zeile 63. Verfolge, was passiert, wenn Allokationen FRAME_ALLOC_SIZE überschreiten, und bestimme anschließend, ob das Projekt am Limit warnen oder den Ansatz mit fester Allokation entfernen sollte. Als erledigt gilt die Aufgabe, wenn der Fall einer übermäßigen Allokation nicht mehr stillschweigend leakt und das gewählte Verhalten dokumentiert oder verifiziert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
It seems memory will be leaked if you allocate more pointers than FRAME_ALLOC_SIZE, or 1024*512, or 524,288.
https://github.com/konsumer/raylib-pointers/blob/7f2340c4b82fd13e4f00fe682c8b234e3b043ae9/tools/gen_lib.js#L52
Here's where you free only up to _frame_alloc_counter.
https://github.com/konsumer/raylib-pointers/blob/7f2340c4b82fd13e4f00fe682c8b234e3b043ae9/tools/gen_lib.js#L63
A few solutions off the top of my head:
- Show some warning when reaching the limit to make the memory leak obvious.
- Remove
FRAME_ALLOC_SIZEaltogether. I think a good way to do that is to only ever have one pointer allocated that'll be used to carry the result, but is freed on the next raylib-function call. Then the receiving/duping/allocating can be done by JS on the JS side, instead of the C side.
- Vorherrschende Sprache
- C
- Sterne
- 0
- Forks
- 1
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
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 konsumer/raylib-pointers
-
Nested structs & arraysOffenenhancement parent
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
C enhancement todo
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 28/100
-
defines (bun)Offenbunjs enhancement todo
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 48/100
-
nested structs (bun)Offenbunjs enhancement todo
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
-
bunjs enhancement todo
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
Alle Issues in konsumer/raylib-pointers
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
ly05010419/MacNativeGames#2001 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area/docdb kind/bug priority/medium status/awaiting-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
yugabyte/yugabyte-db#37426 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area/documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
obsproject/obs-studio#14184 ·
Maintainer antworten meist innerhalb von 1 Tag
-
extension-modules type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
30-minutes algorithm any-language beginner-friendly c community cpp csharp data-structures go good first issue hacktoberfest help wanted kotlin learning leetcode php ruby rust swift
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
Huerte/algo-solutions-python#211 ·
Maintainer antworten meist innerhalb von 1 Tag