RPM Community Forums

Mailing List Message of <rpm-devel>

Re: Bogus dependency errors with HEAD from last week

From: Jeff Johnson <n3npq@mac.com>
Date: Fri 05 Feb 2010 - 11:40:10 CET
Message-id: <4B1E153A-F0E4-4799-8D01-E845098D778A@mac.com>

On Feb 5, 2010, at 5:28 AM, Bernhard Rosenkränzer wrote:

> 
> Already tried that -- the problem remains after recreating Providename.
> --whatprovides seems to be problematic too, so probably something is going
> wrong while creating Providename:
> 

I'm just passing along alternative means to verify whether
the data or the access is at fault.

Here's two more ways:

1) dumping the index
	cd /var/lib/rpm
	db_dump -p Providename

2) add debug to the line in /usr/lib/rpm/macros that configures
the Providename table/index.

> 
> Another issue, but probably unrelated: rpmbuild --rebuild any.src.rpm
> segfaults (but -ivh --nodeps followed by -ba is ok)
> 

This one trips me up all the time, because I never use --rebuild.

Adding a test case to tests/Makefile.am will catch the problem sooner. todo++.

But the real fix is to rip out romInstallSourcePackage; the
only reason that hasn't been done already is that rpm-perl (foolishly imho)
chose to bind that routine into perl. I haven't the energy to describe
why that binding is foolish and unnecessary (all srpm & rpm installs have
a common code install path for almost 2 years now).


> Starting program: /usr/bin/rpmbuild --rebuild /monotone-0.46-1ark.src.rpm
> [Thread debugging using libthread_db enabled]
> Installing /monotone-0.46-1ark.src.rpm
> [New Thread 0x7fffef40e710 (LWP 21972)]
> [New Thread 0x7fffeec0d710 (LWP 21973)]
> [New Thread 0x7fffee40c710 (LWP 21974)]
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff795b7d2 in rpmpsmStage (psm=0x7fffffffdd60, stage=<value
> optimized out>)
>    at psm.c:2643
> 2643                    xx = rpmtxnCommit(rpmtsGetRdb(ts)->db_txn);
> (gdb) bt
> #0  0x00007ffff795b7d2 in rpmpsmStage (psm=0x7fffffffdd60, stage=<value
> optimized out>)
>    at psm.c:2643
> #1  0x00007ffff795c2a3 in rpmInstallSourcePackage (ts=0x640d20, _fd=<value
> optimized out>,
>    specFilePtr=<value optimized out>, cookie=<value optimized out>) at
> psm.c:202
> #2  0x00007ffff79750a9 in rpmInstallSource (ts=0x640d20,
>    arg=0x7fffffffe4e8 "/monotone-0.46-1ark.src.rpm",
> specFilePtr=0x7fffffffe138,
>    cookie=0x7ffff7ddf450) at rpminstall.c:833
> #3  0x000000000040369f in main (argc=<value optimized out>,
> argv=0x7ffff7ddf440)
>    at ./rpmqv.c:792
> 

Likely avoiding rpmtxnCommit() if db->db_txn == NULL is all that is needed.
There are no transactions needed for --rebuilddb because there is
no persistent state change.

I'm at FOSDEM so its a bit awkward to check in code. Expect the fixes
early next week.

73 de Jeff
> 
> ttyl
> bero
> 
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> Developer Communication List                        rpm-devel@rpm5.org
Received on Fri Feb 5 11:40:39 2010
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.