Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Mail::Box fails miserably when trying to open 30_000 messages maildir

by monsieur_champs (Curate)
on Jun 28, 2005 at 01:09 UTC ( #470434=note: print w/ replies, xml ) Need Help??


in reply to Re: Mail::Box fails miserably when trying to open 30_000 messages maildir
in thread Mail::Box fails miserably when trying to open 30_000 messages maildir

Good point. But my test script stills printing all planned output, even that below the "count messages point". I suppose that an out-of-memory Perl shouldn't be able to print anything...

I'm awaiting for the test script results, so I can tell you more details. Please, if you think that the posted script is not enought to expose the problem, tell me, and I will try to write a more precise test. Patches welcome, too.


Comment on Re^2: Mail::Box fails miserably when trying to open 30_000 messages maildir
Re^3: Mail::Box fails miserably when trying to open 30_000 messages maildir
by BrowserUk (Pope) on Jun 28, 2005 at 01:33 UTC

    Hmm. Probably not memory then.

    I took a quick scan of the code in Mail::Box::Manager and notice something that might be relevant. I the code for M::B::M::open(), I see this:

    return if $require_failed{$class};

    and scanning back to see where $require_failed is being set and see this:

    unless($folder_type) { # Try to autodetect foldertype. foreach (@{$self->{MBM_folder_types}}) { next unless $_; (my $abbrev, $class, @defaults) = @$_; next if $require_failed{$class}; eval "require $class"; if($@) { $require_failed{$class}++; next; } if($class->foundIn($name, @defaults, %args)) { $folder_type = $abbrev; last; } } }

    I may be misinterpreting the code, but it looks to me that if it attempts to auto detect the folder type and then fails to require the module for the folder type it detects, it sets the flag to indicate the failure and skips on without logging an error. Then later, it checks the flag and if it is set, fails silently returning undef.

    Could it be misdetecting the folder type and failing silently as a result?


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://470434]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (14)
As of 2014-08-01 17:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Who would be the most fun to work for?















    Results (33 votes), past polls