guile-devel
[Top][All Lists]
Advanced

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

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


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

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


reply via email to

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