Return-Path: Delivered-To: apmail-modperl-archive@apache.org Received: (qmail 5511 invoked by uid 500); 5 Apr 2001 18:38:01 -0000 Mailing-List: contact modperl-help@apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list modperl@apache.org Received: (qmail 5496 invoked from network); 5 Apr 2001 18:38:00 -0000 Date: Thu, 5 Apr 2001 11:37:15 -0700 (PDT) From: Carl Lipo X-Sender: carl@carl.ocp.internap.com To: Joshua Chamas cc: modperl@apache.org Subject: Re: Apache::ASP -- Corruption of statedir files/truncation of methodnames In-Reply-To: <3ACC02CF.AB0D7E1C@chamas.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N The statedir is local so it doesnt seem to be an NFS issue. There definitely seems to be a corruption of the StateDir files: here is a error that crops up in our error log. [Thu Apr 5 08:09:07 2001] [notice] child pid 11555 exit signal Segmentation fault (11) Use of uninitialized value at /usr/lib/perl5/MLDBM.pm line 161 (#1) (W) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign an initial value to your variables. Unauthorized use, disclosure, or distribution of information within this message is prohibited. On Wed, 4 Apr 2001, Joshua Chamas wrote: > Carl Lipo wrote: > > > > I've just started having problems with asp state files for Apache::ASP > > 2.09 becoming corrupted during use. My application will work just fine but > > at somepoint the session asp state files get corrupted and only deleting > > them allows the application to continue working. Oddly, this occurs on two > > different servers so the problem does not appear to be machine specific. > > > > The symptom of the problem is that application errors are returned > > from the asp code execution that look something like this: > > > > Uncaught exception from user code: > > Can't locate object method 'Quer' via package > > "Apache::ASP::Request'; at (eval 263) l > > ine 167. INAP::NEIS::_usr_local_applprod_infosource_apps_netcfg_viewNodes_htmxINL() called > > at /usr/local/lib/site_perl/Apache/ > > ASP.pm line 1504 > > > > Generally problems of this nature, where even perl data seems > to be corrupted, seem to be from buffer overrun type issues > that normally result in segfaults. Looking at your config, > I would suspect the culprit to be use of DB_File on your > StateDir, where /usr/local/etc/infosource/apps/netcfg/state-dir > may be mounted over NFS. NFS typically does not support the > flock() style locking that Apache::ASP uses to protect DB_File > from corruption. > > If you are & must use NFS, don't use DB_File, use the default > SDBM_File, which does not corrupt as easily. If you need to > get past the 1000 byte limit, then you might use > MLDBM::Sync::SDBM_File which I developed just for this purpose. > I need to add config support for this still to Apache::ASP though. > If you can switch to a CIFS/or samba mounted file system, do > this, as this supports flock() semantics. > > If StateDir is mounted locally, then possibly there is a bug in > Apache::ASP StateDB locking, but this is less likely the case > and we might look at other types of buffer overrun issues that > might corrupt perl data structures. If your modperl httpd is compiled > DSO, compile it static, as I have seen no end of odd errors with > the DSO config from time to time. > > Also, DBD::Oracle and long values with CLOBs/BLOBs can create > another type of buffer overrun, which is supposedly on OCI bug, > though you didn't mention use of Oracle this is an odd bug that > stung me recently. > > If you give up on trying to find this bug, which seems to be > related to StateDB corruption, you may create $Application & > $Session objects with Apache::Session in the global.asa Script_OnStart, > which would at least eliminate the StateDB issue. > > -- Josh > > _________________________________________________________________ > Joshua Chamas Chamas Enterprises Inc. > NodeWorks >> free web link monitoring Huntington Beach, CA USA > http://www.nodeworks.com 1-714-625-4051 > >