[ragel] Ragel sanitise output - memory leaks

Adrian Thurston thurston at colm.net
Sat Jan 27 16:24:07 UTC 2018


 

Why so strict on building? Does it really matter if a tool used in the a
build doesn't free everything before exiting? 

On 2018-01-26 03:59, Samuel Williams wrote: 

> When sanitisers are on, the exit status is non-zero because of the memory leaks, so it's not just clean build reports, but actually failed builds. 
> 
> Thanks 
> Samuel
> 
> On 14 December 2017 at 05:22, Adrian Thurston <thurston at colm.net> wrote:
> 
> Sorry, no change. The problems are in the form of memory leaks in ragel mucking up your clean build reports? Maybe you could turn them off for ragel? Honestly it's never really been a strong concern for me since ragel is a one-shot kind of program. Some improvements were made when I added libfsm, but that was mostly in the core FSM code. 
> 
> My current concerns with ragel are to get out-of-tree support for alternate host languages. Will have some time for that in December. Removing leaks is something I would work on when 7.0 gets to stable status. 
> 
> Adrian 
> 
> On 2017-11-08 20:08, Samuel Williams wrote: 
> 
> Any update to this? Still causing problems for me. 
> 
> On 9 October 2017 at 10:34, Samuel Williams <space.ship.traveller at gmail.com> wrote:
> 
> Here is some log output from a build which invokes ragel to generate several parsers. I've cut out (most) unimportant output. 
> 
> The source code for the parsers: https://github.com/kurocha/async-http/tree/master/source/Async/HTTP/V1 [2] 
> The results from running Ragel several times with LLVM sanitisers: https://gist.github.com/ioquatix/2e50ffb09697107338f8f75083400143 [3]
> 
> The main issue I can see are memory leaks, but there could be other issues. 
> 
> Since Ragel is a one-shot "compiler", perhaps it's not important to address these, except as a matter of correctness. 
> 
> I think there are potential problem with memory leaks and they might be covering up bigger issues - there might be cases where memory is being accessed incorrectly but it's not causing a crash because it's not freed at the right point etc. 
> 
> I'd suggest that if there is a test suite for Ragel, it's updated to run with the undefined behaviour sanitiser and address sanitiser - both provide useful output IMHO. 
> 
> Happy to provide more feedback. 
> 
> Kind regards, 
> Samuel 
> 
> _______________________________________________
> ragel mailing list
> ragel at colm.net
> http://www.colm.net/cgi-bin/mailman/listinfo/ragel [1]

_______________________________________________
 ragel mailing list
 ragel at colm.net
 http://www.colm.net/cgi-bin/mailman/listinfo/ragel [1]

_______________________________________________
ragel mailing list
ragel at colm.net
http://www.colm.net/cgi-bin/mailman/listinfo/ragel [1]

 

Links:
------
[1] http://www.colm.net/cgi-bin/mailman/listinfo/ragel
[2]
https://github.com/kurocha/async-http/tree/master/source/Async/HTTP/V1
[3] https://gist.github.com/ioquatix/2e50ffb09697107338f8f75083400143
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.colm.net/pipermail/ragel-users/attachments/20180127/1c7c31c8/attachment-0002.html>


More information about the ragel-users mailing list