Subject: Re: 100% CPU Usage when starting Win32 process through cron
From: Sudheer Tumuluru <[email-masked]>
To: [email-masked]
Date: Fri, 14 Mar 2003 14:40:55 -0800

Hi Igor,
        I added tty to the CYGWIN env. var. and rebooted and re-tried the
application from cron, and still the same problem. I also looked at all the DLLs
being loaded for this application and did chmod a+x on all of them. I tried setting
the "Allow service to interact with desktop" flag from the NT Services Applet and
retrying. None of these changed the behavior in any way. I attached to the process
from gdb in each of these cases and here's the trace it shows the following. BTW, I
searched the cygwin archives for a similar ntdll problem and found the following
recent link: http://sources.redhat.com/ml/cygwin/2003-03/msg00675.html

GNU gdb 2003-03-03-cvs (cygwin-special)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...(no debugging symbols found)...
(gdb) attach 3548
Attaching to program `/cygdrive/g/dev/rbn_launcher/src/EncCtl/Release/EncCtl.exe',
process 3548
[Switching to thread 3548.0xe4c]
(gdb) where
#0  0x77f767ce in ntdll!DbgUiConnectToDbg () from
/cygdrive/g/WINDOWS/System32/ntdll.dll
#1  0x77f7285c in ntdll!KiUserCallbackDispatcher () from
/cygdrive/g/WINDOWS/System32/ntdll.dll
(gdb) info threads
* 14 thread 3548.0xe4c  0x77f767ce in ntdll!DbgUiConnectToDbg () from
/cygdrive/g/WINDOWS/System32/ntdll.dll
0x7ffe0304 in ??  13 thread 3548.0xce0   ()
0x00431b1e in ??  12 thread 3548.0xe2c   ()

     11 thread 3548.0xdfc  0x7ffe0304 in ?? ()
0x7ffe0304 in ??  10 thread 3548.0xcdc   ()
0x7ffe0304 in ??  9 thread 3548.0xe04   ()

     8 thread 3548.0xe08  0x7ffe0304 in ?? ()
0x7ffe0304 in ??  7 thread 3548.0xde8   ()
0x7ffe0304 in ??  6 thread 3548.0xdb0   ()

     5 thread 3548.0xdec  0x7ffe0304 in ?? ()
0x7ffe0304 in ??  4 thread 3548.0xe10   ()
0x7ffe0304 in ??  3 thread 3548.0xdd8   ()

     2 thread 3548.0x4a0  0x7ffe0304 in ?? ()
0x7ffe0304 in ??  1 thread 3548.0xde0   ()
(gdb) detach
Detaching from program: /cygdrive/g/dev/rbn_launcher/src/EncCtl/Release/EncCtl.exe,
Pid 3548
(gdb) quit

Igor Pechtchanski wrote:

> Does adding "tty" to your CYGWIN environment variable and rebooting affect
> this?  If not, try attaching to the 100% CPU process with gdb (yes, you
> can attach to Windows processes that way too) or a VC++ debugger, and see
> where it is spending the time...
>         Igor
>
> On Fri, 14 Mar 2003, Sudheer Tumuluru wrote:
>
> > I upgraded my cygwin installation to the latest one but the problem
> > still exists. I still see the process occupying 99% CPU time. One thing
> > that might be worth mentioning is that the WIn32 process is accessing
> > the audio/video card(s) device drivers. The process works fine
> > functionally except for the CPU usage. Here's the latest cygcheck.out
> > file after update (this is on the WinXP single CPU box also exhibiting
> > the same behavior). Any pointers please?
> >
> > Thanks in advance,
> > Sudheer T
> >
> > Thorsten Kampe wrote:
> >
> > > * Sudheer Tumuluru (03-03-12 21:51 +0100)
> > > > Thorsten Kampe wrote:
> > > >> * Sudheer Tumuluru (03-03-12 04:46 +0100)
> > > >>>         I have a Win32 process which runs fine from the cygwin bash or
> > > >>> Windows command prompt. But when I try to put it in a cron job, the
> > > >>> process comes up and freezes the machine.
> > > >>
> > > >> cron version? What "Win32 process"? OS version?
> > > >
> > > > cron version 3.0.1-7. Please excuse me for not sending the
> > > > cygcheck.out earlier. It is attached this time. This is a native
> > > > Win32 application written in C++, compiled using the VC++ compiler.
> > > > It is a console-based application with no GUI component whatsoever.
> > > > Windows OS version: Windows 2000 Professional Dual Proc Machine.
> > > > Identical behavior on Single Proc machine with Windows XP
> > > > Professional.
> > >
> > > Your OS is uptodate and this indicates that it's Cygwin related.
> > >
> > > This is what I noticed:
> > > Your TERM should be 'cygwin' unless you're using rxvt, but it's
> > > 'xterm'.
> > >
> > > You should update your Cygwin installation - at least Cygwin itself
> > > and bash. Best is to update everything.
> > >
> > > >>> Is there some environment setting I am missing that is causing
> > > >>> this problem.
> > > >>
> > > >> So what is your "environment setting"? echo $CYGWIN
> > > >
> > > > echo $CYGWIN gives "ntsec".
> > >
> > > Mine is "binmode codepage:oem glob:ignorecase ntea ntsec smbntsec title tty".
> > > Try this or try at least adding tty.
> > >
> > > Thorsten
>
> --
>                                http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_                [email-masked]
> ZZZzz /,`.-'`'    -.  ;-;;,_            [email-masked]
>      |,4-  ) )-,_. ,\ (  `'-'           Igor Pechtchanski
>     '---''(_/--'  `-'\_) fL     a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
>
> Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk!
>   -- /usr/games/fortune

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/