| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:mime-version:reply-to:from:date:message-id | |
| :subject:to:content-type:content-transfer-encoding; q=dns; s= | |
| default; b=WmGeqe69caflbCzdNnhSmPo3CQb41Jucw7xN2hJn8mhgVCMmK4Nfu | |
| xutjeFCadjvSS1XYKUglX0CQ7K1IB+leZuoWIsmi5P+jSKhCvULtaFxyn9vf7G4k | |
| Giib0ZTLAUrqAW19E0/grgX9apFwXX5uZek2O4WAG4tioHsAa5l108= | |
| DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:mime-version:reply-to:from:date:message-id | |
| :subject:to:content-type:content-transfer-encoding; s=default; | |
| bh=8SrRu3mXIZCOejcVgvevfWtWaQQ=; b=HZJrX4X95INCe0lGReufKQUHyOen | |
| tnK0GBXltNhmiLhp3IywpZEVMe4SN8QG8C2nsNSvImqdiIXtKgNQbvNZNhNkoMbT | |
| vv/lCFxD4g4WCJPjQFXIjDblAfU9VN+ilb2tdq+ypAlIJwm6bh1bmcQS0coOq1YM | |
| jwbYzcnNLKFQgdk= | |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| Authentication-Results: | sourceware.org; auth=none |
| X-Virus-Found: | No |
| X-Spam-SWARE-Status: | No, score=4.4 required=5.0 tests=AWL,BAYES_00,BODY_8BITS,FREEMAIL_FROM,GARBLED_BODY,SPF_PASS autolearn=no version=3.3.2 |
| X-HELO: | mail-wm0-f49.google.com |
| X-Received: | by 10.28.23.206 with SMTP id 197mr1019662wmx.88.1446025559708; Wed, 28 Oct 2015 02:45:59 -0700 (PDT) |
| MIME-Version: | 1.0 |
| Reply-To: | fracting AT gmail DOT com |
| From: | Qian Hong <fracting AT gmail DOT com> |
| Date: | Wed, 28 Oct 2015 17:45:19 +0800 |
| Message-ID: | <CALd+sZS-EbkUMgmRCyJUK0LCMo6zydzB1rbM9iZFrAcnbfHCRQ@mail.gmail.com> |
| Subject: | Randomly hang when compiling Cygwin on Cygwin on Wine |
| To: | cygwin <cygwin AT cygwin DOT com> |
| X-IsSubscribed: | yes |
| X-MIME-Autoconverted: | from quoted-printable to 8bit by delorie.com id t9S9kLFx005634 |
Dear folks,
I try to compile Cygwin on Cygwin on Wine in a loop, and found a
random hang. Usually, it happens more than 1/10.
The hang could happen in different processes, including `sh.exe`,
`gcc.exe`, `as.exe`, etc, but the backtraces are all similar.
Here is one example I get now:
(1) `pstree -p -l` suggest the hanging process might has PID 113:
?(1)─┬─bash(58)───make(93)───sh(89)───make(69)───sh(74)───sh(61)───make(9)───make(44)───sh(129)───sh(145)───make(94)───sh(130)───sh(104)───make(151)───sh(113)
└─mintty(91)───bash(102)───pstree(141)
(2) `cat /proc/113/cmdline` show below information:
/bin/sh -c gcc -L/newlib-cygwin-all/newlib-cygwin-build/i686-pc-cygwin/winsup/cygwin
-isystem /newlib-cygwin-all/newlib-cygwin/winsup/cygwin/include
-B/newlib-cygwin-all/newlib-cygwin-build/i686-pc-cygwin/newlib/
-isystem /newlib-cygwin-all/newlib-cygwin-build/i686-pc-cygwin/newlib/targ-include
-isystem /newlib-cygwin-all/newlib-cygwin/newlib/libc/include
-I/newlib-cygwin-all/newlib-cygwin/winsup/cygwin/include
-DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
-DPACKAGE_VERSION=\"2.2.0\" -DPACKAGE_STRING=\"newlib\ 2.2.0\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I.
-I/newlib-cygwin-all/newlib-cygwin/newlib/libc/xdr -DHAVE_OPENDIR
-DHAVE_RENAME -DSIGNAL_PROVIDED -D_COMPILING_NEWLIB -DHAVE_BLKSIZE
-DHAVE_FCNTL -DMALLOC_PROVIDED -fno-builtin -g -O2 -c -o
lib_a-xdr_float.o `test -f 'xdr_float.c' || echo
'/newlib-cygwin-all/newlib-cygwin/newlib/libc/xdr/'`xdr_float.c
(3) I cd to the build target directory and list all files:
/newlib-cygwin-all/newlib-cygwin-build/i686-pc-cygwin/newlib/libc/xdr$ ls
lib_a-dummy.o lib_a-xdr.o lib_a-xdr_private.o Makefile
The above list result suggest that the build target
"lib_a-xdr_float.o" hasn't been generated, which suggested that the
`gcc` process in the above command hasn't run.
(4) Then I check the file descriptors opened by process 113:
$ file /proc/113/fd/*
/proc/113/fd/0: broken symbolic link to /dev/cons0
/proc/113/fd/1: broken symbolic link to /dev/cons0
/proc/113/fd/2: broken symbolic link to /dev/cons0
/proc/113/fd/3: symbolic link to pipe:[296]
(5) I use gdb to attach to the process 113:
[New Thread 64.0x3c]
[New Thread 64.0x4c]
[New Thread 64.0x51]
Reading symbols from /usr/bin/sh.exe...Reading symbols from
/usr/lib/debug//usr/bin/sh.exe.dbg...done.
done.
0xb77a0be6 in ?? ()
(gdb) bt
#0 0xb77a0be6 in __kernel_vsyscall+0xe in [vdso].so
#1 0x7bc82ea5 in server_select+0x315
[/home/fracting/src/wine-patched-auto/dlls/ntdll/server.c:642] in
ntdll
#2 0x7bc8ade9 in wait_objects+0x89
[/home/fracting/src/wine-patched-auto/dlls/ntdll/sync.c:1034] in ntdll
#3 0x7bc8d5e9 in __syscall_NtWaitForMultipleObjects+0x29
[/home/fracting/src/wine-patched-auto/dlls/ntdll/sync.c:1047] in ntdll
#4 0x7b87bbe5 in WaitForMultipleObjectsEx+0x1b5
[/home/fracting/src/wine-patched-auto/dlls/kernel32/sync.c:186] in
kernel32
#5 0x7b87ba21 in WaitForMultipleObjects+0x31
[/home/fracting/src/wine-patched-auto/dlls/kernel32/sync.c:146] in
kernel32
#6 0x61006354 in cygwait(void*, _LARGE_INTEGER*, unsigned int)@12
(object=<optimized out>, timeout=0x7bc4861c, mask=2076474397)
at /usr/src/debug/cygwin-2.2.1-1/winsup/cygwin/cygwait.cc:76
#7 0x6130a188 in ?? () from /usr/bin/cygwin1.dll
#8 0x00000000 in ?? ()
(gdb) thread 2
[Switching to thread 2 (Thread 64.0x4c)]
#0 0xb77a0be6 in ?? ()
(gdb) bt
#0 0xb77a0be6 in __kernel_vsyscall+0xe in [vdso].so
#1 0x7bc4aadc in __syscall_NtReadFile+0x41c
[/media/workspace/src/wine-patched-auto/dlls/ntdll/file.c:1104] in
ntdll
#2 0x7b83f63d in ReadFile+0x1c6
[/home/fracting/src/wine-patched-auto/dlls/kernel32/file.c:448] in
kernel32
#3 0x610efbae in wait_sig () at
/usr/src/debug/cygwin-2.2.1-1/winsup/cygwin/sigproc.cc:1252
#4 0x611b6c40 in cygthread::main_thread_id () from /usr/bin/cygwin1.dll
(gdb) thread 3
[Switching to thread 3 (Thread 64.0x51)]
#0 0xb77a0be6 in ?? ()
(gdb) bt
#0 0xb77a0be6 in __kernel_vsyscall+0xe in [vdso].so
#1 0x7bc82ea5 in server_select+0x315
[/home/fracting/src/wine-patched-auto/dlls/ntdll/server.c:642] in
ntdll
#2 0x7bc8ade9 in wait_objects+0x89
[/home/fracting/src/wine-patched-auto/dlls/ntdll/sync.c:1034] in ntdll
#3 0x7bc8d5e9 in __syscall_NtWaitForMultipleObjects+0x29
[/home/fracting/src/wine-patched-auto/dlls/ntdll/sync.c:1047] in ntdll
#4 0x7b87bbe5 in WaitForMultipleObjectsEx+0x1b5
[/home/fracting/src/wine-patched-auto/dlls/kernel32/sync.c:186] in
kernel32
#5 0x7b87b9a3 in WaitForSingleObject+0x2e
[/home/fracting/src/wine-patched-auto/dlls/kernel32/sync.c:126] in
kernel32
#6 0x6100548a in cygthread::stub(void*)@4 (arg=0xacce64) at
/usr/src/debug/cygwin-2.2.1-1/winsup/cygwin/cygthread.cc:114
#7 0x61005400 in cygthread::release(bool) () at
/usr/src/debug/cygwin-2.2.1-1/winsup/cygwin/cygthread.cc:292
#8 0x00acce64 in ?? ()
#9 0x00000051 in ?? ()
Here are the version information I have:
$ uname -a
CYGWIN_NT-5.1 2.2.1(0.289/5/3) 2015-08-20 11:40 i686 Cygwin
$ sh --version
GNU bash, version 4.3.42(4)-release (i686-pc-cygwin)
$ wine --version
wine-1.7.53-859-g6ec39dd (Staging)
This bug also happens with latest git version of Cygwin.
It might be either Wine bug or Cygwin bug, but currently I can't go
further, since:
- I can't reproduce this bug with strace.exe
- I also can't reproduce this bug with Wine's relay debug trace, which
records system API calls.
Could you suggest any hints where should I look deeper?
Thanks!
--
Regards,
Qian Hong
-
http://www.winehq.org
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |