On Wed, Jun 21, 2006 at 02:25:31AM +0200, Fr??d??ric Bothamy wrote: > * Justin Pryzby <[EMAIL PROTECTED]> [2006-06-20 07:52] : > > On Tue, Jun 20, 2006 at 01:27:46AM +0200, Fr??d??ric Bothamy wrote: > > > Package: bash > > > Version: 3.1-4 > > > Severity: normal > > > Tags: l10n > > > > > > Hello, > > > > > > Here are the steps to reproduce the problem: > > > > > > - have (and use) an fr_FR.UTF-8 locale > > > - install the dlocate package > > > - generate dpkg-list (localized) using this command (from > > > /etc/cron.daily/dlocate): > > > > > > LINES=40 COLUMNS=200 dpkg -l "*" | sed -e '1,5d' -e 's/ */ /g' > > > > /var/lib/dlocate/dpkg-list > > > > > > - use dlocate like this: > > > $ dlocate -l openoffice > > > > > > The final lines read: > > > > > > $ dlocate -l openoffice > > > > > > [...] > > > > > > un openoffice.org2-l10n-el <n?ant> (aucune > > > description n'est disponible) > > > pn openoffice.org2-l10n-en-gb <n?ant> (aucune > > > description n'est disponible) > > > pn openoffice.org2-l10n-en-us <n?ant> (aucune > > > description n'est disponible) > > > /usr/bin/dlocate: line 55: 14278 Done egrep "$1" > > > $DPKGLIST > > > 14279 Erreur de segmentation | while read stat name ver descr; do > > > printf "%-2s %-${fieldw}.${fieldw}s %-${fieldw}.${fieldw}s > > > %-${fieldd}.${fieldd}s\\n" "$stat" "$name" "$ver" "$descr"; > > > done > > > $ > > > > > > If I change the printf command with /usr/sbin/printf, the segfault no > > Do you mean coreutils /usr/bin/printf? > > Yes, correct. > > > > longer occurs. If I generate the dpkg-list file with the C locale, the > > > segfault no longer occurs. If I execute the dlocate command with the C > > > locale, the segfault no longer occurs. > > > > > > I don't really know how to get a backtrace from a builtin bash > > > command. So any advice would be welcome. > > apt-get source bash dpkg-dev > > cd bash-... > > DEB_BUILD_OPTIONS=nostrip dpkg-buildpackage -rfakeroot > > gdb --args ./debian/bash/usr/bin/bash dlocate -l openoffice > > Rather "gdb --args ./debian/bash/bin/bash dlocate -l openoffice" > (without /usr). However, this does not help to get a backtrace file: > > [EMAIL PROTECTED]:~/debian/bash/bash-3.1$ gdb --args ./debian/bash/bin/bash > dlocate -l openoffice > GNU gdb 6.4.90-debian > Copyright (C) 2006 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 "i486-linux-gnu"...Using host libthread_db library > "/lib/tls/libthread_db.so.1". > > (gdb) r > Starting program: /home/fred/debian/bash/bash-3.1/debian/bash/bin/bash > dlocate -l openoffice > Desired=Unknown/Install/Remove/Purge/Hold > | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed > |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: > uppercase=bad) > ||/ Name Version > Description > +++-================================-================================-================================================================================== > > [...] > > pn openoffice.org2-core <n?ant> (aucune > description n'est disponible) > /usr/bin/dlocate: line 55: 26638 Done egrep "$1" $DPKGLIST > 26639 Erreur de segmentation | while read stat name ver descr; do > printf "%-2s %-${fieldw}.${fieldw}s %-${fieldw}.${fieldw}s > %-${fieldd}.${fieldd}s\\n" "$stat" "$name" "$ver" "$descr"; > done > > Program exited normally. > (gdb) > > Do you have another idea? Is egrep the one segfaulting? You can do the same as before to build a "grep" deb with debugging symbols, then just dpkg -i ../grep_....deb. apt-get {--re,}install grep later if you wish.
It isn't completely clear to me how gdb would handle debugging the grep; you might have to change the shell script to use 'gdb egrep "$1" $DPKGLIST' instead, or just dump "$1" and $DPKGLIST to a file to fiddle with it manually. Justin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]