From: ludo@gnu.org (Ludovic Courtès)
To: 17591@debbugs.gnu.org
Subject: bug#17591: Offload hook fails to send files
Date: Wed, 28 May 2014 17:13:36 +0200 [thread overview]
Message-ID: <87k396djhb.fsf@gnu.org> (raw)
In-Reply-To: <87tx8bb6af.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 27 May 2014 17:16:56 +0200")
[-- Attachment #1: Type: text/plain, Size: 1191 bytes --]
ludo@gnu.org (Ludovic Courtès) skribis:
> $ guix archive --export $(guix build -d coreutils) > t.nar
> $ while guix archive --import <t.nar ; do : ; done
Slightly reduced test case: after creating t.nar as above, run the code
below in a loop until it stops (with a pre-5895f24 Guix!):
--8<---------------cut here---------------start------------->8---
(use-modules (guix)
(gnu packages base)
(rnrs io ports))
(with-store store
(let* (;; (drv (package-derivation store coreutils))
;; (dump (call-with-bytevector-output-port
;; (lambda (port)
;; (export-paths store (list (derivation-file-name drv))
;; port))))
(dump (call-with-input-file "t.nar" get-bytevector-all)))
(unless (pair?
(pk 'import (import-paths store (open-bytevector-input-port dump))))
(format #t
"attach GDB to ~a, call GC_default_print_heap_obj_proc,etc.~%"
(getpid))
(sleep 1000)
(exit 1))))
--8<---------------cut here---------------end--------------->8---
Also useful is to modify libguile like this:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 664 bytes --]
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index be8b654..9a8902f 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -315,10 +315,14 @@ scm_c_shrink_bytevector (SCM bv, size_t c_new_len)
SCM_BYTEVECTOR_SET_LENGTH (bv, c_new_len);
if (SCM_BYTEVECTOR_CONTIGUOUS_P (bv))
+ {
+ fprintf (stderr, "%s %zi -> %zi\n", __func__, c_len, c_new_len);
new_bv = PTR2SCM (scm_gc_realloc (SCM2PTR (bv),
c_len + SCM_BYTEVECTOR_HEADER_BYTES,
c_new_len + SCM_BYTEVECTOR_HEADER_BYTES,
SCM_GC_BYTEVECTOR));
+ printf ("new_bv = %p, bv = %p\n", new_bv, bv);
+ }
else
{
signed char *c_bv;
[-- Attachment #3: Type: text/plain, Size: 907 bytes --]
Here I see uninteresting things like:
--8<---------------cut here---------------start------------->8---
scm_c_shrink_bytevector 32768 -> 6960
new_bv = 0x1e96000, bv = 0x1e9a000
importing path `/gnu/store/5nhsz368f88bbgkjjwzz5k24nnnrk544-coreutils-8.22.drv'
;;; (import ("/gnu/store/5nhsz368f88bbgkjjwzz5k24nnnrk544-coreutils-8.22.drv"))
scm_c_shrink_bytevector 32768 -> 6960
new_bv = 0x1efb000, bv = 0x1eff000
;;; (import ())
attach GDB to 10124
--8<---------------cut here---------------end--------------->8---
Then I can call GC_default_print_heap_obj_proc(0x1efb000) from GDB,
which displays:
--8<---------------cut here---------------start------------->8---
object at 0x1efb000 of appr. 6992 bytes (atomic)
--8<---------------cut here---------------end--------------->8---
IOW, everything looks alright, except that the contents of new_bv really
are corrupt.
Ludo’.
prev parent reply other threads:[~2014-05-28 15:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-25 20:59 bug#17591: Offload hook fails to send files Ludovic Courtès
2014-05-25 21:28 ` Ludovic Courtès
2014-05-27 15:16 ` Ludovic Courtès
2014-05-27 20:56 ` Ludovic Courtès
2014-05-28 15:13 ` Ludovic Courtès [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k396djhb.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=17591@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
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).