I also get this problem on sql-ledger 2.8.16-1 on lenny.

The problem seems to be the Form object gets corrupted.

Form.pl:984 attempts to to access elements of $self->{runningnumber}, an 
arrayref, which in my case contains this:

'runningnumber' => [
    1,
    'invoice.tex',
    undef,
    undef
]

I believe it should contain the numbers 1,2,3,4 going by how this is 
constructed, and in fact changing the code 
from:

$str = (defined $i) ? $self->{$var}[$i] : $self->{$var};

to:

if ($var eq 'runningnumber') {
   $str = $i+1;
} else {
   if (ref $self->{$var} ne "ARRAY") {
       $str = $self->{$var};
   } else {
       $str = $self->{$var}[$i];
   }
}

works around the corruption in this case.
I've not worked out how this structure gets corrupted, so could potentially be 
corrupting other structures that have not surfaced yet.

This makes sql-ledger pretty useless on lenny without my workaround. Is this 
being addressed? 
Is there anything else I can provide to help resolve the issue?

--
Richard Mawson

Attachment: signature.asc
Description: Digital signature

Reply via email to