in reply to Re^2: panic: regfree data code 'ð' during global destruction. error when joining threads
in thread panic: regfree data code 'ð' during global destruction. error when joining threads

You didn't identify which version of threads you are using?

perl -Mthreads -le"print $threads::VERSION"

Debugging any code is nigh impossible without seeing the code. Debugging threaded code without seeing it is impossible. If you're worried about proprietary code, then simply remove everything you can whilst still exhibiting the same problem.

If you take something out and the problem goes away, put it back. When you have the minimum code left that still panics, post it. If nothng else, you will have a suitable testcase for raising a bug report.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."
  • Comment on Re^3: panic: regfree data code 'ð' during global destruction. error when joining threads
  • Download Code

Replies are listed 'Best First'.
Re^4: panic: regfree data code 'ð' during global destruction. error when joining threads
by somekindafreak (Acolyte) on Jun 12, 2008 at 15:43 UTC
    thanks for the common sense advice. I took my working Thread module and instead of slamming it into my other system, added elements until the break was detected several hours later. I don't know exactly the cause, but it is a combination of using:
    use Data::Dumper; $Data::Dumper::Deparse=1;
    along with a number of objects for the thread->join to clean up and the twist, a subroutine with a regular expression in it, hence the regfree reference.

    Thanks everyone for their help.

      but it is a combination of using: use Data::Dumper; $Data::Dumper::Deparse=1;

      Yep! That'd do it. From the docs for D::D:

      Caution : use this option only if you know that your coderefs will be properly reconstructed by B::Deparse.

      I seriously doubt if that option or B::Deparse have ever been tested seriously in a threaded environment.

      If you can see your way clear to producing a small tst case demonstrating the panic, and raising a perlbug, it might be get fixed sometime.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.