Re: pkg_delete core dump

2008-11-18 Thread Tsu-Fan Cheng
Hi Mel,
   the link to download the +CONTENTS file is here
http://www.megaupload.com/?d=YDKFRCZG, and you know what? I don't have
+REQUIRED_BY file.  thanks!!

there is a empty entry in the +CONTENTS file:

[snip]
@pkgdep linux-scim-libs-1.4.4
@comment DEPORIGIN:textproc/linux-scim-libs
@pkgdep
@comment $FreeBSD: ports/print/acroread8/pkg-plist,v 1.2 2008/04/13
18:36:28 hrs Exp $
[snip]

TFC

On Tue, Nov 18, 2008 at 12:51 AM, Mel
[EMAIL PROTECTED] wrote:
 On Tuesday 18 November 2008 05:18:37 Mel wrote:
 On Monday 17 November 2008 22:15:32 Tsu-Fan Cheng wrote:
  Hi Mel,
 thank you for your help, now I recompile pkg_install and run
  pkg_delete again, under print/acroread8 it still coredump. here is the
  result:
 
  # gdb pkg_delete pkg_delete.core
  GNU gdb 6.1.1 [FreeBSD]
  Copyright 2004 Free Software Foundation, Inc.
  GDB is free software, covered by the GNU General Public License, and you
  are welcome to change it and/or distribute copies of it under certain
  conditions. Type show copying to see the conditions.
  There is absolutely no warranty for GDB.  Type show warranty for
  details. This GDB was configured as i386-marcel-freebsd...
  Core was generated by `pkg_delete'.
  Program terminated with signal 11, Segmentation fault.
  Reading symbols from /lib/libmd.so.4...done.
  Loaded symbols for /lib/libmd.so.4
  Reading symbols from /lib/libc.so.7...done.
  Loaded symbols for /lib/libc.so.7
  Reading symbols from /libexec/ld-elf.so.1...done.
  Loaded symbols for /libexec/ld-elf.so.1
  #0  0x2815dae6 in strcmp () from /lib/libc.so.7
  (gdb) bt
  #0  0x2815dae6 in strcmp () from /lib/libc.so.7
  #1  0x0804b50c in isinstalledpkg (name=0x0)
  at /usr/src/usr.sbin/pkg_install/lib/match.c:374

 There's the culprit. strcmp called on a null pointer. The reason is that
 the +CONTENTS file contains corrupted data. Most likely a @pkgdep line
 without a package name. Could you show the output of:
 grep @pkgdep /var/db/pkg/acroread8-8.1.2_2/+CONTENTS

 Actually, considering it comes from undepend, could you also include:
 cat /var/db/pkg/acroread8-8.1.2_2/+REQUIRED_BY

 --
 Mel

 Problem with today's modular software: they start with the modules
and never get to the software part.

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: pkg_delete core dump

2008-11-18 Thread Mel
On Tuesday 18 November 2008 13:37:11 Tsu-Fan Cheng wrote:
 Hi Mel,
the link to download the +CONTENTS file is here
 http://www.megaupload.com/?d=YDKFRCZG, and you know what? I don't have
 +REQUIRED_BY file.  thanks!!

 there is a empty entry in the +CONTENTS file:

 [snip]
 @pkgdep linux-scim-libs-1.4.4
 @comment DEPORIGIN:textproc/linux-scim-libs
 @pkgdep
 @comment $FreeBSD: ports/print/acroread8/pkg-plist,v 1.2 2008/04/13
 18:36:28 hrs Exp $

That's definetely the cause of the crash. The patch below should guard against 
pkg_delete crashing.
How this line got created in the first place, is very weird.

I would run:
grep -E '^@(pkgdep|name)[[:space:]]*$' /var/db/pkg/*/+CONTENTS

Which would show all dependency lines and name directives that are empty. 
Maybe there's a common factor. For the moment my money is on linux-nvu as 
that would be the dependency that belongs at the empty spot:
# make -C /usr/ports/print/acroread8 actual-package-depends | sort -u -t : -k 
2
linux-atk-1.9.1:accessibility/linux-atk
linux-glib2-2.6.6_1:devel/linux-glib2
linux_base-fc-4_13:emulators/linux_base-fc4
linux-cairo-1.0.2:graphics/linux-cairo
linux-jpeg-6b.34:graphics/linux-jpeg
linux-png-1.2.8_2:graphics/linux-png
linux-tiff-3.7.1:graphics/linux-tiff
hicolor-icon-theme-0.10_2:misc/hicolor-icon-theme
acroreadwrapper-0.0.20080906:print/acroreadwrapper
linux-expat-1.95.8:textproc/linux-expat
linux-scim-libs-1.4.4:textproc/linux-scim-libs
linux-nvu-1.0:www/linux-nvu
linux-fontconfig-2.2.3_7:x11-fonts/linux-fontconfig
linux-hicolor-icon-theme-0.5_1:x11-themes/linux-hicolor-icon-theme
linux-gtk2-2.6.10:x11-toolkits/linux-gtk2
linux-pango-1.10.2:x11-toolkits/linux-pango
linux-xorg-libs-6.8.2_5:x11/linux-xorg-libs


-- 
Mel


Index: plist.c
===
RCS file: /home/ncvs/src/usr.sbin/pkg_install/lib/plist.c,v
retrieving revision 1.52
diff -u -r1.52 plist.c
--- plist.c 28 Mar 2007 05:33:52 -  1.52
+++ plist.c 18 Nov 2008 12:51:02 -
@@ -31,6 +31,11 @@
 {
 PackingList tmp;

+if( arg == NULL || arg[0] == '\0' )
+{
+   warnx(Invalid packing list line ignored);
+   return;
+}
 tmp = new_plist_entry();
 tmp-name = copy_string(arg);
 tmp-type = type;
@@ -61,6 +66,11 @@
 {
 PackingList tmp;

+if( arg == NULL || arg[0] == '\0' )
+{
+   warnx(Invalid packing list line ignored);
+   return;
+}
 tmp = new_plist_entry();
 tmp-name = copy_string(arg);
 tmp-type = type;
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: pkg_delete core dump

2008-11-18 Thread Tsu-Fan Cheng
it works!! thanks Mel.


TFC

On Tue, Nov 18, 2008 at 8:16 AM, Mel
[EMAIL PROTECTED] wrote:
 On Tuesday 18 November 2008 13:37:11 Tsu-Fan Cheng wrote:
 Hi Mel,
the link to download the +CONTENTS file is here
 http://www.megaupload.com/?d=YDKFRCZG, and you know what? I don't have
 +REQUIRED_BY file.  thanks!!

 there is a empty entry in the +CONTENTS file:

 [snip]
 @pkgdep linux-scim-libs-1.4.4
 @comment DEPORIGIN:textproc/linux-scim-libs
 @pkgdep
 @comment $FreeBSD: ports/print/acroread8/pkg-plist,v 1.2 2008/04/13
 18:36:28 hrs Exp $

 That's definetely the cause of the crash. The patch below should guard against
 pkg_delete crashing.
 How this line got created in the first place, is very weird.

 I would run:
 grep -E '^@(pkgdep|name)[[:space:]]*$' /var/db/pkg/*/+CONTENTS

 Which would show all dependency lines and name directives that are empty.
 Maybe there's a common factor. For the moment my money is on linux-nvu as
 that would be the dependency that belongs at the empty spot:
 # make -C /usr/ports/print/acroread8 actual-package-depends | sort -u -t : -k
 2
 linux-atk-1.9.1:accessibility/linux-atk
 linux-glib2-2.6.6_1:devel/linux-glib2
 linux_base-fc-4_13:emulators/linux_base-fc4
 linux-cairo-1.0.2:graphics/linux-cairo
 linux-jpeg-6b.34:graphics/linux-jpeg
 linux-png-1.2.8_2:graphics/linux-png
 linux-tiff-3.7.1:graphics/linux-tiff
 hicolor-icon-theme-0.10_2:misc/hicolor-icon-theme
 acroreadwrapper-0.0.20080906:print/acroreadwrapper
 linux-expat-1.95.8:textproc/linux-expat
 linux-scim-libs-1.4.4:textproc/linux-scim-libs
 linux-nvu-1.0:www/linux-nvu
 linux-fontconfig-2.2.3_7:x11-fonts/linux-fontconfig
 linux-hicolor-icon-theme-0.5_1:x11-themes/linux-hicolor-icon-theme
 linux-gtk2-2.6.10:x11-toolkits/linux-gtk2
 linux-pango-1.10.2:x11-toolkits/linux-pango
 linux-xorg-libs-6.8.2_5:x11/linux-xorg-libs


 --
 Mel


 Index: plist.c
 ===
 RCS file: /home/ncvs/src/usr.sbin/pkg_install/lib/plist.c,v
 retrieving revision 1.52
 diff -u -r1.52 plist.c
 --- plist.c 28 Mar 2007 05:33:52 -  1.52
 +++ plist.c 18 Nov 2008 12:51:02 -
 @@ -31,6 +31,11 @@
  {
 PackingList tmp;

 +if( arg == NULL || arg[0] == '\0' )
 +{
 +   warnx(Invalid packing list line ignored);
 +   return;
 +}
 tmp = new_plist_entry();
 tmp-name = copy_string(arg);
 tmp-type = type;
 @@ -61,6 +66,11 @@
  {
 PackingList tmp;

 +if( arg == NULL || arg[0] == '\0' )
 +{
 +   warnx(Invalid packing list line ignored);
 +   return;
 +}
 tmp = new_plist_entry();
 tmp-name = copy_string(arg);
 tmp-type = type;

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: pkg_delete core dump

2008-11-17 Thread Mel
On Monday 17 November 2008 20:15:46 Tsu-Fan Cheng wrote:
 hi,
 during recompiling some ports, I found my pkg_delete core dump on
 some ports (not all of them), when it dumped, it has something like
 this (print/acroread8):

 # gdb pkg_delete pkg_delete.core
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you
 are welcome to change it and/or distribute copies of it under certain
 conditions. Type show copying to see the conditions.
 There is absolutely no warranty for GDB.  Type show warranty for details.
 This GDB was configured as i386-marcel-freebsd...(no debugging
 symbols found)...
 Core was generated by `pkg_delete'.
 Program terminated with signal 11, Segmentation fault.
 Reading symbols from /lib/libmd.so.4...(no debugging symbols found)...done.
 Loaded symbols for /lib/libmd.so.4
 Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
 Loaded symbols for /lib/libc.so.7
 Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols
 found)...done. Loaded symbols for /libexec/ld-elf.so.1
 #0  0x2815dae6 in strcmp () from /lib/libc.so.7
 (gdb) bt full
 #0  0x2815dae6 in strcmp () from /lib/libc.so.7
 No symbol table info available.
 #1  0x0804b50c in ?? ()
 No symbol table info available.

