portupgrade, portsdb -U failing, ruby dumping core

Matthew Seaman m.seaman at infracaninophile.co.uk
Fri Sep 3 03:39:20 PDT 2004


[ Maintainer of lang/ruby18 amd sysutils/portupgrade CC'd ]

On Fri, Sep 03, 2004 at 02:05:40AM -0700, Joshua Tinnin wrote:
> On Thursday 02 September 2004 04:02 pm, Dan Finn <dhrider at gmail.com> 
> wrote:
> > On Thu, 2 Sep 2004 23:22:26 +0100, Steve Hodgson
> > <steve at howes-macnaghten.com> wrote:
> > > On Thursday 02 September 2004 19:34, Dan Finn wrote:
> > > > [ root @ stewie : /usr/ports/sysutils/portupgrade] : portupgrade
> > > > ruby [Failed `Inappropriate file type or format'] [Updating the
> > > > portsdb <format:bdb1_btree> in /usr/ports ... - 11725 port
> > > > entries found
> > > > .........1000.........2000.........3000.........4000.........5000
> > > >.........6
> > > > 000.........7000.........8000..../usr/local/lib/ruby/site_ruby/1.
> > > >8/portsdb.r b:587: [BUG] Bus Error
> > > > ruby 1.8.1 (2004-05-02) [i386-freebsd5]
> > >
> > > I have just had the same thing happen to me, and I'm unable to fix
> > > it by using pkgdb or portsdb. I just portupgraded kde3 using the
> > > instructions in /usr/ports/UPDATING and also updated the nvidia
> > > drivers. I'm running FreeBSD 5.2.1-p9.
> > >
> > > --->  Checking the package registry database
> > > Stale dependency: gnome2-2.6.2 -> nvidia-driver-1.0.6113
> > > (x11/nvidia-driver): [Failed `Inappropriate file type or format']
> > > [Updating the portsdb <format:bdb1_btree> in /usr/ports ... - 11726
> > > port entries found
> > > .........1000.........2000.........3000.........4000.........5000..
> > >.......6000.........7000.........8000..../usr/local/lib/ruby/site_ru
> > >by/1.8/portsdb.rb:587: [BUG] Bus Error
> > > ruby 1.8.2 (2004-07-29) [i386-freebsd5]
> > >
> > > Abort trap (core dumped)
> > >
> > > Any ideas, or suggestions appreciated.
> >
> > I ended up having to move /usr/ports out of the way and doing a fresh
> > cvsup.  I am not sure why but this fixed it.
> 
> I tried this and still got the same error. Mine isn't choking on 
> nvidia-driver, though. Also tried reinstalling ruby, still the same 
> error.

Ditto: 'portsdb -u' dumps core. On FreeBSD 4.10, and without KDE or
the like installed:

    % uname -a 
    FreeBSD happy-idiot-talk.infracaninophile.co.uk 4.10-STABLE FreeBSD 4.10-STABLE #81: Sat Aug 28 17:10:47 BST 2004     root at happy-idiot-talk.infracaninophile.co.uk:/usr/obj/usr/src/sys/HAPPY-IDIOT-TALK  i386

Which suggests it's something in the INDEX file
around line 8400-ish that portsdb can't cope with -- and it's a change
since about 09:00 BST yesterday, when portsdb worked as intended.  I
can't see anything obviously wrong in the backtrace I got from the
coredump though:

    #0  0x2819ac0c in kill () from /usr/lib/libc.so.4
    No symbol table info available.
    #1  0x281dda65 in abort () from /usr/lib/libc.so.4
    No symbol table info available.
    #2  0x2808b805 in rb_bug (fmt=0x28118f50 "Segmentation fault") at error.c:214
            buf = "/usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:587: \000\000ñ\203\t(°Ê\021(+\000\000\000lŠ\a\b8«¿¿+\000\000\000\234ª¿¿8ª¿¿\001\000\000\000\004\000\000\000ä\214C\b\001\000\000\000(ª¿¿\000\000\000\0008¯¿¿\001\000\000\000ô©¿¿_7\000\000±9\000\000ž_\a\b<¯¿¿\000\000\000\000\f\215C\b\001\000\000\000\210«¿¿L\001\000\000L\001\000\000ìS\a\bL¯¿¿\000\000\000\000\220­¿¿\000\000\000\000\000\000\000\000²t \000\004\000\000\000@«¿¿\030\226\t("...
            out = (FILE *) 0x281e97f0
            len = 50
    #3  0x280efeca in sigsegv (sig=11) at signal.c:446
    No locals.
    #4  0xbfbfffac in ?? ()
    No symbol table info available.
    #5  0x281d207f in __bt_put () from /usr/lib/libc.so.4
    No symbol table info available.
    #6  0x28214ef6 in bdb1_put ()
       from /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd4/bdb1.so
    No symbol table info available.
    #7  0x28214f5d in bdb1_assign ()
       from /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd4/bdb1.so
    No symbol table info available.
    #8  0x28098b6d in rb_call0 (klass=136611476, recv=136550876, id=333, oid=333, 
        argc=2, argv=0xbfbfb308, body=0x82484b4, nosuper=0) at eval.c:5411
            func = (VALUE (*)()) 0x28214f2c <bdb1_assign>
            recv = 136550876
            len = 2
            argc = 2
            argv = (VALUE *) 0xbfbfb308
            len = 2
            _frame = {self = 136550876, argc = 2, argv = 0xbfbfb308, 
      last_func = 333, orig_func = 333, last_class = 136611476, prev = 0xbfbfba0c, 
      tmp = 0x0, node = 0x8116980, iter = 0, flags = 0, uniq = 2127051}
            _iter = {iter = 0, prev = 0xbfbfb9b0}
            nosuper = 0
            b2 = (NODE *) 0x281ddcfd
            result = 4
            itr = 673271596
            tick = 2126983
    #9  0x28099618 in rb_call (klass=136611476, recv=136550876, mid=333, argc=2, 
        argv=0xbfbfb308, scope=0) at eval.c:5757
            mid = 333
            body = (NODE *) 0x82484b4
            noex = 0
            id = 333
            ent = (struct cache_entry *) 0x298
    #10 0x2809377b in rb_eval (self=136603516, n=0x81171b4) at eval.c:3239
            recv = 136550876
            argc = 2
            argv = (VALUE *) 0xbfbfb308
            scope = 0
            n = (NODE *) 0x0
            contnode = (NODE *) 0x8116840
            node = (NODE *) 0x8116980
            state = 0
            result = 136550996
    #11 0x2809300a in rb_eval (self=136603516, n=0x81164bc) at eval.c:3088
            resq = (NODE *) 0xbfbfc540
            _tag = {buf = {{_jb = {671690545, 672254640, -1077955004, -1077954208, 
            -1077951168, -1077953988, 137302655, 136550736, -1077954572, 
            672140926, 137071872, 16146}}}, frame = 0xbfbfba0c, iter = 0xbfbfb9b0, 
      tag = 0, retval = 4, scope = 0x8239cfc, dst = 0, prev = 0xbfbfb9b8, 
      blkid = 0}
            e_info = 4
            rescuing = 0
            n = (NODE *) 0x0
            contnode = (NODE *) 0x0
            node = (NODE *) 0x81165ac
            state = 0
            result = 4
    [...etc..]
    
Another datapoint is that this doesn't happen with an INDEX file
freshly downloaded via 'make fetchindex'.  

Hmmm... something to do with XFree86 vs X.Org perhaps?  I have
X_WINDOW_SYSTEM=xorg in /etc/make.conf Taking that out and rebuilding
the index [...] makes no difference:

    % sudo portsdb -u 
    [Updating the portsdb <format:bdb1_btree> in /usr/ports ... - 11724 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000..../usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:587: [BUG] Segmentation fault
    ruby 1.8.2 (2004-07-29) [i386-freebsd4]
    
    Abort (core dumped)


Perplexed.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20040903/f0987507/attachment.bin


More information about the freebsd-questions mailing list