On Thu, Sep 9, 2021 at 2:57 PM kmickle <[email protected]> wrote:

> Upd.:
> GhostScript has been confirmed to be the source of the problem. Any
> GhostScript invocations from tup freeze, while LilyPond works fine with
> other output types.
>
> I have tried using the freshest manually downloaded binaries of
> GhostScript x64 instead of the bundled ones, but the 'gswin64' version
> still freezes, and 'gswin64c' crashes. It does work outside of tup.
>
> There is something amiss with hooked GhostScript.
>
>
Thanks so much for getting the ProcMon reports and digging into it more,
that was very helpful. Although I couldn't get LilyPond to fail for me, I
think I was able to reproduce what you were seeing by trying to invoke
Ghostscript directly (at least, it generated a similar looking ProcMon
report). Tup was hanging in a call to WaitForInputIdle(), which was given
an infinite timeout. This call was present since the initial Windows
support, but curiously, it hasn't ever worked. WaitForInputIdle() is odd
for a Windows function in that it returns 0 for success (most Windows
functions are backwards and use 0 for failure). Tup was expecting it to
match other Windows-style functions, and saw that the return value wasn't
0, and continued on.

For every other process that tup hooks in test cases, the function fails
immediately with a return value of -1. In the case of Ghostscript, it
doesn't fail immediately, but instead waits until the timeout to return.
Due to the infinite timeout that was used, this meant tup was hanging
indefinitely. I'm not sure exactly why Ghostscript goes the route of a
timeout, but the error code when spawning something like gcc is
ERROR_NOT_GUI_PROCESS. Maybe Ghostscript qualifies as a gui process, so
Windows is waiting for it to "start"? But we spawn it suspended, so it
never gets there, I think.

Since the call doesn't appear to be doing what's intended, I tried removing
it, and all test cases still pass. I was also able to run Ghostscript
directly (and LilyPond still) with this change. Can you try
http://gittup.org/tup/win32/tup-v0.7.11-50-gb4e2c649.zip and see if that
works for you?

Thanks again,
-Mike

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tup-users/CA%2B6x0LUYeTgpCMPpsttNY_1_0BSBy8t%3DtKy%3DRF7TZ7nZLHXQ_g%40mail.gmail.com.

Reply via email to