On Tue, 28 Oct 2008, Giovanni Biscuolo wrote: > Afrer upgrading from 2.6.22 I get the following error when trying to print > some documents (sales orders, invoices, > etc.): > > Error! > > panic: attempt to copy freed scalar 83e6ee0 to 8233bf0 at SL/Form.pm line 984.
Hello, it should be fixed with the version 2.8.24-1 that I will upload to sid (unstable) in a few minutes. Please tell me if the problem is fixed, if yes, I might try to get it fixed in stable as well. I attach the patch used if you want to try separately (without installing the package). Cheers, -- Raphaël Hertzog Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny : http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/
Description: Fix for perl 5.10 This change should fix the error "panic: attempt to copy freed scalar 83e6ee0 to 8233bf0 at SL/Form.pm line 984." that many people have been experiencing while trying to print some documents. It's specific to perl 5.10. Author: Dieter Simader Forwarded-Upstream: yes (patch coming from upstream) --- a/SL/Form.pm 2009-03-26 23:37:32.000000000 +0100 +++ b/SL/Form.pm 2009-04-21 08:44:19.000000000 +0200 @@ -653,10 +653,10 @@ } # display contents of $self->{number}[] array - for my $i (0 .. $#{ $self->{$var} }) { + for my $j (0 .. $#{ $self->{$var} }) { if ($var =~ /^(part|service)$/) { - next if $self->{$var}[$i] eq 'NULL'; + next if $self->{$var}[$j] eq 'NULL'; } # Try to detect whether a manual page break is necessary @@ -666,8 +666,8 @@ if ($chars_per_line && defined $self->{$var}) { my $line; my $lines = 0; - my $item = $self->{description}[$i]; - $item .= "\n".$self->{itemnotes}[$i] if $self->{itemnotes}[$i]; + my $item = $self->{description}[$j]; + $item .= "\n".$self->{itemnotes}[$j] if $self->{itemnotes}[$j]; foreach $line (split /\r?\n/, $item) { $lines++; @@ -706,11 +706,11 @@ } $current_line += $lines; } - $sum += $self->parse_amount($myconfig, $self->{linetotal}[$i]); + $sum += $self->parse_amount($myconfig, $self->{linetotal}[$j]); } # don't parse par, we need it for each line - print OUT $self->format_line($par, $i); + print OUT $self->format_line($par, $j); } next;