gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] shared library version dependencies


From: Vadim V. Zhytnikov
Subject: Re: [Gcl-devel] shared library version dependencies
Date: Tue, 12 Aug 2003 22:18:13 +0300
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.4) Gecko/20030630

Hi Camm!

Greetings!

"Vadim V. Zhytnikov" <address@hidden> writes:


Camm Maguire ?????:

Hi Vadim!  Have you gotten anywhere with your '100% reproducible'
example of GCL images' implicit dependency on the specific version of
shared libraries present at compile time when executed at runtime?


Hi Camm!

Below is the faulty Maxima session under GDB. And immediately
several questions.  First - do you know how to build Maxima with
debugging symbols?  GCL was built with --enable-debug but maxima
image built on the top of this GCL has no debugging symbols.


Hi Vadim!  Are you sure this is the case?  I just now verified that a
fresh --enable-debug build, followed by an export PATH=<gcldir>/bin:$PATH; ./configure ; make in a maxima-5.9.0
directory gives me a src/binary-gcl/maxima with debugging symbols.
You can double check by checking for the -g flag in gcl as follows:

GCL (GNU Common Lisp)  (2.5.4) Mon Aug 11 21:03:42 UTC 2003
Licensed under GNU Library General Public License
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.


compiler::*cc*


"gcc -c -Wall -DVOL=volatile -fsigned-char -fwritable-strings -pipe -g"



My silly mistake - I've built experimental GCL as RPM
package and forget that RPM automatically strips
binaries.


Second - what next?  What piece of information shall I find?



What we're looking for is a backtrace of the fault, which can be
displayed in gdb with the command 'bt'.  We need a maxima with
debugging symbols first of course.  I hope you can reproduce this
situation with a maxima thus built.  After 'bt', use 'frame n' to look
at the most recent frame in GCL (as opposed to external lib) source,
and inspect variables with 'p <var>'.  If you send me the 'bt' output,
I can help you from there.


The gdb maxima transcript is attached. It is clear that segfaults
is related to readline.  At least it happens in rl_getc_em in
readline.d As far as I understand the most recent GCL frame is #3.
===================================================================
GNU gdb ALT Linux (5.2.1-alt2)
Copyright 2002 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 "i586-alt-linux"...
(gdb) set args -eval "(run)"
(gdb) run
Starting program: /home/vadim/test/maxima-Y/src/binary-gcl/maxima -eval "(run)"
GCL (GNU Common Lisp)  (2.5.3) Tue Aug 12 07:42:30 MSD 2003
Licensed under GNU Library General Public License
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
Maxima 5.9.0.1cvs http://maxima.sourceforge.net
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(C1)
Program received signal SIGSEGV, Segmentation fault.
0x400a8367 in fileno_unlocked () from /lib/libc.so.6
(gdb) bt
#0  0x400a8367 in fileno_unlocked () from /lib/libc.so.6
#1  0x0822dd1a in rl_prep_terminal ()
#2  0x08229f30 in readline ()
#3  0x08069a50 in rl_getc_em (f=0x401574c0) at readline.d:119
#4  0x080a4153 in stream_at_end (strm=0x832bd14) at file.d:1079
#5  0x08066ceb in Lread_char () at read.d:2121
#6  0x08c71919 in history_inhibit_expansion_function ()
#7  0x080b3a97 in call_proc_new (sym=0x868d6c0, link=0x88aad50, argd=2051,
    first=0x832bca8, ll=0xbfffec1c "\230d\212\b|\216?\b") at funlink.c:761
#8  0x080b3f4e in call_vproc_new (sym=0x868d6c0, link=0x88aad50,
    first=0x832bca8, ll=0xbfffec14 "") at funlink.c:839
