Hi Pascal, Thanks for improving the memory leak situation. Before I did "git pull" to get the latest commits the result of valgrind was: ==2851== ==2851== HEAP SUMMARY: ==2851== in use at exit: 17,592 bytes in 19 blocks ==2851== total heap usage: 574 allocs, 555 frees, 177,201 bytes allocated ==2851==
And after the memory leak fix commits: ==4220== ==4220== HEAP SUMMARY: ==4220== in use at exit: 10,520 bytes in 15 blocks ==4220== total heap usage: 574 allocs, 559 frees, 177,201 bytes allocated ==4220== And so the situation has been improved. I will upload a reproducer on github tomorrow night to be able to reproduce my results. Too late to do it now. To be continued... Best regards, Joakim ________________________________________ Från: Pascal via Gnoga-list <[email protected]> Skickat: den 11 november 2019 19:12 Till: Gnoga support list Kopia: Pascal Ämne: Re: [Gnoga-list] Memory leak in Gnoga? False alarm? Hello Joakim, > Le 3 nov. 2019 à 23:25, Joakim Dahlgren Strandberg <[email protected]> a écrit : > > Hi Pascal, > > Thanks for the detailed analysis of the potential memory leak. Seems it was a > treasure trove of issues to look at. I suspected there may be something > suspicious with some code in Dmitry's Simple Components but the code I looked > at appeared correct. Looking forward to hear more about the progress on this. > If I find out more I will share it here on the Gnoga mailing list of course. > > Best regards, > Joakim > ________________________________________ ... > Hello Joakim, > > I have got detailed results from valgrind of memory leaks after Gnoga server > execution. > There is 4 kinds of them: > - allocation in globals that are not freed before exiting (Watchdog and > Gnoga_HTTP_Server) -> easy to fix Fix. > - allocation in GNAT RTE (initialization, Unbounded_String, String, > String_Access and exceptions) -> to be reported to AdaCore Done for Unbounded_String. > - allocation in HTTP server (container) -> to be reported to Dmitry Fix. > - allocation in Multi-Connect application for Connection_Data, user guide > said: > -- By default Connection_Data is assumed to be a dynamic object > -- and freed when the connection is closed. > but it seems not to be the case -> investigation is needed. Added a log: "Connection_Data freed", it seems then to be correct. Changes are commited: https://sourceforge.net/p/gnoga/code/ci/8bf88ff3c965689b2f097d1f4b0aab69cc75f9bd/ Could you please check with valgring if these leaks are still present or not? Thanks, Pascal. http://blady.pagesperso-orange.fr _______________________________________________ Gnoga-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gnoga-list _______________________________________________ Gnoga-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gnoga-list
