guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Corrupt input while restoring file


From: David Thompson
Subject: Corrupt input while restoring file
Date: Thu, 12 Mar 2015 21:19:25 -0400
User-agent: Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu)

Hello,

I'm trying to get my WIP 'guix publish' script to work again and 'guix
substitute-binary' throws a nar error after downloading from my server.

Take this for example:

    guix substitute-binary --substitute 
/gnu/store/z8kf6hgln4a7xf68pdnlibl3vcg5rl15-ruby-2.2.1 /tmp/foobar

This store item is 39.7MiB uncompressed, but Guix tries to read a 162MiB
file out of it!

Here's the output of some quick debugging statements I inserted into
'get-bytevector-n*' in (guix serialization):

    ;;; (count 170068601)
    
    ;;; (eof? #f)
    
    ;;; (length<? #t)
    Backtrace:
    In ice-9/boot-9.scm:
      63: 19 [call-with-prompt prompt0 ...]
    In ice-9/eval.scm:
     432: 18 [eval # #]
    In ice-9/boot-9.scm:
    2401: 17 [save-module-excursion #<procedure cbc940 at 
ice-9/boot-9.scm:4045:3 ()>]
    4050: 16 [#<procedure cbc940 at ice-9/boot-9.scm:4045:3 ()>]
    1724: 15 [%start-stack load-stack #<procedure ccede0 at 
ice-9/boot-9.scm:4041:10 ()>]
    1729: 14 [#<procedure cd2ea0 ()>]
    In unknown file:
       ?: 13 [primitive-load "/home/dave/Code/guix/scripts/guix"]
    In guix/ui.scm:
     849: 12 [run-guix-command substitute-binary "--substitute" ...]
    In ice-9/boot-9.scm:
     157: 11 [catch getaddrinfo-error ...]
     157: 10 [catch srfi-34 #<procedure 166c2a0 at guix/ui.scm:221:2 ()> ...]
     157: 9 [catch system-error ...]
    In guix/scripts/substitute-binary.scm:
     767: 8 [#<procedure 166c2c0 at guix/scripts/substitute-binary.scm:678:3 
()>]
    In guix/serialization.scm:
     331: 7 [restore-file #<input: r6rs-custom-binary-input-port 16ab820> 
"/tmp/foobar"]
     365: 6 [restore "/tmp/foobar"]
     365: 5 [restore "/tmp/foobar/bin"]
     333: 4 [restore "/tmp/foobar/bin/irb"]
     127: 3 [read-string #<input: r6rs-custom-binary-input-port 16ab820>]
     119: 2 [read-byte-string #<input: r6rs-custom-binary-input-port 16ab820>]
      78: 1 [get-bytevector-n* #<input: r6rs-custom-binary-input-port 16ab820> 
...]
    In unknown file:
       ?: 0 [scm-error misc-error #f "~A" ("foo") #f]
    
    ERROR: In procedure scm-error:
    ERROR: foo

I'm just not sure what's going on here.  'guix publish' simply uses
'write-file' to dump store items into an HTTP response.

Does anyone have an idea what might be going on?

Thanks!

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



reply via email to

[Prev in Thread] Current Thread [Next in Thread]