[I guess I'll stop signing my posts as the list server does horrible
things to PGP signatures...]
Martin Cracauer wrote:
> Jan Rychter wrote on Sun, Feb 22, 2004 at 09:16:17AM -0800:
> > Martin Cracauer wrote:
> > > Jan Rychter wrote on Sat, Feb 21, 2004 at 06:25:21AM -0800:
> > > > Would there be any known reason for CMUCL on my new Fedora Linux
> > > > installation to do this:
> > > >
> > > > [6:22] tnuctip:/local/lib/cmucl/bin>./lisp
> > > > Segmentation fault
> > > > [6:22] tnuctip:/local/lib/cmucl/bin>
> > > >
> > > > gdb doesn't seem to produce any more information than provided above.
> > >
> > > Hm, it should give the address of the segfault.
> > >
> > > We need that and the memory map from
> > > /proc/<procid>/maps
> >
> > You're right, I missed that. Sorry. Here it is:
> >
> > [9:11] tnuctip:/local/lib/cmucl/bin>gdb lisp
> > GNU gdb Red Hat Linux (5.3.90-0.20030710.41rh)
> > Copyright 2003 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-redhat-linux-gnu"...Using host libthread_db
> > library "/lib/libthread_db.so.1".
> >
> > (gdb) r
> > Starting program: /usr/local/lib/cmucl/bin/lisp
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x67ffffff in ?? ()
> > (gdb) bt
> > #0 0x67ffffff in ?? ()
> > (gdb)
> >
> >
> > [9:11] tnuctip:/tmp#cat /proc/21501/maps
> > 08048000-08064000 r-xp 00000000 03:05 2442912 /usr/local/lib/cmucl/bin/lisp
> > 08064000-08066000 rw-p 0001b000 03:05 2442912 /usr/local/lib/cmucl/bin/lisp
> > 08066000-08090000 rwxp 00000000 00:00 0
> > 10000000-1ffff000 rwxp 00000000 00:00 0
> > 28000000-37fff000 rwxp 00000000 00:00 0
> > 40011000-40012000 rw-p 00000000 00:00 0
> > 48000000-68000000 rwxp 00000000 00:00 0
> > bfffe000-c0000000 rwxp fffff000 00:00 0
> > [9:11] tnuctip:/tmp#
> >
> > Does that help?
>
> Note quite.
>
> I would also need to see the map of some random dynamically linked
> program. CMUCL is probably clashing with whereever somebody decided
> would be just another great new exiting place to put shared libraries
> at. But the above map is without shared libs.
The above map is from a cmucl process that has just received the SIGSEGV
under gdb. I am not sure if that means it is a "typical" cmucl process.
This is on a stock (which means Fedora-modified kernel:
2.4.22-1.2115.nptl) Fedora Core 1 system:
ldd lisp:
libdl.so.2 => /lib/libdl.so.2 (0x49712000)
libm.so.6 => /lib/i686/libm.so.6 (0x496ee000)
libc.so.6 => /lib/i686/libc.so.6 (0x495b1000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x49599000)
GNU gdb Red Hat Linux (5.3.90-0.20030710.41rh)
Copyright 2003 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-redhat-linux-gnu"...Using host libthread_db library
"/lib/tls/libthread_db.so.1".
(gdb) r
Starting program: /usr/local/lib/cmucl/bin/lisp
Program received signal SIGSEGV, Segmentation fault.
0x68000000 in ?? ()
(gdb)
[12:03] tnuctip:/proc/1512#cat maps
08048000-08064000 r-xp 00000000 03:05 2442912 /usr/local/lib/cmucl/bin/lisp
08064000-08066000 rw-p 0001b000 03:05 2442912 /usr/local/lib/cmucl/bin/lisp
08066000-08090000 rwxp 00000000 00:00 0
10000000-1ffff000 rwxp 00000000 00:00 0
28000000-37fff000 rwxp 00000000 00:00 0
40011000-40012000 rw-p 00000000 00:00 0
40012000-40033000 r-xp 00000000 03:05 2015246 /lib/tls/libm-2.3.2.so
40033000-40034000 rw-p 00020000 03:05 2015246 /lib/tls/libm-2.3.2.so
40034000-40167000 r-xp 00000000 03:05 2015243 /lib/tls/libc-2.3.2.so
40167000-4016b000 rw-p 00132000 03:05 2015243 /lib/tls/libc-2.3.2.so
4016b000-4016e000 rw-p 00000000 00:00 0
48000000-68000000 rwxp 00000000 00:00 0
bfffe000-c0000000 rwxp fffff000 00:00 0
[12:03] tnuctip:/proc/1512#
meanwhile maps from a plain boring tcsh process:
00984000-00ab7000 r-xp 00000000 03:05 2015243 /lib/tls/libc-2.3.2.so
00ab7000-00abb000 rw-p 00132000 03:05 2015243 /lib/tls/libc-2.3.2.so
00abb000-00abd000 rw-p 00000000 00:00 0
08047000-08091000 r-xp 00000000 03:05 835662 /bin/tcsh
08091000-08095000 rw-p 0004a000 03:05 835662 /bin/tcsh
08095000-080c5000 rw-p 00000000 00:00 0
08f7b000-08fc5000 rw-p 00000000 00:00 0
49599000-495ae000 r-xp 00000000 03:05 740724 /lib/ld-2.3.2.so
495ae000-495af000 rw-p 00015000 03:05 740724 /lib/ld-2.3.2.so
49722000-4972c000 r-xp 00000000 03:05 737358 /lib/libnss_files-2.3.2.so
4972c000-4972d000 rw-p 0000a000 03:05 737358 /lib/libnss_files-2.3.2.so
499bc000-499bf000 r-xp 00000000 03:05 737364 /lib/libtermcap.so.2.0.8
499bf000-499c0000 rw-p 00002000 03:05 737364 /lib/libtermcap.so.2.0.8
49c04000-49c09000 r-xp 00000000 03:05 740729 /lib/libcrypt-2.3.2.so
49c09000-49c0a000 rw-p 00004000 03:05 740729 /lib/libcrypt-2.3.2.so
49c0a000-49c31000 rw-p 00000000 00:00 0
bf395000-bf3a0000 r--p 00000000 03:05 1393173 /usr/share/locale/en/LC_MESSAGES/tcsh
bf3a0000-bf3a1000 r--p 00a12000 03:05 3277295 /usr/lib/locale/locale-archive
bf3a1000-bf3d3000 r--p 009c4000 03:05 3277295 /usr/lib/locale/locale-archive
bf3d3000-bf5d3000 r--p 00000000 03:05 3277295 /usr/lib/locale/locale-archive
bf5d3000-bf5d5000 rw-p 00000000 00:00 0
bff12000-c0000000 rwxp fff36000 00:00 0
also, maps from sbcl which works fine:
[12:05] tnuctip:/proc/1550#cat maps
00111000-00113000 rwxp 00000000 00:00 0
00323000-00344000 r-xp 00000000 03:05 2015246 /lib/tls/libm-2.3.2.so
00344000-00345000 rw-p 00020000 03:05 2015246 /lib/tls/libm-2.3.2.so
00345000-00346000 r-xp 00000000 00:00 0
00346000-00789000 rwxp 00001000 00:00 0
0078f000-008c2000 r-xp 00000000 03:05 2015243 /lib/tls/libc-2.3.2.so
008c2000-008c6000 rw-p 00132000 03:05 2015243 /lib/tls/libc-2.3.2.so
008c6000-008c8000 rw-p 00000000 00:00 0
00994000-00995000 rwxp 00000000 00:00 0
00bcc000-00bcd000 rwxp 00000000 00:00 0
00d0b000-00d0c000 rwxp 00000000 00:00 0
00e40000-00e41000 rwxp 00000000 00:00 0
01000000-02155000 rwxp 00001000 03:05 2589396 /usr/local/lib/sbcl/sbcl.core
02155000-037ff000 rwxp 01155000 00:00 0
05000000-054bf000 rwxp 01156000 03:05 2589396 /usr/local/lib/sbcl/sbcl.core
054bf000-07fff000 rwxp 004bf000 00:00 0
08048000-0805d000 r-xp 00000000 03:05 1294778 /usr/local/bin/sbcl
0805d000-0805e000 rw-p 00015000 03:05 1294778 /usr/local/bin/sbcl
0805e000-08272000 rw-p 00000000 00:00 0
09000000-09001000 rwxp 01615000 03:05 2589396 /usr/local/lib/sbcl/sbcl.core
09001000-29000000 rwxp 00002000 00:00 0
49599000-495ae000 r-xp 00000000 03:05 740724 /lib/ld-2.3.2.so
495ae000-495af000 rw-p 00015000 03:05 740724 /lib/ld-2.3.2.so
49712000-49714000 r-xp 00000000 03:05 740725 /lib/libdl-2.3.2.so
49714000-49715000 rw-p 00001000 03:05 740725 /lib/libdl-2.3.2.so
bf49a000-bf59d000 rw-p 00001000 00:00 0
bfeda000-c0000000 rwxp fff8f000 00:00 0
[12:05] tnuctip:/proc/1550#
--J.