From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Pirotte Newsgroups: gmane.lisp.guile.devel Subject: guile-gnome, devel: corba test suite fails if using scm_make_vtable Date: Sat, 5 Jul 2014 19:58:14 -0300 Message-ID: <20140705195814.0d157f05@capac> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/vS9bafgcypqjUCem5mz9Z0B" X-Trace: ger.gmane.org 1404601129 517 80.91.229.3 (5 Jul 2014 22:58:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 5 Jul 2014 22:58:49 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Jul 06 00:58:42 2014 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1X3Yum-0004jH-U2 for guile-devel@m.gmane.org; Sun, 06 Jul 2014 00:58:41 +0200 Original-Received: from localhost ([::1]:44165 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3Yum-0002gv-D9 for guile-devel@m.gmane.org; Sat, 05 Jul 2014 18:58:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36771) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3Yue-0002ge-Ez for guile-devel@gnu.org; Sat, 05 Jul 2014 18:58:37 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X3YuY-0000Rl-DZ for guile-devel@gnu.org; Sat, 05 Jul 2014 18:58:32 -0400 Original-Received: from maximusconfessor.all2all.org ([79.99.200.102]:60585) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3YuY-0000Qi-11 for guile-devel@gnu.org; Sat, 05 Jul 2014 18:58:26 -0400 Original-Received: from localhost (unknown [192.168.0.2]) by maximusconfessor.all2all.org (Postfix) with ESMTP id 45C2AA04C0E8 for ; Sun, 6 Jul 2014 00:58:24 +0200 (CEST) Original-Received: from maximusconfessor.all2all.org ([192.168.0.1]) by localhost (maximusconfessor.all2all.org [192.168.0.2]) (amavisd-new, port 10024) with ESMTP id P-NZ03L1oU6R for ; Sun, 6 Jul 2014 00:38:37 +0200 (CEST) Original-Received: from capac (unknown [189.60.115.53]) by maximusconfessor.all2all.org (Postfix) with ESMTPSA id B1185A04C0DE for ; Sun, 6 Jul 2014 00:58:16 +0200 (CEST) X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.23; x86_64-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 79.99.200.102 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:17293 Archived-At: --MP_/vS9bafgcypqjUCem5mz9Z0B Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline 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 * Copyright (C) 2003 Andy Wingo + * Copyright (C) 2014 David Pirotte * * 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)); --MP_/vS9bafgcypqjUCem5mz9Z0B Content-Type: application/x-bzip Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=strace.out.bz2 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 --MP_/vS9bafgcypqjUCem5mz9Z0B--