unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Unable to add large (1.74 GB) file to store on i686
@ 2014-08-28  5:55 mhw
  2014-09-03  7:47 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: mhw @ 2014-08-28  5:55 UTC (permalink / raw)
  To: guix-devel

I'm currently staying at a place with a slow net connection, where it
takes several hours to download texlive-20140525-texmf.tar.xz (1.74 GB).
Several times in a row, the download has failed with:

  building of `/gnu/store/9cdy0640fxi0dr9fy29g6nr34qi79i81-texlive-20140525-texmf.tar.xz.drv' timed out after 3600 seconds of silence

Finally I decided to use 'wget' to download it, so that I could resume
partial transfers.  I have the entire file now, but all of my attempts
to add it to the store fail.  "guix download file:///path/to/file"
reports:

  guix download: error: sendfile: Broken pipe

I also attempted to add it using 'add-to-store', which exited the
process ungracefully without printing an error message:

--8<---------------cut here---------------start------------->8---
mhw:~/guix-core-updates$ ./pre-inst-env guile
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,use (guix)
scheme@(guile-user)> (define %store (open-connection))
scheme@(guile-user)> (add-to-store %store "texlive-20140525-texmf.tar.xz" #f "sha256" "/home/mhw/texlive-20140525-texmf.tar.xz")
mhw:~/guix-core-updates$ echo $?
141
mhw:~/guix-core-updates$ 
--8<---------------cut here---------------end--------------->8---

Any ideas?  Does adding files to the store entail mapping them into
memory?

      Mark

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

* Re: Unable to add large (1.74 GB) file to store on i686
  2014-08-28  5:55 Unable to add large (1.74 GB) file to store on i686 mhw
@ 2014-09-03  7:47 ` Ludovic Courtès
  0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2014-09-03  7:47 UTC (permalink / raw)
  To: mhw; +Cc: guix-devel

mhw@netris.org skribis:

> Finally I decided to use 'wget' to download it, so that I could resume
> partial transfers.  I have the entire file now, but all of my attempts
> to add it to the store fail.  "guix download file:///path/to/file"
> reports:
>
>   guix download: error: sendfile: Broken pipe

The ‘sendfile’ call is made by ‘add-to-store’ (in ‘write-file’), so that
would mean that the daemon process terminated or closed the connection
unexpectedly.

However, I can’t reproduce it on x86_64:

--8<---------------cut here---------------start------------->8---
$ dd if=/dev/zero of=/data/src/BIG-FILE bs=1024 count=1750000
1750000+0 records in
1750000+0 records out
1792000000 bytes (1.8 GB) copied, 6.23156 s, 288 MB/s

$ guix download file:///data/src/BIG-FILE 
/gnu/store/jlx8nayvk34ij1sxqbn9c8dsqgqb9346-BIG-FILE
1p884s2sa6n4aw813bpnn1mfqyk4grqhig4wmiybi22da0zrfdjb
--8<---------------cut here---------------end--------------->8---

Was it on a 32-bit platform?

> I also attempted to add it using 'add-to-store', which exited the
> process ungracefully without printing an error message:
>
> mhw:~/guix-core-updates$ ./pre-inst-env guile
> GNU Guile 2.0.11
> Copyright (C) 1995-2014 Free Software Foundation, Inc.
>
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
>
> Enter `,help' for help.
> scheme@(guile-user)> ,use (guix)
> scheme@(guile-user)> (define %store (open-connection))
> scheme@(guile-user)> (add-to-store %store "texlive-20140525-texmf.tar.xz" #f "sha256" "/home/mhw/texlive-20140525-texmf.tar.xz")
> mhw:~/guix-core-updates$ echo $?
> 141

This is the same problem:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (status:term-sig 141)
$4 = 13
scheme@(guile-user)> SIGPIPE
$5 = 13
--8<---------------cut here---------------end--------------->8---

> Any ideas?

No. :-/

I would run guix-daemon in gdb or strace, and follow the child process
to exactly how it terminates.

> Does adding files to the store entail mapping them into memory?

No: it’s ‘sendfile’ on the client side, and ‘read’ on the daemon side.

Ludo’.

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

end of thread, other threads:[~2014-09-03  7:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-28  5:55 Unable to add large (1.74 GB) file to store on i686 mhw
2014-09-03  7:47 ` Ludovic Courtès

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