On Thu, Apr 23, 2009 at 12:25:41PM +0200, Raphael Hertzog wrote: > > c/ does the template contain "\textbf{Pos} & \textbf{Number} & > > \textbf{Description} & \textbf{Delivery Date} & \textbf{Qt'y} &" > > no, i have something similar but translated but why would this be relevant?
I'm sorry, I cut and pasted the wrong thing (..and that was taken from debugging Form.pm rather than the latex template), it was supposed to be: <%foreach number%> <%runningnumber%> & <%number%> & <%description%> & <%deliverydate%> & <%qty%> & <%unit%> & <%sellprice%> & <%discountrate%> & <%linetotal%> \\ <%end number%> I don't think it is relevant, but I believe it is in the processing of this that the runningnumber field gets expanded by format_line(), and it gets this expansion wrong. As mentioned earlier, it seems to expect the elements of this array (@{$self->{runningnumber}}) to be the numbers (1..<items>), but it's corrupt. In fact, using Data::Dumper to print the contents of this to a file gives similar results to the subject of this bug, so its like elements of this array refers to something already 'free'd by perl. Further, attempting to access these elements at the start of Form::parse_template() shows the corruption (so the latex has nothing to do with it). The caller is bin/mozilla/io.pl:1733 - and I see the corruption occurs during the call to IS->invoice_details at io.pl:1530 by doing a binary chop. This is not corrupt at the end of the invoice_details() sub, but is corrupt as soon as we return to io.pl. I've run out of time to look any further right now so I'll try to dig into it further later. -- Richard Mawson Mawson IT Services
signature.asc
Description: Digital signature