Potential memory leak
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- c, javascript
- Domínio
- tooling
Direção de pesquisa
Comece em tools/gen_lib.js, na alocação por volta da linha 52 e na limpeza por volta da linha 63. Rastreie o que acontece quando as alocações excedem FRAME_ALLOC_SIZE e então determine se o projeto deve emitir um aviso no limite ou remover a abordagem de alocação fixa. Está concluído quando o caso de alocação excedente não vazar mais silenciosamente e o comportamento escolhido estiver documentado ou verificado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C
- Estrelas
- 0
- Forks
- 1
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de konsumer/raylib-pointers
-
Nested structs & arraysAbertaenhancement parent
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
nested-structs/arrays (C)AbertaC enhancement todo
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 28/100
-
defines (bun)Abertabunjs enhancement todo
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 48/100
-
nested structs (bun)Abertabunjs enhancement todo
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
-
bunjs enhancement todo
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
Todas as issues de konsumer/raylib-pointers
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
ly05010419/MacNativeGames#2001 ·
Mantenedores costumam responder em até 1 dia
-
area/docdb kind/bug priority/medium status/awaiting-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
yugabyte/yugabyte-db#37426 ·
Mantenedores costumam responder em até 1 dia
-
area/documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
obsproject/obs-studio#14184 ·
Mantenedores costumam responder em até 1 dia
-
extension-modules type-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
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
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 85/100
Huerte/algo-solutions-python#211 ·
Mantenedores costumam responder em até 1 dia