Hi Folks,
So I'm a bit stumped here. I've got a simple forking server managed through a fork() wrapper module, there is nothing special here, the wrapper module (Ext::Fork) just manages queues and execute requests etc.
So here is where I'm at, with perl 5.8.8 5.8.9 5.10 and 5.10.1 I'm reliably seeing:
panic: attempt to copy freed scalar 802e7e120 to 802e7e708 at Server.p +m line 380.
Line 380 of Server.pm:
(%ch) = rfork_list_children(1);
rfork_list_children is exported from Ext::Fork:
sub rfork_list_children { my ($use_hash) = @_; if(!$Ext::Fork::POOL->{cidlist}){ return; } if($use_hash){ return %{ $Ext::Fork::POOL->{cidlist} }; } else { return keys %{ $Ext::Fork::POOL->{cidlist} }; } }
So the interesting bit is this code is repeatedly hit thousands of times prior to the panic, and it should never be reached in the event of $Ext::Fork::POOL->{cidlist}->{} is undefined.
Does anyone seen any no-no's here that I should be avoiding explicitly that can result in the above panic?
Thanks!
In reply to panic: attempt to copy freed scalar 802e7e120 to 802e7e708 at Server.pm line 380. by faber
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |