Skip to Content.
Sympa Menu

en - RE: [sympa-users] perl crashing on wwsympa.fcgi

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • From: Erik Olson <address@concealed>
  • To: address@concealed
  • Subject: RE: [sympa-users] perl crashing on wwsympa.fcgi
  • Date: Mon, 2 Jan 2012 00:58:56 -0800 (PST)

Follow-up. Figured out proper incantation to get core dumps from apache cgi processes... again, apologies, I'm learning as I go. Here's the start of the backtrace. Interestingly, all four cases (I outlined in the original post) die on this same line 232 of mg.c



[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/perl -U -d:Trace
/home/sympa/bin/wwsympa.fcgi'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007fe01a823821 in Perl_mg_get (my_perl=0xbd3010, sv=0x61ac888) at
mg.c:232
232 if (!(mg->mg_flags & MGf_GSKIP) && vtbl && vtbl->svt_get) {
(gdb) bt
#0 0x00007fe01a823821 in Perl_mg_get (my_perl=0xbd3010, sv=0x61ac888) at
mg.c:232
#1 0x00007fe01a8467e1 in Perl_sv_setsv_flags (my_perl=0xbd3010,
dstr=0x68ebe08, sstr=0x61ac888, flags=18) at sv.c:4097
#2 0x00007fe01a84754b in Perl_newSVsv (my_perl=0xbd3010, old=<optimized
out>) at sv.c:8733
#3 0x00007fe01a7fd3d6 in S_pad_findlex (my_perl=0xbd3010, name=<optimized out>,
cv=<optimized out>, seq=<optimized out>, warn=1, out_capture=0x0,
[...]

(gdb) print mg
$1 = (MAGIC *) 0xbd6d28
(gdb) print mg->mg_flags
$2 = 0 '\000'
(gdb) print vtbl
$3 = (const MGVTBL * const) 0x2200000c00000003
(gdb) print vtbl->svt_get
Cannot access memory at address 0x2200000c00000003
(gdb) print mg->mg_virtual
$4 = (MGVTBL *) 0x2200000c00000003

So looks like it's accessing freed or bogus memory.

- Erik

On Sun, 1 Jan 2012, Erik Olson wrote:

Yes, this is also a change to perl 5.14.2 from some previous version.

I started adding debug print messages to the perl modules themselves, and have confirmed that the line-by-line traces I sent in my original mail are probably accurate. In both the post case and the subscribe case, it's on a call to MIME::Parser->parse_data and I don't see anything obviously wrong with the data... and the actual blow up occurs several levels deeper, on IO::File -- perhaps attempting to open a file it shouldn't?

Thanks for the confirmation!

- Erik

On Sun, 1 Jan 2012, Davy Kager wrote:

Hello,

I am experiencing what I believe to be an identical issue, see https://listes.cru.fr/sympa/arc/sympa-users/2011-12/msg00022.html

For me this came about when upgrading from openSUSE 11.4 to openSUSE 12.1 (x86_64). This upgrade also carried an upgrade to Perl, from version 5.12.x to 5.14.2. I would say that is the problem (or possibly one of the upgraded modules?).

Kind regards,
Davy

-----Original Message-----
From: address@concealed [mailto:address@concealed] On Behalf Of Erik Olson
Sent: Sunday, January 01, 2012 06:02
To: address@concealed
Subject: [sympa-users] perl crashing on wwsympa.fcgi

I am wondering if anyone can help me here.

I had been running Sympa 6.1.6 on a 64-bit Fedora 12 Linux box.

This week, I transferred all the files from ~sympa and appropriate /etc directories to a brand new rebuilt 64-bit Fedora 16 box. Restored the database on the new box, and I also upgraded to Sympa 6.1.7 in the process.

Things are mostly working, but wwsympa.cgi is now page faulting in libperl.so when certain functions are accessed:

1) Posting to a list via the web

2) Subscribing a user to a list via the web (but only when Quiet is
unchecked... if Quiet is checked, it works)

3) Attempting to approve a moderated message, whether it be via a ticket
link, or clicking on "Moderate -> Message"

4) User who has been subscribed but never logged in attempts to set up a
password by clicking on the "First Login" link. wwsympa.fcgi
blows up when they enter their e-mail address and click "Request First
Password"

I am guessing the common thread here is that all these functions involve sending an e-mail directly from wwsympa.fcgi, or maybe creating/dealing with tickets?

Here is the relevant line from syslog:

[...]
Dec 31 20:39:59 pulcher wwsympa[6729]: info [robot gsas.org] [session 11550608881860] [client 192.168.1.2] main::do_requestpasswd() do_requestpasswd(address@concealed) Dec 31 20:39:59 pulcher wwsympa[6729]: info Auth::create_one_time_ticket() Auth::create_one_time_ticket(address@concealed,gsas.org,choosepasswd,192.168.1.2) value = 67959831025349 Dec 31 20:39:59 pulcher kernel: [ 587.774025] wwsympa.fcgi[6729] general protection ip:7f22b4fd5821 sp:7fff4074bc60 error:0 in libperl.so[7f22b4f3f000+171000]


I am not a perl expert, nor familiar with how to get any form of a backtrace when perl itself crashes. I did try adding -d Devel::Trace to the execution of wwsympa.fcgi, and examined the line-by-line traces of each module. I've enclosed partial traces from each of these four cases right up to the crashes. I don't see a lot of commonality other than the use of mail.pm

Can anyone help?

Thanks in advance,

- Erik Olson


--
Erik Olson
Sent from my spiffy new Linux box





--
Erik Olson
Sent from my spiffy new Linux box




Archive powered by MHonArc 2.6.19+.

Top of Page