guile-gtk-general
[Top][All Lists]
Advanced

[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




reply via email to

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