On 2022-04-08 20:04, Brian Inglis wrote:
On 2022-04-08 02:42, Alexey Izbyshev wrote:
There is also an additional detail that I forgot to mention: in the stack trace of all leaf processes as displayed by ProcessHacker, it seems that the executable entry point is not reached yet. The only non-Windows-DLL location is in cygwin1.dll, so I suspect that all processes hang at early initialization in Cygwin's DLL entry point.

That sounds like BLODA interference from AntiVirus programs:

        https://cygwin.com/faq/faq.html#faq.using.bloda

and can also happen if you use Windows AD, and your users have a lot
of rights, and a slow server, firewall filtering, or network link, but
known issues were fixed a few releases ago.


It seems that a potential cause of the hang has been identified in another discussion thread, and I'm now testing a patched version provided by Takashi Yano.

Anyway, thanks for your time! And just in case the identified cause turns out to be wrong, I'm answering your questions below.

We don't use any third-party AV products on this machine (it's an internal box used only for CI), and we've disabled Real-Time Protection in the Windows AV (it causes a terrible performance degradation, something like 1.5-2 times).

Any idea how much address space is used by Cygwin DLLs, and memory by
all the processes running: run rebase -is to see if you could be out
of address space for Cygwin and DLLs, and how much is left for
processes?

Do you have a decent amount of memory free on your system while
running, and Windows paging space allocated to back it up - total
twice memory, and do you have multiple drives to spread it across?
Check your system memory and paging activity while those processes are running.

The peak memory consumption of our tests never exceeds 30% of RAM. Also, Cygwin is used (almost) exclusively for the test harness (the actual software under testing is native), and there are no heavyweight processes in it, mostly just make, bash and some coreutils. So I don't think we could hit address space issues even on 32-bit Cygwin.

Could you try installing Cygwin64 packages and running those instead
of Cygwin32 (recommended as Cygwin32 support will be dropped next
release) as there is more address space available as well as usable
memory for processes?

We test both 32-bit and 64-bit builds of our software, and a couple of tests need to run (Cygwin) make under debugging. Because a 32-bit process can't debug a 64-bit one, we simply use 32-bit Cygwin for both cases. But if need to reproduce under 64-bit Cygwin arises, I can simply exclude the problematic tests (they're unlikely to be relevant to the hang).

Alexey

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to