Return-Path: X-Original-To: apmail-perl-modperl-archive@www.apache.org Delivered-To: apmail-perl-modperl-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AF418D30B for ; Tue, 13 Nov 2012 14:48:54 +0000 (UTC) Received: (qmail 95407 invoked by uid 500); 13 Nov 2012 14:48:53 -0000 Delivered-To: apmail-perl-modperl-archive@perl.apache.org Received: (qmail 95295 invoked by uid 500); 13 Nov 2012 14:48:53 -0000 Mailing-List: contact modperl-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list modperl@perl.apache.org Received: (qmail 95253 invoked by uid 99); 13 Nov 2012 14:48:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Nov 2012 14:48:52 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of demerphq@gmail.com designates 209.85.223.177 as permitted sender) Received: from [209.85.223.177] (HELO mail-ie0-f177.google.com) (209.85.223.177) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Nov 2012 14:48:45 +0000 Received: by mail-ie0-f177.google.com with SMTP id e14so14392883iej.22 for ; Tue, 13 Nov 2012 06:48:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=7oPyx/+moF+4nh3MfDkftLWeKPxIio4BUhG8hQmBea8=; b=JTVtAtxivyQl7wWHUia0EDwwADsr9YFjI7ZylL9wfcMt2d6JkCXnuOMEEA4Vk9yGiF KZahHXnsTv5xUGxQ63KSgPhL40FzjBkMNX5BiVhG85RbDT0ePUv31NbNV2hQr7AA+Ite JrZMekVBXcnK6Cn51/l21mEK84KdBkWv3wiC8CxWCFeztF1kvlcp4DSfgRf36d4bHuEP GO5uuwPp7kvW3Rk/dKz5BQtNVyJDlAutlqF2loP9p9jM61Lpp44XNwyH3eH1v6MMj8Qq xHALpdnzxzvMfW+sajv4JV4bOm1Rdq+d+x4tANJWf3gqYAVtCqV0eonor/2lGA9sMKou lTyw== MIME-Version: 1.0 Received: by 10.50.178.106 with SMTP id cx10mr11317657igc.24.1352818104891; Tue, 13 Nov 2012 06:48:24 -0800 (PST) Received: by 10.64.65.161 with HTTP; Tue, 13 Nov 2012 06:48:22 -0800 (PST) In-Reply-To: References: <005d01cd9d7a$41edb200$c5c91600$@s.profanter.me> <5065BDE2.5020104@squeakycode.net> <000101cd9e32$b12fddb0$138f9910$@s.profanter.me> Date: Tue, 13 Nov 2012 15:48:22 +0100 Message-ID: Subject: Re: apache2 + mod_perl + Catalyst + Session = Segmentation fault From: demerphq To: =?ISO-8859-1?Q?=C6var_Arnfj=F6r=F0_Bjarmason?= Cc: Stefan Profanter , modperl@perl.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On 13 November 2012 15:23, =C6var Arnfj=F6r=F0 Bjarmason = wrote: > On Sat, Sep 29, 2012 at 1:08 PM, Stefan Profanter > wrote: >>> > >>> > 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? >> >> Yes, you were right. >> I stored a DBIX::ResultSet->single Object in session and it seems this >> caused the SegFault. Now I stored only the ID instead of whole object an= d it >> works. >> >>> >>> Maybe look at Sereal as an alternative to Storable. >>> >>> https://github.com/Sereal/Sereal/ >>> http://search.cpan.org/~smueller/Sereal-Decoder/lib/Sereal/Decoder.pm >>> http://search.cpan.org/~smueller/Sereal-Encoder/lib/Sereal/Encoder.pm >>> >> >> This seems interesting! Do you know by chance how Catalyst::Plugin::Sess= ion >> can be set to use Seareal instead of Storable? > > I don't have experience with that Catalyst plugin but for e.g. > Apache::Session we've been using Data::FlexSerializer to migrate away > from Sereal. He meant "from Storable (to Sereal)" Yves --=20 perl -Mre=3Ddebug -e "/just|another|perl|hacker/"