Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: Parallel::ForkManager memory mixup?

by ground0 (Novice)
on Mar 29, 2013 at 16:48 UTC ( #1026170=note: print w/replies, xml ) Need Help??

in reply to Re^2: Parallel::ForkManager memory mixup?
in thread [solved] Parallel::ForkManager memory mixup?

Didn't effect anything, meh. :(

If anyone has a recommended test URL with a few different elements to grab I can tune up the pseudo-code above into something runnable that replicates the issue (assuming this is interesting enough hah).

  • Comment on Re^3: Parallel::ForkManager memory mixup?

Replies are listed 'Best First'.
Re^4: Parallel::ForkManager memory mixup?
by ground0 (Novice) on Mar 30, 2013 at 14:07 UTC

    So I woke up this morning and tried this kludge:

    $temp = $mech->uri; (undef, $uri) = split (/(\?.*)/, $temp);
    I next concatenate session ID in $uri with $url:
    $url .= $uri;

    Now when I $mech->get($url); etc. and follow with $html = $mech->content; etc. my temporary HTML has proper snippet per fork child!

    At Corion's request I did some more debugging, and with FireBug plugin I found this to be an edge case. When a site issues a default, non-random session ID on loading a page, and then links to itself without passing a real session ID... the result is each fork that goes to work on the same offending URL gets jumbled on the next $mech->get($url);

    I'm going to mark this solved since each fork was getting the same default fake session ID, and my kludge should be adaptable to any site doing this. With the obvious caveat being you'll need to $mech->get() something that issues you a valid session ID prior to the kludge!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1026170]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2018-06-20 23:43 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (117 votes). Check out past polls.