GNU bug report logs - #21888
guix-publish gets ERROR when serve gtk+.

Previous Next

Package: guix;

Reported by: iyzsong <at> member.fsf.org

Date: Thu, 12 Nov 2015 16:33:02 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: tracker <at> debbugs.gnu.org
Subject: bug#21888: closed (guix-publish  gets ERROR when serve gtk+.)
Date: Wed, 08 Jun 2016 17:10:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 08 Jun 2016 19:09:04 +0200
with message-id <87twh3d2vj.fsf <at> gnu.org>
and subject line Re: bug#21888: guix-publish  gets ERROR when serve gtk+.
has caused the debbugs.gnu.org bug report #21888,
regarding guix-publish  gets ERROR when serve gtk+.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
21888: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21888
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: 宋文武 <iyzsong <at> openmailbox.org>
To: bug-guix <at> gnu.org
Subject: guix-publish  gets ERROR when serve gtk+.
Date: Thu, 12 Nov 2015 12:41:04 +0800
can't substitute gtk+ from a guix-publish server, it fails with:

GET /nar/1dlz1am0qmj1579f5p6j5cvfx9l2aw50-gtk+-3.18.2
In web/server/http.scm:
   117:27  1 (http-read #<<http-server> socket: #<input-output: so...>)
In unknown file:
           0 (peek-char #<input-output: socket 13>)
ERROR: In procedure fport_fill_input: Connection reset by peer



[Message part 3 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: iyzsong <at> member.fsf.org (宋文武)
Cc: 21888-done <at> debbugs.gnu.org
Subject: Re: bug#21888: guix-publish  gets ERROR when serve gtk+.
Date: Wed, 08 Jun 2016 19:09:04 +0200
iyzsong <at> member.fsf.org (宋文武) skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> 宋文武 <iyzsong <at> openmailbox.org> skribis:
>>
>>> ---request begin---
>>> GET /nar/1dlz1am0qmj1579f5p6j5cvfx9l2aw50-gtk+-3.18.2 HTTP/1.1
>>> User-Agent: Wget/1.16.3 (linux-gnu)
>>> Accept: */*
>>> Accept-Encoding: identity
>>> Host: localhost:8080
>>> Connection: Keep-Alive
>>>
>>> ---request end---
>>>
>>> ---response begin---
>>> HTTP/1.1 404 Not Found
>>> Content-Length: 69
>>> Content-Type: text/plain;charset=utf-8
>>>
>>> ---response end---
>>> Registered socket 3 for persistent reuse.
>>> URI content encoding = 'utf-8'
>>> Skipping 69 bytes of body: [Resource not found: /nar/1dlz1am0qmj1579f5p6j5cvfx9l2aw50-gtk+-3.18.2] done.
>>
>> Here ‘guix publish’ returns 404, presumably because
>> /gnu/store/1dlz1am0qmj1579f5p6j5cvfx9l2aw50-gtk+-3.18.2 is not on disk
>> or not valid.
>>
>> Is this correct?
> No, the gtk+ item is valid, and replace 'gtk+' with 'gtk%2B' in the url
> will make wget download it happily.

‘guix publish’ correctly decodes URIs in ‘request-path-components’, but
‘uri-decode’ does this:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use(web uri)
scheme@(guile-user)> (uri-decode "/gtk+")
$12 = "/gtk "
scheme@(guile-user)> (string-ref $12 4)
$13 = #\space
--8<---------------cut here---------------end--------------->8---

I think that ‘uri-decode’ is right, and that Wget is wrong when it fails
to replace ‘+’ with ‘%2B’.

Regardless, the problem is that the faulty /nar/…-gtk+ URI comes from a
.narinfo generated by ‘guix publish’ itself.  The fix is for ‘guix
publish’ to properly percent-encode it in the narinfo.

Done in 93961f02987cf738d116cc85cc32d97c2a488222.

Thanks,
Ludo’.


This bug report was last modified 9 years and 45 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.