#9  0x088aa8cd in history_inhibit_expansion_function ()
#10 0x088a6505 in history_inhibit_expansion_function ()
#11 0x080ae428 in call_or_link (sym=0x852ea68, link=0x88aacdc) at funlink.c:55
#12 0x088aa469 in history_inhibit_expansion_function ()
#13 0x088a8ec7 in history_inhibit_expansion_function ()
#14 0x0809ab79 in call_vfun (fun=0x88d512c) at eval.c:150
#15 0x0809b892 in funcall_no_event (fun=0x88d512c) at eval.c:378
#16 0x0809ce4d in eval (form=0x830df00) at eval.c:1092
#17 0x08061357 in Fprogn (body=0x8dde03c) at prog.c:250
#18 0x08092d53 in Fcatch (args=0x8dde06c) at catch.c:46
#19 0x0809cbd0 in eval (form=0x8dde090) at eval.c:1037
#20 0x08061357 in Fprogn (body=0x8dde030) at prog.c:250
#21 0x08092d53 in Fcatch (args=0x860be4c) at catch.c:46
#22 0x0809cbd0 in eval (form=0x860be88) at eval.c:1037
#23 0x08061357 in Fprogn (body=0x8dde024) at prog.c:250
#24 0x080be437 in Flet (form=0x8de1ccc) at let.c:82
#25 0x0809cbd0 in eval (form=0x8de1cd8) at eval.c:1037
#26 0x0809b5f6 in funcall (fun=0x89fcf78) at eval.c:327
#27 0x0809b8a2 in funcall_no_event (fun=0x8dde00c) at eval.c:381
#28 0x0809ce4d in eval (form=0x830df00) at eval.c:1092
#29 0x0809d2d4 in fLeval (x0=0x8de1e04) at eval.c:1178
#30 0x080ae9bc in c_apply_n (fn=0x809d278 <fLeval>, n=1, x=0xbffff0e0)
    at funlink.c:251
#31 0x08050fad in Iinvoke_c_function_from_value_stack (f=0x809d278 <fLeval>,
    fargd=513) at nfunlink.c:293
#32 0x0809d273 in Leval () at eval.c:1171
#33 0x08158695 in L2 () at top.c:225
#34 0x08157f89 in LI1 () at top.c:47
#35 0x0809a473 in quick_call_sfun (fun=0x83280a0) at eval.c:117
#36 0x0809aece in funcall (fun=0x83280a0) at eval.c:178
#37 0x08050d48 in IapplyVector (fun=0x83280a0, nargs=0, base=0x827acfc)
    at nfunlink.c:239
#38 0x0809d09a in fLfuncall (fun=0x83280a0) at eval.c:1140
#39 0x080ae9bc in c_apply_n (fn=0x809d00f <fLfuncall>, n=1, x=0x827acf8)
    at funlink.c:251
#40 0x08050c07 in IapplyVector (fun=0x8328e60, nargs=1, base=0x827acf8)
    at nfunlink.c:229
#41 0x0809af52 in funcall (fun=0x8328e60) at eval.c:190
#42 0x0809b8a2 in funcall_no_event (fun=0x8328e60) at eval.c:381
#43 0x0809ce4d in eval (form=0x830df00) at eval.c:1092
#44 0x0809b5f6 in funcall (fun=0x89fcf80) at eval.c:327
#45 0x0809b8a2 in funcall_no_event (fun=0x856ac3c) at eval.c:381
#46 0x0809ce4d in eval (form=0x830df00) at eval.c:1092
#47 0x0809b5f6 in funcall (fun=0x89fcf88) at eval.c:327
#48 0x0809c64e in super_funcall (fun=0x856bff0) at eval.c:743
#49 0x0804b274 in main (argc=3, argv=0xbffff814, envp=0xbffff824) at main.c:312
#50 0x4005c4d2 in __libc_start_main () from /lib/libc.so.6
(gdb) frame 3
#3  0x08069a50 in rl_getc_em (f=0x401574c0) at readline.d:119
119     readline.d: No such file or directory.
        in readline.d
(gdb) p rl_putc_em_line
$1 = (unsigned char *) 0x8599e98 "(C1) "
(gdb)
================================================================
--
     Vadim V. Zhytnikov

      <address@hidden>
     <address@hidden>






reply via email to

[Prev in Thread] Current Thread [Next in Thread]