This is the mail archive of the
mailing list for the Cygwin project.
Fork problem with hexchat if cygserver is running
- From: Ken Brown <kbrown at cornell dot edu>
- To: cygwin <cygwin at cygwin dot com>
- Date: Wed, 7 Aug 2019 17:41:13 +0000
- Subject: Fork problem with hexchat if cygserver is running
- Arc-authentication-results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=cornell.edu;dmarc=pass action=none header.from=cornell.edu;dkim=pass header.d=cornell.edu;arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=M319Hk+ASxuCcSuH+jCp9YkA6/Cu7yWBXTdxhfN2gxo=; b=nz+s63sNcWP3/4ufxl83tXgJvql7bephMupPIToTreuMcHxcudFhqB4rL0t8yXLaq+YXWQZQp0csktiKZHowQtwOtcG/Xg6jGWB5e3hApjkJnIspVbcT/yYkzalaqQFpvoUFvqsfOlj0rsJPThlObQHigHDPc3aE9KbenBxUF5JfDgMeNfKpglany7wng2sCQ7+/wBMG7S4adGMUNvJq4OkhAwtSHv81Z4/ST8H2AbhTDb/g05ZDE+YO5CiswUvs6G0glVkWPTd6HyZ3V66EpWrDSLivtrrrcYfcb7kEsfCmwJGfHoRVYZvJrHPnAP9VdS1SsxMx5TmLGotz+KOzUA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KW9gfBd12CrowUTVYlsKREH9UPZFmCumzRVbfDFD3KumfZP8pl/udLf/KwKqN0wWv21Wc6ly0Gb9PRUvFR3kFoWGGX+sHfgdqojvbwhLDQBnmzVg5SFTTVmZr1l3DvLHW+WBXiLaqYu4pcKcie7clDdH6aUrqMJe2WtmiUPiUBzlZwGvJAKzMXm3hcHdxLJ93PsE+15M5G/7eBNTZpYGdNL97AxkZF0tYSofdfcE/NTG05aT+m0ra0+zCMWmW0r4tJMhQSBuOrxEnMBG4MwWXyerEWVknt7ql8vUs0Xk8aVaw1zOZz5ZPT9g3gbbxz5N+WjGt4JLjPzfcIU5+/mazw==
Roughly 1 out of 3 times that I try to use hexchat, I get a fork failure:
31143510 [main] hexchat 12392 dofork: child 12399 - died waiting for dll
loading, errno 11
It only happens if cygserver is running. I caught it under strace and saw the
29 25558 [main] hexchat 12399 frok::child: hParent 0xAF0, load_dlls 1
43 25601 [main] hexchat 12399 open_shared: name cygpid.12392, n 12392,
shared 0x1100000 (wanted 0x0), h 0x10C, *m 6
35 25636 [main] hexchat 12399 getpid: 12399 = getpid()
65 25701 [main] hexchat 12399 transport_layer_pipes::connect: Try to
connect to named pipe: \\.\pipe\cygwin-e022582115c10879-lpc
363 26064 [main] hexchat 12399 C:\cygwin64\bin\hexchat.exe: *** fatal error
in forked process - fixup_shms_after_fork: NtMapViewOfSection (0x7FF4EE130000),
status 0xC0000018. Terminating.
[status 0xC0000018 is STATUS_CONFLICTING_ADDRESSES.]
This was under cygwin-3.0.7-1. It also happens with cygwin1.dll built from the
current master branch, and it also happens with cygwin-3.0.6-1. Not being
familiar with this part of the Cygwin code, my first thought was to do a
bisection. But I haven't yet found a good revision to start with. I will still
try to do that, but in the meantime I thought I should report it.
Here are the reproduction instructions:
1. Start the cygserver service.
2. Start the X server. (I do this by using the XWin Server shortcut, which
basically just calls startxwin.)
3. Start xterm, and run 'hexchat &'.
4. Select the freenode network and click Connect.
Roughly 1 out of 3 times, the dofork error will print in the xterm window, and
hexchat will hang at "Looking up chat.freenode.net".
P.S. File this under "No good deed goes unpunished." I was trying to use
hexchat to join #cygwin-developers. I can still do that on 2 out of 3 attempts,
but now I'm sidetracked trying to do a bisection.