[ic] workaround found for 99%CPU usage problem in Vend/SessionFile.pm: "::uneval($ref);" fixes it

Steffen Dettmer interchange-users@interchange.redhat.com
Thu Nov 22 05:52:01 2001


* Mike Heins wrote on Wed, Nov 14, 2001 at 19:58 -0500:
> Quoting Steffen Dettmer (steffen@dett.de):
> > You're right, sorry. It's an SuSE 7.0 distribution:
> > Linux stella 2.2.16-SMP #1 SMP Wed Aug 2 20:01:21 GMT 2000 i686 unknown
> > with the old Perl 5.005_03.
> 
> If it is Linux, this is probably not an issue other than the general
> out-of-datedness of your software.

upgraded:
This is perl, v5.6.1 built for i686-linux

> Aha. That is it -- flock() doesn't work across NFS filesystems.

Fixed, anythink local now.

> In any case, I am certain if it moves to a local file system
> the problem will disappear.

Well, it doesn't.

> This is just timing problem. If we can't lock reliably, file-based
> sessions simply will not work. You could move to DBI sessions.

Here again a trace excerpt:

[pid 27204] mremap(0x40290000, 233472, 233472, MREMAP_MAYMOVE) = 0x40290000
[pid 27204] stat("/usr/local/interchange-4.8.2/lib/auto/Storable/store.al",
{st_mode=S_IFREG|0444, st_size=532, ...}) = 0

[pid 27204] mremap(0x40290000, 233472, 233472, MREMAP_MAYMOVE) = 0x40290000
[pid 27204] stat("/usr/local/interchange-4.8.2/lib/auto/Storable/store.al",
{st_mode=S_IFREG|0444, st_size=532, ...}) = 0

[pid 27204] mremap(0x40290000, 233472, 233472, MREMAP_MAYMOVE) = 0x40290000
[pid 27204] stat("/usr/local/interchange-4.8.2/lib/auto/Storable/store.al",
{st_mode=S_IFREG|0444, st_size=532, ...}) = 0

It looks really like and endless loop and not a failed flock(2)
or so. In the trace file there are successfull accesses to
store.al. After the same stat(2) call it gets opened and readed
in with success.

Do I think right when I assume that it's not Interchange Code
that does the lib load but perl code (auto loader)?

Any suggestions, ideas or hints? I would like to get it working
now... 

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.