Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#504103: free() error in dash under memory pressure

1 view
Skip to first unread message

Francois-Rene Rideau

unread,
Oct 31, 2008, 10:10:09 AM10/31/08
to
Package: dash
Version: 0.5.4-9
Severity: normal

I ran the cl-launch integrated test suite, a shell script that may be
overstressing the string allocation in dash, and got the error:
*** glibc detected *** dash: free(): invalid pointer: 0x0805d740 ***

I don't know what causes this, and it's not 100% reproducible, as some
runs of my test suite exhibit the bug (at different stages of the test),
and some do not. In any case, dash seems to be doing a double free or
something.


To maybe reproduce the bug, you can get cl-launch_2.09.sh as well as a
few common lisp implementations, and run the test suite in a temporary
directory then dash may eventually bork after a few hundreds of tests.

mkdir /tmp/foo
cd /tmp/foo
wget http://fare.tunes.org/files/cl-launch/cl-launch_2.09.sh
apt-get install clisp gcl gclcvs cmucl sbcl
./cl-launch_2.09.sh -l 'clisp cmucl gcl gclcvs sbcl' -B eval 'TEST_SHELLS="dash" ; tests'

I get the following failure:

../cl-launch_2.09.sh -l 'gcl gclcvs clisp cmucl sbcl' -B eval 'TEST_SHELLS="dash" ; tests'
Using test shell dash
cl-launch --lisp gcl --no-include --init ... --execute -- ...
success with test 00 :-)
cl-launch --lisp gcl --no-include --init ... --output ... ; out.sh ...
success with test 01 :-)
....
cl-launch --lisp clisp --include ... --file ... --init ... --output ... ; out.sh ...
success with test 253 :-)
cl-launch --lisp clisp --update ... --include ... --file ... --init ... --execute -- ...
*** glibc detected *** dash: free(): invalid pointer: 0x0805d740 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6[0xb7dfd614]
/lib/i686/cmov/libc.so.6(cfree+0x96)[0xb7dff816]
dash[0x805168f]
dash[0x804c071]
dash[0x804b8c2]
dash[0x804beee]
dash[0x804b10c]
dash[0x804b18f]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804b3c8]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804b18f]
dash[0x804b18f]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804b18f]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804b3c8]
dash[0x804b10c]
dash[0x804b2b1]
dash[0x804b10c]
dash[0x804b10c]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804b18f]
dash[0x804ba1f]
dash[0x804bf6f]
dash[0x804b10c]
dash[0x804b18f]
dash[0x80512ca]
dash[0x805153e]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7da5455]
dash[0x8049821]
======= Memory map: ========
08048000-0805b000 r-xp 00000000 07:05 169968 /bin/dash
0805b000-0805c000 rw-p 00013000 07:05 169968 /bin/dash
0805c000-080a0000 rw-p 0805c000 00:00 0 [heap]
b7c00000-b7c21000 rw-p b7c00000 00:00 0
b7c21000-b7d00000 ---p b7c21000 00:00 0
b7d81000-b7d8d000 r-xp 00000000 07:05 164511 /lib/libgcc_s.so.1
b7d8d000-b7d8e000 rw-p 0000b000 07:05 164511 /lib/libgcc_s.so.1
b7d8e000-b7d8f000 rw-p b7d8e000 00:00 0
b7d8f000-b7ee4000 r-xp 00000000 07:05 341456 /lib/i686/cmov/libc-2.7.so
b7ee4000-b7ee5000 r--p 00155000 07:05 341456 /lib/i686/cmov/libc-2.7.so
b7ee5000-b7ee7000 rw-p 00156000 07:05 341456 /lib/i686/cmov/libc-2.7.so
b7ee7000-b7eea000 rw-p b7ee7000 00:00 0
b7f0b000-b7f0d000 rw-p b7f0b000 00:00 0
b7f0d000-b7f27000 r-xp 00000000 07:05 880776 /lib/ld-2.7.so
b7f27000-b7f29000 rw-p 0001a000 07:05 880776 /lib/ld-2.7.so
bfd10000-bfd27000 rw-p bfd10000 00:00 0 [stack]
ffffe000-fffff000 ---p 00000000 00:00 0 [vdso]
FAILURE with test 254 :-(
You may restart from this test with:
./cl-launch_2.09.sh -l "gcl gclcvs clisp cmucl sbcl" -B tests 254
or
./cl-launch_2.09.sh -l "gcl gclcvs clisp cmucl sbcl" -B tests 252
You may re-run just this test with:
./cl-launch_2.09.sh -B redo_test dash clisp exec update inc1 file init

-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.16.9-blefuscu
Locale: LANG=en_US, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dash depends on:
ii libc6 2.7-12 GNU C Library: Shared libraries

dash recommends no packages.

-- debconf information:
dash/sh: false

--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

0 new messages