Euphoria Ticket #558: Segmentation fault when variable not declared

This is not valid code, I know. It was found during the execution of our new eudoc functionality which tests our eucode blocks for syntax correctness. Here is the example. On Linux (untested on Windows) this causes eui to segfault:

include std/search.e 
names = {"fred", "rob", "rob", "george", "mary"} 
location = rfind("rob", names) 

I assume it should, instead, report the errors. If you remove line 3, then it will report errors as it should.

When run with eui int.ex the following trace appears:

$ eui ../../int.ex s.e  
 
/home/jeremy/projects/euphoria/source/fwdref.e:359 in procedure patch_forward_call()  
subscript must be an atom 
(assigning to subscript of a sequence)  
 
... called from /home/jeremy/projects/euphoria/source/fwdref.e:797 
in function resolve_file()   
 
... called from /home/jeremy/projects/euphoria/source/fwdref.e:867 
in procedure Resolve_forward_references()   
 
... called from /home/jeremy/projects/euphoria/source/scanner.e:882 
in function IncludePop()   
 
... called from /home/jeremy/projects/euphoria/source/parser.e:4617 
in procedure real_parser()   
 
... called from /home/jeremy/projects/euphoria/source/parser.e:4732 
in procedure parser()   
 
... called from /home/jeremy/projects/euphoria/source/main.e:193 
in procedure main()   
 
... called from /home/jeremy/projects/euphoria/source/main.e:213  
 
--> See ex.err  

Details

Type: Bug Report Severity: Major Category: Front End
Assigned To: mattlewis Status: Fixed Reported Release: 4743
Fixed in SVN #: 4744 View VCS: 4744 Milestone: 4.0.0

Search



Quick Links

User menu

Not signed in.

Misc Menu