GNU bug report logs -
#24320
Error when printing foreign functions
Previous Next
Reported by: Robin Templeton <robin <at> terpri.org>
Date: Sat, 27 Aug 2016 19:01:01 UTC
Severity: normal
Done: Robin Templeton <robin <at> terpri.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 02 Sep 2016 21:38:06 -0400
with message-id <87inudn4ox.fsf <at> panthera.terpri.org>
and subject line Re: bug#24320: Error when printing foreign functions
has caused the debbugs.gnu.org bug report #24320,
regarding Error when printing foreign functions
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
24320: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24320
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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 <at> 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
[Message part 3 (message/rfc822, inline)]
Andy Wingo <wingo <at> pobox.com> writes:
> On Sat 27 Aug 2016 20:05, Robin Templeton <robin <at> 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!
This bug report was last modified 8 years and 289 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.