X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.8 required=5.0 tests=AWL,BAYES_00,DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED,SPF_HELO_PASS,T_RP_MATCHES_RCVD,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Oleksandr Gavenko Subject: GNU Make and command utility error with 100% cpu load. Date: Mon, 08 Nov 2010 22:50:04 +0200 Lines: 92 Message-ID: <4CD8627C.50906@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Consider such simple Makefile: var := $(shell command -v mv) all: When I call: $ make clean I got output like ======================================== 5 [main] make 768! _pinfo::dup_proc_pipe: DuplicateHandle failed, pid 768, hProcess 0x6B5, wr_proc_pipe 0x750, Win32 error 6 ======================================== and 100% cpu load by ntvdm.exe. Further info: $ which command which: no command in (/usr/sbin..... $ uname -a CYGWIN_NT-5.1 rocky1 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 Cygwin From procexp call graph view: make.exe 3928 pid +-> make.exe 4092 pid +-> ntvdm.exe 2856 pid make:3928 threads: TID cpu% CSitch delta Start address 460 make.exe+0x1000 3000 cygwin1.dll!setprogname+0x2610 1728 cygwin1.dll!setprogname+0x2610 make:4092 threads: TID cpu% CSitch delta Start address 1772 make.exe+0x1000 3364 cygwin1.dll!setprogname+0x2610 ntvdm.exe:2856 threads: TID cpu% CSitch delta Start address 1456 49 717 ntvdm.exe!lsCdRomFile+0xf8d 624 ntvdm.exe!host_com_close+0x689a 3476 26 ntvdm.exe!setAH+0x466 2976 ntvdm.exe!cmdCheckTemp+0xba5 252 19 ntvdm.exe!cmdCheckTemp+0xadb 632 21 ntvdm.exe!cmdCheckTemp+0xadb 49-50 cpu% because 2 core cpu?? CSitch delta have different value near written by me. Stack of ntvdm.exe!lsCdRomFile+0xf8d thread: ntkrnlpa.exe!KiUnexpectedInterrupt+0x121 ntkrnlpa.exe!ZwYieldExecution+0x1c8e hal.dll+0x2ef2 hal.dll!HalRequestSoftwareInterrupt+0x3c ntkrnlpa.exe!IoBuildPartialMdl+0xed ntkrnlpa.exe!NtReadFile+0x55d ntkrnlpa.exe!KeReleaseInStackQueuedSpinLockFromDpcLevel+0xb74 ntdll.dll!KiFastSystemCallRet ntvdm.exe!demWOWLFNEntry+0x120b ntvdm.exe!getSI+0x4a ntvdm.exe!getCS+0x47 ntvdm.exe!setCL+0xabf ntvdm.exe!setDI+0x17e7 ntvdm.exe!IsCdRomFile+0x1103 kernel32.dll!RegisterWaitForInputIdle+0x49 Stack differ above ntdll.dll!KiFastSystemCallRet in different break. Data from procexp.exe written manually so I can misspell some. Currently I found workarounds: var := $(shell command -v mv || :) or var := $(shell sh -c command -v mv) -- Best regards! -- 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