unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#32161: seek out of range
@ 2018-07-15  5:05 Ricardo Wurmus
  2018-07-15  7:30 ` Ricardo Wurmus
  0 siblings, 1 reply; 4+ messages in thread
From: Ricardo Wurmus @ 2018-07-15  5:05 UTC (permalink / raw)
  To: 32161

I’m getting this bug on berlin.guixsd.org.  The store is several hundred
GB in size.  I cannot reproduce this on a machine with a smaller store.

--8<---------------cut here---------------start------------->8---
In guix/store/deduplication.scm:
    62:18  1 (nar-sha256 _)
In unknown file:
           0 (seek #<output: string 11b20e0> 0 1)

ERROR: In procedure seek:
Value out of range -2147483648 to 2147483647: 4770726968
@ hook-failed /gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv - 256 builder for `/gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

-- 
Ricardo

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

* bug#32161: seek out of range
  2018-07-15  5:05 bug#32161: seek out of range Ricardo Wurmus
@ 2018-07-15  7:30 ` Ricardo Wurmus
  2018-07-19 16:03   ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Ricardo Wurmus @ 2018-07-15  7:30 UTC (permalink / raw)
  To: 32161


Ricardo Wurmus <rekado@elephly.net> writes:

> I’m getting this bug on berlin.guixsd.org.  The store is several hundred
> GB in size.  I cannot reproduce this on a machine with a smaller store.

This is not correct.  I cannot reproduce this on a machine where
deduplication has been disabled.

> --8<---------------cut here---------------start------------->8---
> In guix/store/deduplication.scm:
>     62:18  1 (nar-sha256 _)
> In unknown file:
>            0 (seek #<output: string 11b20e0> 0 1)
>
> ERROR: In procedure seek:
> Value out of range -2147483648 to 2147483647: 4770726968
> @ hook-failed /gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv - 256 builder for `/gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv' failed with exit code 1
> --8<---------------cut here---------------end--------------->8---

Line 62 is (port-position wrapper).  “seek” takes an integer as the
offset and the range it reports is that of the minimum and maximum
values of a 32 bit integer.

So… does this mean that we need some other way of counting written bytes
to get rid of “counting-wrapper-port”?

On berlin.guixsd.org I may have to temporarily disable deduplication.

--
Ricardo

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

* bug#32161: seek out of range
  2018-07-15  7:30 ` Ricardo Wurmus
@ 2018-07-19 16:03   ` Ludovic Courtès
  2018-10-09  7:31     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2018-07-19 16:03 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 32161

Hi Ricardo,

Ricardo Wurmus <rekado@elephly.net> skribis:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> I’m getting this bug on berlin.guixsd.org.  The store is several hundred
>> GB in size.  I cannot reproduce this on a machine with a smaller store.
>
> This is not correct.  I cannot reproduce this on a machine where
> deduplication has been disabled.
>
>> --8<---------------cut here---------------start------------->8---
>> In guix/store/deduplication.scm:
>>     62:18  1 (nar-sha256 _)
>> In unknown file:
>>            0 (seek #<output: string 11b20e0> 0 1)
>>
>> ERROR: In procedure seek:
>> Value out of range -2147483648 to 2147483647: 4770726968
>> @ hook-failed /gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv - 256 builder for `/gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv' failed with exit code 1
>> --8<---------------cut here---------------end--------------->8---

For the record, this code can be executed through ‘guix offload’, via
‘restore-file-set’.

> Line 62 is (port-position wrapper).  “seek” takes an integer as the
> offset and the range it reports is that of the minimum and maximum
> values of a 32 bit integer.

I have some good news!  I fixed this in Guile commit
d677aca5c5e5b3a9f71af57243169904ba4a712c.

Bad news, we can’t really work around it on the Guix side.

There’s also another bug: the ‘write’ procedure of a custom binary
output port is never called when passing a bytevector bigger than 2^32.

> So… does this mean that we need some other way of counting written bytes
> to get rid of “counting-wrapper-port”?

Commit 83099892e0cf0d9c59f5e1a0774331026e48baa8 gets rid of it, but
that’s mostly for aesthetic and performance reasons.

> On berlin.guixsd.org I may have to temporarily disable deduplication.

I’m not sure that’d help.

Ludo’.

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

* bug#32161: seek out of range
  2018-07-19 16:03   ` Ludovic Courtès
@ 2018-10-09  7:31     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2018-10-09  7:31 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 32161-done

Hi,

ludo@gnu.org (Ludovic Courtès) skribis:

> Ricardo Wurmus <rekado@elephly.net> skribis:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> I’m getting this bug on berlin.guixsd.org.  The store is several hundred
>>> GB in size.  I cannot reproduce this on a machine with a smaller store.
>>
>> This is not correct.  I cannot reproduce this on a machine where
>> deduplication has been disabled.
>>
>>> --8<---------------cut here---------------start------------->8---
>>> In guix/store/deduplication.scm:
>>>     62:18  1 (nar-sha256 _)
>>> In unknown file:
>>>            0 (seek #<output: string 11b20e0> 0 1)
>>>
>>> ERROR: In procedure seek:
>>> Value out of range -2147483648 to 2147483647: 4770726968
>>> @ hook-failed /gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv - 256 builder for `/gnu/store/qjxwff3fajh350chpswbb6x9q2m4c3sd-texlive-texmf-2017.drv' failed with exit code 1
>>> --8<---------------cut here---------------end--------------->8---
>
> For the record, this code can be executed through ‘guix offload’, via
> ‘restore-file-set’.
>
>> Line 62 is (port-position wrapper).  “seek” takes an integer as the
>> offset and the range it reports is that of the minimum and maximum
>> values of a 32 bit integer.
>
> I have some good news!  I fixed this in Guile commit
> d677aca5c5e5b3a9f71af57243169904ba4a712c.
>
> Bad news, we can’t really work around it on the Guix side.

Actually Guix commit 4f89a8eec69491b925f084381ea4de37527c9310 provides a
workaround.

Ludo’.

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

end of thread, other threads:[~2018-10-09  7:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-15  5:05 bug#32161: seek out of range Ricardo Wurmus
2018-07-15  7:30 ` Ricardo Wurmus
2018-07-19 16:03   ` Ludovic Courtès
2018-10-09  7:31     ` 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).