Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[SOLVED]Seems to crash ... perl, what?
#1
pandora_agent[18562] general protection ip:7f3f52d58fc4 sp:7f3f4f95ba40 error:0 in libperl.so[7f3f52cc4000+162000]
pandora_agent[19337] general protection ip:7fa385a08fc4 sp:7fa381c0aa40 error:0 in libperl.so[7fa385974000+162000]
pandora_agent[19528] general protection ip:7f69181eafd0 sp:7f690e55ba40 error:0 in libperl.so[7f6918156000+162000]


This happens after about 5 minutes.

I'm at a loss.  x86-64, CentOS 6, up to date as of 2012-07-12.
 Reply
#2
OK I think I figured this out:

https://bugzilla.redhat.com/show_bug.cgi?id=839788

Bug in Perl related to threading.
 Reply
#3
Thanks for the bug report.

>It looks like it should be included as an agent requirement to have Thread module version above 1.72, in order to have it working properly.

Much appreciated.

Regards.
 Reply
#4
(07-16-2012, 12:09 PM)tpalacios link Wrote: Thanks for the bug report.

>It looks like it should be included as an agent requirement to have Thread module version above 1.72, in order to have it working properly.

Much appreciated.

Regards.

I had a perl core dev test the one-liner test case, he says it's not in Perl Threads and it's fine on perl 5.6.2-5.10.0 and 5.12.0+.  perl 5.10.1 and perl 5.11.0 both segfault on the bug.  His non-threaded perl release builds also segfault on the same versions.

So likely not actually in perl threads, just a perl bug.
 Reply
#5
I got it!

http://www.nntp.perl.org/group/perl.perl...55286.html

Also the work-around is to disable threading (set agent threads to 1).  Odd, since this isn't a threading bug; however it's possible that threading causes a destructor call on a non-defined destructor.

The check for this is to fork off a new copy of perl (don't try to exception catch this; it segfaults libperl) and see if it can exit safely.  If this throws an error (exit status 137 rather than exit status 0), then perl is broken:

Code:
perl -e "sub M::DESTROY; bless {}, M;"

In which case you should disable threading.

Code:
system("perl", "-e", "sub M::DESTROY; bless {}, M;") == 0 or agent_threads = 1;
 Reply
#6
Nice job! Smile I will edit the post as solved.

Regards
 Reply


Users browsing this thread: 1 Guest(s)


(c) 2006-2018 Artica Soluciones Tecnológicas. Contents of this wiki are under Create Common Attribution v3 licence. | pandorafms.com | pandorafms.org

Theme © MyBB Themes