unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#24320: Error when printing foreign functions
@ 2016-08-27 18:05 Robin Templeton
  2016-09-02  8:08 ` Andy Wingo
  0 siblings, 1 reply; 3+ messages in thread
From: Robin Templeton @ 2016-08-27 18:05 UTC (permalink / raw)
  To: 24320

The following program causes `(@ (system vm program) print-program)' to
throw an exception when run in Guile 2.1.3.104-8f2f8:

(use-modules (system foreign))
(format #t "~S~%"
 (pointer->procedure double
                     (dynamic-func "sqrt" (dynamic-link))
                     (list double)))

print-program tries to access fields of the procedure's debug info
record even if find-program-debug-info fails and returns #f. The
following patch fixes the problem.

From 0ec7bff9e71f1c1c46fa3c1d2bdbc43f5db3588c Mon Sep 17 00:00:00 2001
From: Robin Templeton <robin@terpri.org>
Date: Sat, 27 Aug 2016 13:42:10 -0400
Subject: [PATCH] Check for missing debug info in print-program

* module/system/vm/program.scm (print-program): Check the return value
  of find-program-debug-info.
---
 module/system/vm/program.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/module/system/vm/program.scm b/module/system/vm/program.scm
index 9f5b764..32c96f2 100644
--- a/module/system/vm/program.scm
+++ b/module/system/vm/program.scm
@@ -265,7 +265,7 @@ lists."
          ;; It could be the procedure had its name property set via the
          ;; procedure property interface.
          (name (or (and program (procedure-name program))
-                   (program-debug-info-name pdi)))
+                   (and pdi (program-debug-info-name pdi))))
          (source (match (find-program-sources addr)
                    (() #f)
                    ((source . _) source)))
-- 
2.9.3







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

* bug#24320: Error when printing foreign functions
  2016-08-27 18:05 bug#24320: Error when printing foreign functions Robin Templeton
@ 2016-09-02  8:08 ` Andy Wingo
  2016-09-03  1:38   ` Robin Templeton
  0 siblings, 1 reply; 3+ messages in thread
From: Andy Wingo @ 2016-09-02  8:08 UTC (permalink / raw)
  To: Robin Templeton; +Cc: 24320

On Sat 27 Aug 2016 20:05, Robin Templeton <robin@terpri.org> writes:

> The following program causes `(@ (system vm program) print-program)' to
> throw an exception when run in Guile 2.1.3.104-8f2f8:

LGTM, please apply!  I think you have the permissions to push to master;
let me know if that's not the case.

Andy





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

* bug#24320: Error when printing foreign functions
  2016-09-02  8:08 ` Andy Wingo
@ 2016-09-03  1:38   ` Robin Templeton
  0 siblings, 0 replies; 3+ messages in thread
From: Robin Templeton @ 2016-09-03  1:38 UTC (permalink / raw)
  To: Andy Wingo; +Cc: 24320-done

Andy Wingo <wingo@pobox.com> writes:

> On Sat 27 Aug 2016 20:05, Robin Templeton <robin@terpri.org> writes:
>
>> The following program causes `(@ (system vm program) print-program)' to
>> throw an exception when run in Guile 2.1.3.104-8f2f8:
>
> LGTM, please apply!

Thanks, now fixed in master

-- 
Inteligenta persono lernas la lingvon Esperanton rapide kaj facile.
Esperanto estas moderna, kultura lingvo por la mondo. Simpla, fleksebla,
belsona, Esperanto estas la praktika solvo de la problemo de universala
interkompreno. Lernu la interlingvon Esperanton!





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

end of thread, other threads:[~2016-09-03  1:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-27 18:05 bug#24320: Error when printing foreign functions Robin Templeton
2016-09-02  8:08 ` Andy Wingo
2016-09-03  1:38   ` Robin Templeton

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).