GNU Make and command utility error with 100% cpu load.
Oleksandr Gavenko
gavenkoa@gmail.com
Mon Nov 8 20:50:00 GMT 2010
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
More information about the Cygwin
mailing list