[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Debugging SCM->C value conversion
From: |
Jan Nieuwenhuizen |
Subject: |
Re: Debugging SCM->C value conversion |
Date: |
Wed, 06 Oct 2004 15:43:21 +0200 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) |
Andy Wingo writes:
Hi Andy
> One of those unwrap_value procedures is causing an error. You need to
> figure out which one that is. Break on dynproc_smob_apply. When it
> enters, examine fi->arg_types[5] to verify that the unwrap_value
> procedure is gw__tmp41_unsigned_int_unwrap_value. The tmp41 gensym might
> be different, but I doubt it.
Hmm, but finding which one is the problem. While running this
debug.scm:
#! /usr/bin/guile -s
!#
(debug-enable 'backtrace)
(use-modules (gnome gtk)
(gnome gtk gdk-event)
(gnome gw canvas))
(set-child-packing #f #f #f #f 0 'end)
there are 66 passes through dynproc_smob_apply. The last one does not
do anything with unsigned_ints, and none of them even has a sensible
value for fi->arg_types[5]. See below.
> This has got to be the highest-latency debugging session, ever ;-)
I hope so ;-)
Jan.
Pending breakpoint "guile-runtime.c:491" resolved
atk pango [Switching to Thread 16384 (LWP 27331)]
Breakpoint 2, dynproc_smob_apply (smob=0x405898f0, args=0x405805a8) at
../../../guile/g-wrap/guile-runtime.c:491
(gdb) ignore 2 66
Will ignore next 66 crossings of breakpoint 2.
(gdb) r -s debug.scm
atk pango gdk gtk [Switching to Thread 16384 (LWP 27404)]
Breakpoint 2, dynproc_smob_apply (smob=0x405898f0, args=0x4057eec8) at
../../../guile/g-wrap/guile-runtime.c:491
(gdb) p *fi.arg_types[0]
$1 = {name = 0x403ea8ea "scm", class_name = 0x0, type = 0x403f7a08, wrap_value
= 0x403e97ae <gw__tmp134_scm_wrap_value>, unwrap_value = 0x403e97bd
<gw__tmp135_scm_unwrap_value>, destruct_value = 0x403e97cc
<gw__tmp136_scm_destruct_value>}
(gdb) p *fi.arg_types[1]
$2 = {name = 0x403ea8ea "scm", class_name = 0x0, type = 0x403f7a08, wrap_value
= 0x403e97ae <gw__tmp134_scm_wrap_value>, unwrap_value = 0x403e97bd
<gw__tmp135_scm_unwrap_value>, destruct_value = 0x403e97cc
<gw__tmp136_scm_destruct_value>}
(gdb) p *fi.arg_types[2]
$3 = {name = 0x403ea8ea "scm", class_name = 0x0, type = 0x403f7a08, wrap_value
= 0x403e97ae <gw__tmp134_scm_wrap_value>, unwrap_value = 0x403e97bd
<gw__tmp135_scm_unwrap_value>, destruct_value = 0x403e97cc
<gw__tmp136_scm_destruct_value>}
(gdb) p *fi.arg_types[3]
$4 = {name = 0x403ea8ea "scm", class_name = 0x0, type = 0x403f7a08, wrap_value
= 0x403e97ae <gw__tmp134_scm_wrap_value>, unwrap_value = 0x403e97bd
<gw__tmp135_scm_unwrap_value>, destruct_value = 0x403e97cc
<gw__tmp136_scm_destruct_value>}
(gdb) p *fi.arg_types[4]
$5 = {name = 0x403ea8ea "scm", class_name = 0x0, type = 0x403f7a08, wrap_value
= 0x403e97ae <gw__tmp134_scm_wrap_value>, unwrap_value = 0x403e97bd
<gw__tmp135_scm_unwrap_value>, destruct_value = 0x403e97cc
<gw__tmp136_scm_destruct_value>}
(gdb) p *fi.arg_types[5]
Cannot access memory at address 0x21
(gdb) c
Continuing.
support]
ERROR: No applicable method for #<<generic> set-child-packing (1)> in call
(set-child-packing #f #f #f #f 0 end)
Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
Program exited with code 02.
(gdb) cond 2 fi.arg_types[5] != 0x21
(gdb) r
[...]
ERROR: No applicable method for #<<generic> set-child-packing (1)> in call
(set-child-packing #f #f #f #f 0 end)
Program exited with code 02.
(gdb) info break
Num Type Disp Enb Address What
2 breakpoint keep y 0x403eecee in dynproc_smob_apply at
../../../guile/g-wrap/guile-runtime.c:491
stop only if fi.arg_types[5] != 33
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien | http://www.lilypond.org
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Debugging SCM->C value conversion,
Jan Nieuwenhuizen <=