Re: 4.1 Beta Binary Release
- Posted by mattlewis (admin) Jan 20, 2014
- 3817 views
Well, I'm not sure if this is because of my changes or indicative of a larger problem. Typing your example on my system does not reliably crash for the compiled ed. I got the same error message but it seems to work more often than not on my system (Ubuntu 12.04). I'll see if compiling with debug symbols and running gdb can shed some light on the problem.
The problem here is that buffer_multi is an empty sequence. After making your change and running interpreted, I get:
foo1.ex <new file> function /home/matt/eu/oe/hg/bin/ed.ex:2035 in procedure insert_string() subscript value 1 is out of bounds, reading from a sequence of length 0 - in subscript #1 of 'buffer_multi'
I don't know enough about the guts of ed.ex to know what this means, but an error like that would slip through translated code to give you the sort of malloc error that Tom is reporting.
Matt
NB: Note the line in question:
if sequence(buffer[b_line]) and sequence(buffer_multi[b_line]) then
...and the improved error message that tells you exactly where the error is.