Subject: pkg_create coredumps resulting in empty +CONTENTS
To: None <tech-pkg@NetBSD.org>
From: Lars Nordlund <lars.nordlund@hem.utfors.se>
List: tech-pkg
Date: 10/25/2005 00:02:24
Hello

On my NetBSD i386-current with pkgsrc-current I see this:

===> lars@glengoyne:/usr/pkgsrc/net/openslp %make install
[...]
===========================================================================
===> do-shlib-handling [openslp-1.2.1] ===> [Automatic ELF shared object handling]
===> register-pkg [openslp-1.2.1] ===> Registering installation for openslp-1.2.1
[1]   Segmentation fault (core dumped) /home/lars/tmp/p...
===> check-wrkref [openslp-1.2.1] ===> Checking for work-directory references in openslp-1.2.1
===> lars@glengoyne:/usr/pkgsrc/net/openslp %echo $?
0
===> lars@glengoyne:/usr/pkgsrc/net/openslp %ls -la work.glengoyne/.pkgdb/+CONTENTS 
-rw-r--r--  1 root  wheel  0 Oct 24 21:47 work.glengoyne/.pkgdb/+CONTENTS
===> lars@glengoyne:/usr/pkgsrc/net/openslp %

i.e. 'make install' silently fails leaving the package with an empty
+CONTENTS file. This causes problems for other packages because they 
can't be properly buildlinked (or something like that?).


Debugging gives this:

Program received signal SIGSEGV, Segmentation fault.
0xbbbbf10e in memmove () from /usr/lib/libc.so.12
(gdb) bt
#0  0xbbbbf10e in memmove () from /usr/lib/libc.so.12
#1  0x5ab8afd4 in ?? ()
#2  0xbbbb73f0 in __bt_split () from /usr/lib/libc.so.12
#3  0xbbbb6bb3 in __bt_split () from /usr/lib/libc.so.12
#4  0xbbbb2eaa in __bt_put () from /usr/lib/libc.so.12
#5  0x0804dd3a in pkgdb_store (
    key=0xbfbfce60 "/usr/pkg/share/examples/openslp/slp.conf", 
    val=0x805b019 "openslp-1.2.1") at pkgdb.c:126
#6  0x0804b56c in check_list (home=0x0, pkg=0xbfbfdf78, 
    PkgName=0x805b019 "openslp-1.2.1") at pl.c:167
#7  0x0804ab60 in pkg_perform (pkgs=0xbfbfdfc8) at perform.c:317
#8  0x08049ff2 in main (argc=1, argv=0xbfbfe090) at main.c:228
#9  0x08049a9a in ___start ()


I have yet to understand why it bombs in pkgdb_store(). I found
#29894 which could perhaps be the same problem, even though I have
not seen any failing fprintf()'s here.

Anyone else seeing this? I have considered wiping my usr/pkg and
start over from scratch with freshly built packages, but I thought
it could be good to get to the bottom with this problem first, now 
that I have it easily reproducible.


Best regards
	Lars Nordlund