delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/11/08/15:50:50

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 <gavenkoa AT gmail DOT com>
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
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: <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

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019