db problems in 1.0.2

[email protected]
Newsgroups gmane.network.up2date.current.devel
Message-ID <[email protected]>
I came across current last week, happily set up on RedHat 7.2 for my own
munged distribution.  Worked perfectly :)

Another week and another job later ...

Have downloaded current on a RedHat 6.2 box + updates which is the
distro for my new employers.

Set up current as before, cadmin happy generating databases.

However when I initialise current it dies.  I think it is a db issue, or
maybe it just doesn't work on RedHat 6.2 as the server ...

I'm thinking maybe rebuild python from src.rpm against the libc and db3
libraries but it seems dynamically linked, any ideas.  Lots of data
follows...

[root@fred lib-dynload]# ldd bsddbmodule.so
        libdb.so.3 => /lib/libdb.so.3 (0x40009000)
        libdb.so.2 => /lib/libdb.so.2 (0x40043000)
        libc.so.6 => /lib/libc.so.6 (0x40051000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)


I added an extra logException() line in to locate what was going on:

Mar 03 17:25:45 Current server v1.0.2 starting, released under the GPL
Mar 03 17:25:45 Attempting to fork() into the background...
Mar 03 17:25:45 Sucessfully fork()ed
Mar 03 17:25:45 Starting up Backend
Mar 03 17:25:45 Error opening channel 'redhat-i386-6.2'
Mar 03 17:25:45 Error opening db_dir
'/usr/local/redhat/linux/6.2/current'
Mar 03 17:25:45 Shutting down because we could not start the server
Mar 03 17:2545 : EXCEPTION in /usr/sbin/current, main(), 124
[logException()]
Traceback (innermost last):
  File "/usr/sbin/current", line 119, in main
    packagedb.db.addChannel(db_dir)
  File "/usr/share/current/packagedb.py", line 50, in addChannel
    tmp.open(db_dir)
  File "/usr/share/current/channel.py", line 357, in open
    'rpm_index.wdb'), mode)
error: (22, 'Invalid argument')

I played about and it's the bsddb.btopen returning this, I get it when I
try and open the files just using the module.

Which is where the index gets opened up.

[root@fred i386]# file /usr/local/redhat/linux/6.2/current/rpm_index.wdb
/usr/local/redhat/linux/6.2/current/rpm_index.wdb: Berkeley DB 2.X
Btree/Little Endian (Version 6, Logical sequence number: file - 0,

A strace reveals:

24899 open("/usr/local/redhat/linux/6.2/current/rpm_index.wdb",
O_RDONLY) = 6
24899 fcntl(6, F_SETFD, FD_CLOEXEC)     = 0
24899 fstat(6, {st_mode=S_IFREG|0644, st_size=131072, ...}) = 0
24899 read(6, "\0\0\0\0\0\0\0\0\0\0\0\0b1\5\0\6\0\0\0\0\20\0\0", 24) =
24
24899 close(6)                          = 0
24899 gettimeofday({1016558608, 830949}, NULL) = 0
24899 write(5, "Mar 03 17:23:28 Error opening channel
\'redhat-i386-6.2\'\n", 56) = 56



[root@fred RPMS]# rpm -qf /lib/libdb-2.1.3.so
glibc-2.1.3-23
[root@fred RPMS]# rpm -q glibc
glibc-2.1.3-23
[root@fred RPMS]# rpm -qf /lib/libdb1-2.1.3.so
glibc-2.1.3-23
[root@fred RPMS]# rpm -qf /lib/libdb
libdb-2.1.3.so   libdb.so.2       libdb1-2.1.3.so
libdb-3.1.so     libdb.so.3       libdb1.so.2
[root@fred RPMS]# rpm -qf /lib/libdb-3.1.so
db3-3.1.17-4.6x

Paul
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.