Subject: bug#23885: SEGFAULT: In procedure char-set-contains?: Wrong type argument in position 2 (expecting character): builder for libarchive-3.1.2

From: [email-masked] (Ludovic Courtès)
Date: Tue, 05 Jul 2016 09:55:28 +0200

Eus <[email-masked]> skribis:

> 04.07.2016, 20:53, "Ludovic Courtès" <[email-masked]>:
>> Leo Famulari <[email-masked]> skribis:
>>
>>>  On Sun, Jul 03, 2016 at 08:42:09AM +0700, Eus wrote:
>>>  [...]
>>>
>>>>  grafting '/gnu/store/7sba9q9dpkhcb2zmqcm8a00d1xrkccvz-libarchive-3.1.2' -> '/gnu/store/ciga1934crxdimj5s1gsnvh74rk24hnd-libarchive-3.1.2'...
>>>>  grafting '/gnu/store/p07xa257vli65gx6vs3d0l3qxwqg13rk-libarchive-3.1.2' -> '/gnu/store/ji2jgkbpl4nabwn70ax6y7kg99r7xzk7-libarchive-3.1.2'...
>
> [...]
>
>>>>  [ 7584.270501] guile[27326]: segfault at 0 ip 00007ffff7b41c47 sp 00007ffff4cb1930 error 4 in libguile-2.0.so.22.7.2[7ffff7a4d000+153000]
>>>>  ERROR: In procedure char-set-contains?: Wrong type argument in position 2 (expecting character): builder for `/gnu/store/2fjf4zqh05lzg8sa7l865xvg4faqc5z4-libarchive-3.1.2.drv' failed due to signal 11 (Segmentation fault)
>>
>> This is scary. Eus, is it reproducible? That is, does it happen again
>> if you run:
>>
>>   guix build --rounds=4 \
>>      /gnu/store/2fjf4zqh05lzg8sa7l865xvg4faqc5z4-libarchive-3.1.2.drv
>>
>> ?
>
> Since I have already wiped the partition, I did everything from the beginning like what I have done when I encountered the segfault. This time, however, the problem did not appear.
>
> I see that the grafting lines that appeared before the segfault message differ from the grafting lines in the successful run. In the failing one, there are 29 grafting lines. In the successful one, there are 17 grafting lines. Moreover, the grafting of /gnu/store/ciga1934crxdimj5s1gsnvh74rk24hnd-libarchive-3.1.2 and /gnu/store/ji2jgkbpl4nabwn70ax6y7kg99r7xzk7-libarchive-3.1.2 are reversed in the successful run although they both are still grafted one after another as before.
>
> Other than that, in the failed run, I have the following line after segfault:
> cannot build derivation `/gnu/store/6y3lqn4cfxsh4g87hrbmvvalip66n9hl-grilo-0.3.0.drv': 1 dependencies couldn't be built
>
> In the successful run, however, ls -d /gnu/store/*-grilo-0.3.0.drv gives:
> /gnu/store/cg3qlswny4242wc8f28maljd9yvwd5dd-grilo-0.3.0.drv
> /gnu/store/qiwfbwn7a7cvf2lgqjlmkclwdrgl3fzz-grilo-0.3.0.drv
>
> Any guess as to what actually causes the segfault?
>
> I'd rather have you pursue this matter further, but if it is not worth the effort, I am okay if this report is dismissed.

OK, this is weird.  The segfault would be a Guile bug, something that
should never happen.  I’ve never seen it before though, so we’d need
more data to investigate.

I’m closing this bug and we can reopen it when we have more info.

Thanks,
Ludo’.