snip incomplete backtrace

You will have to recompile pkg_delete with debug symbols to get any idea. To 
do so, do the following (providing you have sources in /usr/src):
cd /usr/src/usr.sbin/pkg_install
make clean
make obj
make DEBUG_FLAGS='-ggdb' depend
make DEBUG_FLAGS='-ggdb' all install

If this gives errors, it's best to do a full buildworld/installworld.
-- 
Mel

Problem with today's modular software: they start with the modules
and never get to the software part.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: pkg_delete core dump

2008-11-17 Thread Tsu-Fan Cheng
Hi Mel,
   thank you for your help, now I recompile pkg_install and run
pkg_delete again, under print/acroread8 it still coredump. here is the
result:

# gdb pkg_delete pkg_delete.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as i386-marcel-freebsd...
Core was generated by `pkg_delete'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libmd.so.4...done.
Loaded symbols for /lib/libmd.so.4
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x2815dae6 in strcmp () from /lib/libc.so.7
(gdb) bt
#0  0x2815dae6 in strcmp () from /lib/libc.so.7
#1  0x0804b50c in isinstalledpkg (name=0x0)
at /usr/src/usr.sbin/pkg_install/lib/match.c:374
#2  0x0804adc5 in requiredby (pkgname=0x0, list=0xbfbfe1a8, strict=0, filter=0)
at /usr/src/usr.sbin/pkg_install/lib/deps.c:202
#3  0x08049c14 in undepend (p=0x0, pkgname=0x810b180 acroread8-8.1.2_2)
at /usr/src/usr.sbin/pkg_install/delete/perform.c:385
#4  0x0804a769 in pkg_do (pkg=0x810b180 acroread8-8.1.2_2)
at /usr/src/usr.sbin/pkg_install/delete/perform.c:286
#5  0x0804a981 in pkg_perform (pkgs=0x810c060)
at /usr/src/usr.sbin/pkg_install/delete/perform.c:112
#6  0x08049b2a in real_main (argc=3, argv=0xbfbfeb60)
at /usr/src/usr.sbin/pkg_install/delete/main.c:163
#7  0x0804ab58 in main (argc=3, argv=0xbfbfeb60)
at /usr/src/usr.sbin/pkg_install/lib/pkgwrap.c:88
(gdb) bt full
#0  0x2815dae6 in strcmp () from /lib/libc.so.7
No symbol table info available.
#1  0x0804b50c in isinstalledpkg (name=0x0)
at /usr/src/usr.sbin/pkg_install/lib/match.c:374
result = Variable result is not available.
(gdb) up
#1  0x0804b50c in isinstalledpkg (name=0x0)
at /usr/src/usr.sbin/pkg_install/lib/match.c:374
374 if (strcmp(memo-iip_name, name) == 0)
(gdb)

should I do a full buildworld/installworld?


TFC



On Mon, Nov 17, 2008 at 2:36 PM, Mel
[EMAIL PROTECTED] wrote:
 On Monday 17 November 2008 20:15:46 Tsu-Fan Cheng wrote:
 hi,
 during recompiling some ports, I found my pkg_delete core dump on
 some ports (not all of them), when it dumped, it has something like
 this (print/acroread8):

 # gdb pkg_delete pkg_delete.core
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you
 are welcome to change it and/or distribute copies of it under certain
 conditions. Type show copying to see the conditions.
 There is absolutely no warranty for GDB.  Type show warranty for details.
 This GDB was configured as i386-marcel-freebsd...(no debugging
 symbols found)...
 Core was generated by `pkg_delete'.
 Program terminated with signal 11, Segmentation fault.
 Reading symbols from /lib/libmd.so.4...(no debugging symbols found)...done.
 Loaded symbols for /lib/libmd.so.4
 Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
 Loaded symbols for /lib/libc.so.7
 Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols
 found)...done. Loaded symbols for /libexec/ld-elf.so.1
 #0  0x2815dae6 in strcmp () from /lib/libc.so.7
 (gdb) bt full
 #0  0x2815dae6 in strcmp () from /lib/libc.so.7
 No symbol table info available.
 #1  0x0804b50c in ?? ()
 No symbol table info available.

 snip incomplete backtrace

 You will have to recompile pkg_delete with debug symbols to get any idea. To
 do so, do the following (providing you have sources in /usr/src):
 cd /usr/src/usr.sbin/pkg_install
 make clean
 make obj
 make DEBUG_FLAGS='-ggdb' depend
 make DEBUG_FLAGS='-ggdb' all install

 If this gives errors, it's best to do a full buildworld/installworld.
 --
 Mel

 Problem with today's modular software: they start with the modules
