On 09/28/2012 08:07 AM, Stefan Profanter wrote:
Hi!

Posted this question already on Catalyst Mailing List, but got no answer yet 
and I think this problem is caused by mod_perl somewhere.

I programmed a Catalyst Application which uses mod_perl and apache2 in 
production mode.

The Catalyst App runs fine in debug mode (“Started with own script on port 
3000”).

Another Catalyst application programmed some months ago works perfect with 
nearly the same configuration and runs also parallel even on the same apache2 
(also with same Session Plugins).

The first time, I access the site everything works fine. But after login, only 
the first page opens, each second try to open another page results in a 
Segmentation Fault. Even pages which don’t require login.

If I then disable or delete the Cookies, the Site works again. So my guess is 
that there is somewhere a problem with Session handling.

Disabling the first application in apache doesn’t change anything.

Can you help me finding out what causes the SegFault (Debug infos see above)?

Thanks a lot!!!

Stefan

--------------------------------------

Here ist the backtrace from gdb and apache2 which I got so far:

Core was generated by `/usr/sbin/apache2 -k start'.

Program terminated with signal 11, Segmentation fault.

#0  mbuf2sv (my_perl=0x2b60a36b94c0, f=<value optimized out>, sv=<value optimized 
out>, optype=<value optimized out>,

     network_order=-1547829216, res=<value optimized out>) at Storable.xs:3873

3873            return newSVpv(mbase, MBUF_SIZE());

(gdb) bt

#0  mbuf2sv (my_perl=0x2b60a36b94c0, f=<value optimized out>, sv=<value optimized 
out>, optype=<value optimized out>,

     network_order=-1547829216, res=<value optimized out>) at Storable.xs:3873

#1  do_store (my_perl=0x2b60a36b94c0, f=<value optimized out>, sv=<value optimized 
out>, optype=<value optimized out>,

     network_order=-1547829216, res=<value optimized out>) at Storable.xs:3833

#2  0x00002b608bf0856b in XS_Storable_mstore (my_perl=0x2b60a36b94c0, cv=<value 
optimized out>) at Storable.xs:6427

#3  0x00002b6085e54045 in Perl_pp_entersub () from /usr/lib/libperl.so.5.10



Looks like you are using Storable to stream out cookies?  Looks like something 
in there is causing Storable to puke.  I see things like array_call, 
store_blessed, store_hash... So I'm guessing your passing Storable some kind of 
object?  Does it have any recursive parts?

I googled "perl storable seg fault" and it looks like people have gotten 
Storable to seg fault before.  I'm not sure if the stack trace is reading objects or 
writing them.  Maybe you can glean from other's what makes Storable segfault.

First figure out if its reading or writing that causes the problem, then try to 
figure out what part of the object is so upsetting.

3873            return newSVpv(mbase, MBUF_SIZE());

Hum... any chance that is really really big?

-Andy



Reply via email to