[ic] Problems with IC 5.4 and access.asc file lock.
Gert van der Spoel
ic at 3edge.com
Fri Mar 24 09:55:20 EST 2006
Boyd Lynn Gerber writes:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> I had 5.2 working and I removed my 5.2 installation and installed 5.4 on a
> UnixWare 7.1.4 and an OpenServer 6.0.0 which is based on UnixWare 7.1.4.
> I have been running Interchange on UnixWare for many years. I can not
> figure out what has changed. I get this in my error.log.
>
> 198.60.105.176 zGUVFuu3:198.60.105.176 - [24/March/2006:03:05:26 +0000]
> test1 /cgi-bin/test1/admin/index.html Runtime error: access import into
> failed: Could not lock file: Bad file number
>
> In debug.log I see...
>
> Importing access table from
> /usr/local/interchange/catalogs/test1/products/access.asc
>
> and in /usr/local/interchange/catalogs/test1/products/...
>
> # l /usr/local/interchange/catalogs/test1/products/acc*
> - -rw-rw-r-- 1 interch zenez 1486 Mar 23 05:05
> /usr/local/interchange/catalogs/test1/products/access.asc
> - -rw-rw---- 1 interch zenez 0 Mar 24 12:40
> /usr/local/interchange/catalogs/test1/products/access.asc.lock
>
> IC creates it once but never removes it or changes the date/time stamp.
> It is always created once I delete it when I try to go into the admin.
> The regular store works. I am using perl 5.8.7 See below for perl -V
>
> # perl -V
> Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
> Platform:
> osname=svr5, osvers=7.1.4, archname=i586-pc-sysv5
> uname='sco_sv kassad 5 6.0.0 i386 '
> config_args='-Dcc=cc -Dprefix=/usr -Duselargefiles -Dhintfile=svr5.sh
> - -Dosname=svr5 -Dosvers=7.1.4 -d -e -s'
> hint=recommended, useposix=true, d_sigaction=define
> usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
> useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
> use64bitint=define use64bitall=undef uselongdouble=define
> usemymalloc=y, bincompat5005=undef
> Compiler:
> cc='cc', ccflags ='',
> optimize='-O',
> cppflags=''
> ccversion='', gccversion='', gccosandvers=''
> intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
> ivtype='long long', ivsize=8, nvtype='long double', nvsize=12,
> Off_t='off_t', lseeksize=4
> alignbytes=4, prototype=define
> Linker and Libraries:
> ld='cc', ldflags =''
> libpth=/usr/gnu/lib /usr/lib
> libs=-lsocket -lnsl -lgdbm -ldb -ldl -lld -lm -lcrypt
> perllibs=-lsocket -lnsl -ldl -lld -lm -lcrypt
> libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
> ccdlflags='-Wl,-Bexport'
> cccdlflags='-Kpic', lddlflags='-G -Wl,-Bexport'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: USE_64_BIT_INT USE_LONG_DOUBLE USE_LARGE_FILES
> Locally applied patches:
> SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962
> Built under svr5
> Compiled at Jan 22 2006 11:41:48
> @INC:
> /usr/lib/perl5/5.8/i586-pc-sysv5
> /usr/lib/perl5/5.8
> /usr/lib/perl5/site_perl/5.8/i586-pc-sysv5
> /usr/lib/perl5/site_perl/5.8
> /usr/lib/perl5/site_perl/5.8
> /usr/lib/perl5/sco_perl/5.8/i586-pc-sysv5
> /usr/lib/perl5/sco_perl/5.8
> /usr/lib/perl5/sco_perl/5.8
> .
>
>
> I created a start file to try and debug this. I have it with and with out
> the PERL_SIGNALS. See below...
>
> - --------------------------------Cut-Here----------------------------
> # this is to start and stop the interchange server
> # the normal utils do not work
> #
> PERL_SIGNALS="unsafe";export PERL_SIGNALS
> kill -9 `cat /usr/local/interchange/etc/interchange.pid`
> rm /usr/local/interchange/etc/sock*
> /usr/local/interchange/bin/interchange -r -u
> chmod 777 /usr/local/interchange/etc/socket*
> chmod u+s,g+s /usr/local/interchange/etc/socket*
> - --------------------------------Cut-Here----------------------------
>
> http://www.zenez.com/test1/
>
> Customer Entrance works but Admin fails. The apache log shows this(which
> I expect when something fails).
>
> [Fri Mar 24 12:40:34 2006] [error] [client 198.60.105.144] Premature end
> of script headers: /usr/lib/apache/cgi-bin/test1
>
> I am not sure where else to look or What to try?. Which routines may have
> changed. I know that creating/using user accounts with passwords works.
>
> I tried looking at the changes in the change log but they did not help. I
> must be over looking something obvious. I even made all directories in
> the test1 catalog and below 777 just for testing and it did not help.
>
> Could some share some ideas?
>
> Thanks,
I don't directly see the reason, but have you tried what happens if you move
access.asc aside, if you have then the same problem on the next data table.
Are you using a database (mysql, postgres) or is it with gdbm/db files?
Did you copy your old catalog.cfg to your new install or are you using the
standard catalog.cfg?
More information about the interchange-users
mailing list