More g-wrap problems with GnuCash

Derek Atkins warlord@MIT.EDU
17 Jan 2001 23:45:08 -0500


Rob Browning <rlb@cs.utexas.edu> writes:

> Derek Atkins <warlord@MIT.EDU> writes:
> 
> > Ok, I look forward to seeing what you have to say.  This is when I
> > really wish guile had a better debugging infrastructure.
> 
> Agreed.
> 
> /me hacked the g-wrap generated module initialization code to do
> conditionally in 1.3 on the C side what guile realized it needed to be
> doing as of 1.3.4...  so g-wrap 1.1.8 should fix your problem.  It's
> on the ftp site now.  Lemme know.

Unfortuntately this still doesn't fix the problem.  The problem seems
to be in the g-wrap runtime initialization code:

Ready> rpm -q g-wrap
g-wrap-1.1.8-1
Ready> guile
guile> (use-modules (g-wrapped gw-runtime))
ERROR: In procedure error in expression (error (quote not-a-record) obj):
ERROR: not-a-record #f
ABORT: (misc-error)

Type "(backtrace)" to get more information.
guile> (backtrace)

Backtrace:
    ...
12  [#<procedure (result l)> ...
13*  [#<procedure (modinfo)> ((g-wrapped gw-runtime) 1073837628 #<dynamic-object "/usr/share/guile/g-wrapped/libgw-runtime.so.0">)]
14   (if (equal? (car modinfo) modname) (let (#) (save-module-excursion #) ...) ...)
15   (let ((mod #)) (save-module-excursion (lambda () # ...)) ...)
16*  [save-module-excursion #<procedure ()>]
17   (let ((inner-module #) (outer-module #f)) (dynamic-wind (lambda () # ...) thunk ...))
18   [dynamic-wind #<procedure ()> #<procedure ()> ...]
19*  [#<procedure ()>]
20*  [dynamic-call 1073837628 #<dynamic-object "/usr/share/guile/g-wrapped/libgw-runtime.so.0">]
21*  (define-public (gw:module-register-runtime name) (if (hash-ref gw:runtime-modules-hash name) (error "Tried to double-register module " name) ...))
22   (begin (let (#) (module-define! # # ...) ...) (eval (quote #)))
23*  (let ((public-i #)) (module-define! (current-module) (quote gw:module-register-runtime) ...) ...)
24   [module-add! #f gw:module-register-runtime ...]
25   [module-obarray-set! ...
26*   [module-obarray #f]
27    (and (eq? (quote #) (record-type-descriptor obj)) (struct-ref obj 0))
28*   [eq? #<record-type module> ...
29*    [record-type-descriptor #f]
30     (if (struct? obj) (struct-vtable obj) ...)
31     [error not-a-record #f]

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available