guile-devel
[Top][All Lists]
Advanced

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

Fw: guile-gnome, devel: corba test suite fails if using scm_make_vtable


From: David Pirotte
Subject: Fw: guile-gnome, devel: corba test suite fails if using scm_make_vtable
Date: Thu, 4 Sep 2014 19:37:53 -0300

Heya,

ping!

        I'm pretty sure it is a guile core and/or a test suite problem, not 
related
        to corba itself [which as a matter of fact I do not know and do not use
        either :)]

I'd like to solve this problem before to release a guile-gnome-platform 2.16.3
[which is a good idea anyway, but in the end it will also allow distro to get 
rid of
guile-1.8 ...]

Before to release I believe indeed that we _should_ get rid of all guile related
deprecated messages, which motivated my changes to
<git-clone>/corba/gnome/corba/guile-gnome-corba-types.c

I'm looking for a C knowledgeable guile developer or co-maintainer who knows 
what 
scm_make_vtable is supposed to do, args, ... to think about what could be the 
cause
of the problem [comparing the original function and its proposed substitution
in guile core maybe] and/or come and talk to me on irc [daviid] to debug 
together...

Thanks,
David

;; --

Begin forwarded message:

Date: Sat, 5 Jul 2014 19:58:14 -0300
From: David Pirotte <address@hidden>
To: guile-devel <address@hidden>
Subject: guile-gnome, devel: corba test suite fails if using scm_make_vtable


Hello,

If I apply the following changes [here below], corba compiles fine, but the test
suite fails badly [with a segmentation fault].

I have taken a bit of my time to identify the test that fails and segfault, 
here is a
recorded session, with the necessary material for other guilers to reproduce 
the bug:

        http://paste.lisp.org/display/143106#6

        I have attached an strace, obtained running the original [complete]
        wrapset.api

Help much appreciated here, thanks!

Happy hacking,
David


--- a/corba/gnome/corba/guile-gnome-corba-types.c
+++ b/corba/gnome/corba/guile-gnome-corba-types.c
@@ -1,6 +1,7 @@
 /* guile-gnome
  * Copyright (C) 2001, 2009, 2013 Martin Baulig <address@hidden>
  * Copyright (C) 2003 Andy Wingo <wingo at pobox dot com>
+ * Copyright (C) 2014 David Pirotte <david at altosw dot be>
  *
  * guile-gnome-corba-types.c: Support routines for the GLib wrapper
  *
@@ -819,19 +820,17 @@ scm_init_gnome_corba_types (void)
 
 #include "guile-gnome-corba-types.x"
 
-    gsubr = scm_c_make_gsubr ("%print-corba-struct", 2, 0, 0, 
print_corba_struct);
+    gsubr = scm_c_define_gsubr ("%print-corba-struct", 2, 0, 0, 
print_corba_struct);
     scm_corba_struct_vtable = scm_permanent_object
-        (scm_make_vtable_vtable (scm_from_locale_string ("srprprprpopopW"),
-                                scm_from_int (0), SCM_LIST1 (gsubr)));
+        (scm_make_vtable (scm_from_latin1_string ("srprprprpopopW"), gsubr));
     SCM_SET_CORBA_STRUCT_TYPECODE (scm_corba_struct_vtable, TC_CORBA_TypeCode);
     scm_c_define ("%corba-struct-vtable", scm_corba_struct_vtable);
     scm_c_define ("%corba-struct-vtable-offset-user", scm_from_int
(scm_corba_struct_vtable_offset_user)); scm_c_define
("%corba-struct-vtable-offset-printer", scm_from_int
(scm_vtable_index_instance_printer)); 
-    gsubr = scm_c_make_gsubr ("%print-corba-sequence", 2, 0, 0,
print_corba_sequence);
+    gsubr = scm_c_define_gsubr ("%print-corba-sequence", 2, 0, 0,
print_corba_sequence); scm_corba_sequence_vtable = scm_permanent_object
-        (scm_make_vtable_vtable (scm_from_locale_string ("srprprprpopW"),
-                                scm_from_int (0), SCM_LIST1 (gsubr)));
+        (scm_make_vtable (scm_from_latin1_string ("srprprprpopW"), gsubr));
     SCM_SET_CORBA_SEQUENCE_TYPECODE (scm_corba_sequence_vtable, 
TC_CORBA_TypeCode);
     scm_c_define ("%corba-sequence-vtable", scm_corba_sequence_vtable);
     scm_c_define ("%corba-sequence-vtable-offset-user", scm_from_int
(scm_corba_sequence_vtable_offset_user));

Attachment: strace.out.bz2
Description: application/bzip

Attachment: signature.asc
Description: PGP signature


reply via email to

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