unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Fw: guile-gnome, devel: corba test suite fails if using scm_make_vtable
@ 2014-09-04 22:37 David Pirotte
  2014-09-05 12:30 ` Neil Jerram
  0 siblings, 1 reply; 3+ messages in thread
From: David Pirotte @ 2014-09-04 22:37 UTC (permalink / raw)
  To: guile-devel


[-- Attachment #1.1: Type: text/plain, Size: 3733 bytes --]

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 <david@altosw.be>
To: guile-devel <guile-devel@gnu.org>
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 <martin@gnome.org>
  * 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 #1.2: strace.out.bz2 --]
[-- Type: application/x-bzip, Size: 9910 bytes --]

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 173 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Fw: guile-gnome, devel: corba test suite fails if using scm_make_vtable
  2014-09-04 22:37 Fw: guile-gnome, devel: corba test suite fails if using scm_make_vtable David Pirotte
@ 2014-09-05 12:30 ` Neil Jerram
  2014-09-06 18:20   ` David Pirotte
  0 siblings, 1 reply; 3+ messages in thread
From: Neil Jerram @ 2014-09-05 12:30 UTC (permalink / raw)
  To: guile-devel

On 2014-09-04 23:37, David Pirotte wrote:
> 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

Hi David,

I think that the commits at 
http://git.savannah.gnu.org/cgit/guile.git/log/?h=stable-2.0&qt=grep&q=make-vtable 
may indicate the correct code transformation that you need to make for 
old uses of scm_make_vtable_vtable.  Those commits only show Scheme code 
examples, but I would guess that it will not be hard to work out the 
corresponding C code transformation.

Regards,
      Neil




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: guile-gnome, devel: corba test suite fails if using scm_make_vtable
  2014-09-05 12:30 ` Neil Jerram
@ 2014-09-06 18:20   ` David Pirotte
  0 siblings, 0 replies; 3+ messages in thread
From: David Pirotte @ 2014-09-06 18:20 UTC (permalink / raw)
  To: Neil Jerram; +Cc: guile-devel

[-- Attachment #1: Type: text/plain, Size: 488 bytes --]

Hi Neil,

> > ping!
> > ...

> I think that the commits at 
> http://git.savannah.gnu.org/cgit/guile.git/log/?h=stable-2.0&qt=grep&q=make-vtable 
> may indicate the correct code transformation that you need to make for 
> old uses of scm_make_vtable_vtable.  Those commits only show Scheme code 
> examples, but I would guess that it will not be hard to work out the 
> corresponding C code transformation.

Thanks for the idea and the link, I'll look at it asap...

David

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 173 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-09-06 18:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-04 22:37 Fw: guile-gnome, devel: corba test suite fails if using scm_make_vtable David Pirotte
2014-09-05 12:30 ` Neil Jerram
2014-09-06 18:20   ` David Pirotte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).