Hi Ralf,

I'm sure you don't want to hear this given how much time you spent getting rid of this 
stupid error :-), but it doesn't
look like hanging rpm processes are causing the problem. I ran a ps -ef on both 
Solaris 9 systems, and they are clean.
Here is the exact output from --db-rebuild and --db-cleanup.

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
> rpm --db-rebuild
rpmdb: REBUILDING NEW FROM OLD RPM DATABASE (/usr/psr.oit/solaris9/RPM/DB)
rpmdb: cleaning up RPM database DB region files
rpmdb: making sure RPM database contains all possible DB files
rpmdb: dumping and reloading RPM database DB file contents
[long pause here]
rpmdb: rebuilding RPM database (built-in RPM procedure)
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index
rpmdb: performing read/write operation on RPM database
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db3 - Resource temporarily unavailable (11)
error: cannot open Packages database in /usr/psr.oit/solaris9/RPM/DB
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db3 - Resource temporarily unavailable (11)
error: cannot open Packages database in /usr/psr.oit/solaris9/RPM/DB
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db3 - Resource temporarily unavailable (11)
error: cannot open Packages database in /usr/psr.oit/solaris9/RPM/DB
error: /usr/psr.oit/solaris9/etc/openpkg/openpkg.pgp: import failed.
rpmdb: making sure RPM database files have consistent attributes

> rpm --db-cleanup
rpmdb: CLEANING UP EXISTING RPM DATABASE (/usr/psr.oit/solaris9/RPM/DB)
rpmdb: cleaning up RPM database DB region files
rpmdb: making sure RPM database contains all possible DB files
rpmdb: rebuilding RPM database (built-in RPM procedure)
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index
rpmdb: performing read/write operation on RPM database
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db3 - Resource temporarily unavailable (11)
error: cannot open Packages database in /usr/psr.oit/solaris9/RPM/DB
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db3 - Resource temporarily unavailable (11)
error: cannot open Packages database in /usr/psr.oit/solaris9/RPM/DB
rpmdb: mmap: Resource temporarily unavailable
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db3 - Resource temporarily unavailable (11)
error: cannot open Packages database in /usr/psr.oit/solaris9/RPM/DB
error: /usr/psr.oit/solaris9/etc/openpkg/openpkg.pgp: import failed.
rpmdb: making sure RPM database files have consistent attributes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Note that the rpm db was fine when I upgraded from 1.3.0 to 1.3.1 previously, and it 
last had 24 packages in it. Here
are the contents of .../RPM/DB:
-rw-r--r--   1 psr      psr       679936 Oct  7 15:29 Basenames
-rw-r--r--   1 psr      psr        24576 Oct  7 15:29 Conflictname
-rw-r--r--   1 psr      psr        49152 Oct  7 15:29 Depends
-rw-r--r--   1 psr      psr        90112 Oct  7 15:29 Dirnames
-rw-r--r--   1 psr      psr       786432 Oct  7 15:29 Filemd5s
-rw-r--r--   1 psr      psr        24576 Oct  7 15:29 Group
-rw-r--r--   1 psr      psr        16384 Oct  7 15:29 Installtid
-rw-r--r--   1 psr      psr        24576 Oct  7 15:29 Name
-rw-r--r--   1 psr      psr      1884160 Oct  7 15:29 Packages
-rw-r--r--   1 psr      psr        24576 Oct  7 15:29 Providename
-rw-r--r--   1 psr      psr        16384 Oct  7 15:29 Provideversion
-rw-r--r--   1 psr      psr        49152 Oct  7 15:29 Pubkeys
-rw-r--r--   1 psr      psr        24576 Oct  7 15:29 Requirename
-rw-r--r--   1 psr      psr        16384 Oct  7 15:29 Requireversion
-rw-r--r--   1 psr      psr        49152 Oct  7 15:29 Sha1header
-rw-r--r--   1 psr      psr        24576 Oct  7 15:29 Sigmd5
-rw-r--r--   1 psr      psr        24576 Oct  7 15:29 Triggername
-rw-r--r--   1 psr      psr         8192 Oct  7 15:29 __db.001
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.002
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.003
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.004
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.005
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.006
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.007
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.008
-rw-r--r--   1 psr      psr            0 Oct  7 15:29 __db.009

I ran truss -f on it and, as expected, found references to EAGAIN (errno 11) from mmap 
calls in it, presumably generated
by rpmdb since truss without the -f did not show any errors. I can send you the truss 
output if you think that would
help.

I also tried using Jeff Johnson's suggested solution of adding the following line to 
rpmmacros, and that fixed the
problem as expected, but it's not the ideal way to go, of course:

%__dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb private

Any thoughts about what I should try next?

Thanks,
       Dennis

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Ralf S. Engelschall
> Sent: Tuesday, October 07, 2003 2:49 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Problem accessing DB on Solaris using
> openpkg-20031006-20031006
>
>
> On Tue, Oct 07, 2003, Dennis McRitchie wrote:
>
> > I am upgrading from openpkg-1.3.1-1.3.1 to openpkg-20031006-20031006 using the 
> > provided src.rpm in
> > the openpkg current repository.
> >
> > The build and install went fine on Solaris, but when I tried to rpm --db-rebuild 
> > (or --db-cleanup
> > or -qa), I got the following on two different Solaris 9 machines:
> >
> > > rpm -qa
> > rpmdb: mmap: Resource temporarily unavailable
> > error: db4 error(11) from dbenv->open: Resource temporarily unavailable
> > error: cannot open Packages index using db3 - Resource temporarily unavailable (11)
> > error: cannot open Packages database in /usr/psr.oit/solaris9/RPM/DB
> > no packages
> >
> > In a discussion between Ralf and with Jeff Johnson on the rpm-list, Ralf presented 
> > a set of patches
> > for this problem back on 20030918. Presumably, these would be incorporated into 
> > the 20031006
> > package. Is this not the case?
>
> They are includes, yes. And if you do --db-rebuild the problem always
> got away for me. That's strange. Are you sure you have no more hanging
> around "rpm" processes? I ask such silly, because during hacking on
> this stuff I often forgot that there were still some processes hanging
> around after I CTRL-C'd some "rpm --db-rebuild" process. Once all "rpm"
> processes are killed and you _THEN_ run "rpm --db-rebuild" the database
> should be correctly rebuilt and then "rpm -qa" has to work. At least
> after I run "rpm --db-rebuild" once on all our development boxes, I've
> never seen the "Resource temporarily unavailable" error again.
>
>                                        Ralf S. Engelschall
>                                        [EMAIL PROTECTED]
>                                        www.engelschall.com
>
> ______________________________________________________________________
> The OpenPKG Project                                    www.openpkg.org
> User Communication List                      [EMAIL PROTECTED]
>

______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
User Communication List                      [EMAIL PROTECTED]

Reply via email to