DB_File WTF (was GDBM_File WTF?)

Andy Armstrong andy at hexten.net
Sun Apr 8 18:39:01 BST 2007


On 8 Apr 2007, at 18:25, Dirk Koopman wrote:

> I see to be getting a similar and rather more final problem along a  
> similar vein. Except that it bangs out with:
>
> Out of memory during ridiculously large request at /spider/perl/ 
> DXDupe.pm line 78.
>
>  $dbm = tie (%d, 'DB_File', $fn);
>
> ..
> ..
>
>  if ($main::systime - $lasttime >=  3600) {
>     while (($k, $v) = each %d) {
>        delete $d{$k} if $main::systime >= $v; # line 78
>     }
>     $lasttime = $main::systime;
>  }
>
> But only on the latest freebsd 6.2.
>
> Any clues?

Did you miss my post? It's not safe to modify the tied hash during  
iteration. That's a limitation the Perl wrapper inherits from the  
underlying library.

-- 
Andy Armstrong, hexten.net



More information about the london.pm mailing list