[ragel-users] Ragel crash (searching includes?)

Adrian Thurston thurston at complang.org
Mon Oct 12 03:34:38 UTC 2009


I can't reproduce, but I fixed a bug in this area the other day. Is this 
the trunk? If not could you test with it?

-Adrian

Diego Elio “Flameeyes” Pettenò wrote:
> Seems like I hit something here ;)
> 
> check out git://git.lscube.org/feng.git (rfc822-parser branch):
> 
> feng % ragel
> -I/media/repos/flame/.lscube/yamato/feng/../../sources/feng/src/network
> -Isrc/network
> -C /media/repos/flame/.lscube/yamato/feng/../../sources/feng/src/network/ragel_request_line.rl -o src/network/ragel_request_line.c 
> *** glibc detected *** ragel: corrupted double-linked list:
> 0x0000000000d68520 ***
> 
> uh-oh!
> 
> ==17658== Invalid write of size 8
> ==17658==    at 0x425571: Scanner::makeIncludePathChecks(char const*,
> char const*, int) (rlscan.rl:594)
> ==17658==    by 0x42E88E: Scanner::handleInclude() (rlscan.rl:316)
> ==17658==    by 0x426977: Scanner::processToken(int, char*, int)
> (rlscan.rl:391)
> ==17658==    by 0x42DC7F: Scanner::do_scan() (rlscan.rl:1106)
> ==17658==    by 0x40397D: process(InputData&) (main.cpp:456)
> ==17658==    by 0x4049F6: main (main.cpp:548)
> ==17658==  Address 0x5a00830 is 0 bytes after a block of size 16 alloc'd
> ==17658==    at 0x4C2466C: operator new[](unsigned long)
> (vg_replace_malloc.c:264)
> ==17658==    by 0x425423: Scanner::makeIncludePathChecks(char const*,
> char const*, int) (rlscan.rl:559)
> ==17658==    by 0x42E88E: Scanner::handleInclude() (rlscan.rl:316)
> ==17658==    by 0x426977: Scanner::processToken(int, char*, int)
> (rlscan.rl:391)
> ==17658==    by 0x42DC7F: Scanner::do_scan() (rlscan.rl:1106)
> ==17658==    by 0x40397D: process(InputData&) (main.cpp:456)
> ==17658==    by 0x4049F6: main (main.cpp:548)
> ==17658== 
> ==17658== Invalid write of size 8
> ==17658==    at 0x4255A5: Scanner::makeIncludePathChecks(char const*,
> char const*, int) (rlscan.rl:598)
> ==17658==    by 0x42E88E: Scanner::handleInclude() (rlscan.rl:316)
> ==17658==    by 0x426977: Scanner::processToken(int, char*, int)
> (rlscan.rl:391)
> ==17658==    by 0x42DC7F: Scanner::do_scan() (rlscan.rl:1106)
> ==17658==    by 0x40397D: process(InputData&) (main.cpp:456)
> ==17658==    by 0x4049F6: main (main.cpp:548)
> ==17658==  Address 0x5a00838 is 8 bytes after a block of size 16 alloc'd
> ==17658==    at 0x4C2466C: operator new[](unsigned long)
> (vg_replace_malloc.c:264)
> ==17658==    by 0x425423: Scanner::makeIncludePathChecks(char const*,
> char const*, int) (rlscan.rl:559)
> ==17658==    by 0x42E88E: Scanner::handleInclude() (rlscan.rl:316)
> ==17658==    by 0x426977: Scanner::processToken(int, char*, int)
> (rlscan.rl:391)
> ==17658==    by 0x42DC7F: Scanner::do_scan() (rlscan.rl:1106)
> ==17658==    by 0x40397D: process(InputData&) (main.cpp:456)
> ==17658==    by 0x4049F6: main (main.cpp:548)
> 
> 




More information about the ragel-users mailing list