Hi, thank you for the bug report. This occurs when a lot of compound terms are nested. I’m working on a fix. A possible workaround for you case is to split the big list into several chunks. Here is an example with chunks of size 16.
a(L) :- L = [b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L1], L1 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L2 ], L2 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L3 ], L3 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L4 ], L4 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L5 ], L5 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L6 ], L6 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L7 ], L7 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L8 ], L8 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L9 ], L9 =[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L10], L10=[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L11], L11=[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L12], L12=[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L13], L13=[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L14], L14=[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L15], L15=[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)|L16], L16=[b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)]. Daniel Le 3 juin 2014 à 18:04, STREBELLE Alain <[email protected]> a écrit : > Hello everyone, > > I just came to this bug. > Assume that I have a prolog file "fatal_error.pl", which contains > > a( > [ > b(c), > b(c), > b(c), > … > b(c) > ] > ). > > If I consult the file > > | ?- [fatal_error]. > compiling /Dvlpt/trfmodels/fatal_error.pl for byte code... > /Dvlpt/trfmodels/fatal_error.pl compiled, 261 lines read - 26473 bytes > written, 761 ms > > (3 ms) yes > > If there were less than 257 b(c) compound statements, I have no problem > retrieving the knowledge: > > | ?- a(R). > > R = > [b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c),b(c)] > > Yes > > If there are 257 b(c) compound statements or more, gprolog crashes: > > GNU Prolog 1.4.4 (64 bits) > Compiled Jun 3 2014, 17:40:55 with gcc > By Daniel Diaz > Copyright (C) 1999-2013 Daniel Diaz > | ?- [fatal_error]. > compiling /Dvlpt/trfmodels/fatal_error.pl for byte code... > /Dvlpt/trfmodels/fatal_error.pl compiled, 261 lines read - 26473 bytes > written, 761 ms > > (3 ms) yes > | ?- a(R). > > cannot display cyclic term for R > > (1 ms) yes > > Fatal Error: Segmentation Violation (bad address: 0x803) > > The same happens in 1.4.0, in 1.4.4 and the latest unstable version from > 20140207. > > Thank for looking at this, and thank you for an otherwise very good product > that saves my life every day. > > Alain Strebelle > Swift > > > Some details on my environment : > > Hardware Overview: > > Model Name: MacBook Pro > Model Identifier: MacBookPro6,2 > Processor Name: Intel Core i5 > Processor Speed: 2.53 GHz > Number Of Processors: > 1 > Total Number Of Cores: > 2 > L2 Cache (per core): 256 KB > L3 Cache: 3 MB > Memory: 4 GB > Processor Interconnect Speed: > 4.8 GT/s > Boot ROM Version: MBP61.0057.B0C > SMC Version (system): > 1.58f17 > Serial Number (system): > ------------- > Hardware UUID: ------------------------------------ > Sudden Motion Sensor: > State: Enabled > > System Software Overview: > > System Version: Mac OS X 10.6.8 (10K549) > Kernel Version: Darwin 10.8.0 > Boot Volume: MBPI5HD > Boot Mode: Normal > Computer Name: ----- > User Name: ---------------------------- > Secure Virtual Memory: > Enabled > 64-bit Kernel and Extensions: > No > Time since boot: 7:55 > > > -- > Ce message a été vérifié par MailScanner pour des virus ou des polluriels et > rien de suspect n'a été trouvé. > _______________________________________________ > Bug-prolog mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/bug-prolog -- Ce message a ete verifie par MailScanner pour des virus ou des polluriels et rien de suspect n'a ete trouve.
_______________________________________________ Bug-prolog mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-prolog