and never get to the software part.

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: pkg_delete core dump

2008-11-17 Thread Mel
On Monday 17 November 2008 22:15:32 Tsu-Fan Cheng wrote:
 Hi Mel,
thank you for your help, now I recompile pkg_install and run
 pkg_delete again, under print/acroread8 it still coredump. here is the
 result:

 # gdb pkg_delete pkg_delete.core
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you
 are welcome to change it and/or distribute copies of it under certain
 conditions. Type show copying to see the conditions.
 There is absolutely no warranty for GDB.  Type show warranty for details.
 This GDB was configured as i386-marcel-freebsd...
 Core was generated by `pkg_delete'.
 Program terminated with signal 11, Segmentation fault.
 Reading symbols from /lib/libmd.so.4...done.
 Loaded symbols for /lib/libmd.so.4
 Reading symbols from /lib/libc.so.7...done.
 Loaded symbols for /lib/libc.so.7
 Reading symbols from /libexec/ld-elf.so.1...done.
 Loaded symbols for /libexec/ld-elf.so.1
 #0  0x2815dae6 in strcmp () from /lib/libc.so.7
 (gdb) bt
 #0  0x2815dae6 in strcmp () from /lib/libc.so.7
 #1  0x0804b50c in isinstalledpkg (name=0x0)
 at /usr/src/usr.sbin/pkg_install/lib/match.c:374

There's the culprit. strcmp called on a null pointer. The reason is that the 
+CONTENTS file contains corrupted data. Most likely a @pkgdep line without a 
package name. Could you show the output of:
grep @pkgdep /var/db/pkg/acroread8-8.1.2_2/+CONTENTS

-- 
Mel

Problem with today's modular software: they start with the modules
and never get to the software part.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: pkg_delete core dump

2008-11-17 Thread Mel
On Tuesday 18 November 2008 05:18:37 Mel wrote:
 On Monday 17 November 2008 22:15:32 Tsu-Fan Cheng wrote:
  Hi Mel,
 thank you for your help, now I recompile pkg_install and run
  pkg_delete again, under print/acroread8 it still coredump. here is the
  result:
 
  # gdb pkg_delete pkg_delete.core
  GNU gdb 6.1.1 [FreeBSD]
  Copyright 2004 Free Software Foundation, Inc.
  GDB is free software, covered by the GNU General Public License, and you
  are welcome to change it and/or distribute copies of it under certain
  conditions. Type show copying to see the conditions.
  There is absolutely no warranty for GDB.  Type show warranty for
  details. This GDB was configured as i386-marcel-freebsd...
  Core was generated by `pkg_delete'.
  Program terminated with signal 11, Segmentation fault.
  Reading symbols from /lib/libmd.so.4...done.
  Loaded symbols for /lib/libmd.so.4
  Reading symbols from /lib/libc.so.7...done.
  Loaded symbols for /lib/libc.so.7
  Reading symbols from /libexec/ld-elf.so.1...done.
  Loaded symbols for /libexec/ld-elf.so.1
  #0  0x2815dae6 in strcmp () from /lib/libc.so.7
  (gdb) bt
  #0  0x2815dae6 in strcmp () from /lib/libc.so.7
  #1  0x0804b50c in isinstalledpkg (name=0x0)
  at /usr/src/usr.sbin/pkg_install/lib/match.c:374

 There's the culprit. strcmp called on a null pointer. The reason is that
 the +CONTENTS file contains corrupted data. Most likely a @pkgdep line
 without a package name. Could you show the output of:
 grep @pkgdep /var/db/pkg/acroread8-8.1.2_2/+CONTENTS

Actually, considering it comes from undepend, could you also include:
cat /var/db/pkg/acroread8-8.1.2_2/+REQUIRED_BY

-- 
Mel

Problem with today's modular software: they start with the modules
and never get to the software part.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]