help-guix
[Top][All Lists]
Advanced

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

Re: How to debug hanging "check" phase when building Kakoune


From: Ekaitz Zarraga
Subject: Re: How to debug hanging "check" phase when building Kakoune
Date: Sun, 18 Apr 2021 10:42:09 +0000

Hey!

Pretty cool question, let's see if my Bash skills are not lost like tears
in the rain.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, April 18, 2021 8:26 AM, Dmitry Matveyev <greenfork.lists@yandex.com> 
wrote:

>
> I have assumption that this is somehow connected with read-write
> permissions because when I keep failed builds and later try to delete
> them, it asks whether I really want to delete some read-only files.
>
> I have no idea how exactly that `test/run` script works with all the
> pipes and output redirection. And I have no idea how to check why this
> build phase hangs. Any tips would be really helpful.


I agree, it looks like it's related with that.

That `cat` you marked there is reading from the file descriptor 4 and
discarding its output. That's not a reasonable thing to do in general,
*unless* you are reading from a file that is being written to as a
pipe (this case is a named pipe, done with `mkfifo`).

The `exec 4<ui-out 3>ui-in` is opening those files and binding them
to the file descriptors. So any time you see reading from the fd 4 they
are reading from ui-out

Pipes are special files that can be used for inter-process communication
in this case I think this cat is reading from the pipe until it's
empty, in order to consume the data that is being sent by a process.

My guess is that the ui-out and ui-in fifos don't have write permission
so the process is not able to run, and it hangs in the write, or it's
the `cat` who dies in the reading from an empty fifo. It's going to
wait until an EOF comes, and that's not happening, because none can
write the EOF there.

Does this make any sense?

HTH,
Ekaitz



reply via email to

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