From: J de Boyne Pollard on 29 Dec 2009 03:15 MS> "the Win32 server process is considered a critical system MS> component of Windows NT 3.51, such that if the MS> CSRSS.EXE process faults the entire Windows NT MS> operating system is shutdown." PB> The phrase "is considered" is particularly interesting. It is PB> as if whoever wrote it knows it is more of a considered PB> opinion than a fact. It is, nonetheless, a fact, not an opinion. From Windows NT 5 onwards, the BreakOnTermination flag is set in the EPROCESS structure for that process. In earlier versions, the Session Manager halts the system when it detects that a CSRSS process has died.
From: Grzegorz Wróbel on 29 Dec 2009 06:23 Tim Roberts wrote: > Grzegorz Wr�bel </dev/null(a)localhost.localdomain> wrote: > >> Tim Roberts wrote: >>> Get real. A software problem cannot cause your machine to lock up so hard >>> that even mouse and keyboard stop. >> Get rational. User mode app can lock up mouse and keyboard just by >> starving system processes that manage mouse and keyboard input. On the >> single CPU/core machines it was very common to happen. On the multi core >> machines much less likely to happen "naturally", but still possible. > > No. A user mode app can certainly prevent other user mode apps from > processing mouse and keyboard input, yes, but the mouse pointer keeps > moving, and pressing the caps lock key still toggles the caps lock > indicator. Stopping those requires the "assistance" of kernel code. No. The point is you can lock mouse and keyboard to the point that the mouse cursor stops moving and no other application (including Windows shell) can receive/process mouse and keyboard input. This is known issue, if you have never experienced it as a programmer, you still can read about it in MSDN: http://msdn.microsoft.com/en-us/library/ms685100(VS.85).aspx You can of course argue this is still "kernel code" that freezes the box, but such argumentation doesn't have much sense since this code is executed directly by user mode API calls. This is the sample test code I once wrote to effectively freeze the single CPU/core Windows box for 30 seconds (on post XP system you'll need to run it elevated otherwise SetPriorityClass() will fail): //lockme.cpp # include <windows.h> # include <math.h> int main() { int i,j,k; double a,b,c; ULARGE_INTEGER start,current; SYSTEMTIME st; FILETIME ft; SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_TIME_CRITICAL); GetSystemTime(&st); SystemTimeToFileTime(&st,&ft); memcpy(&start,&ft,sizeof(ft)); for(;;){ //lets do some heavy computation; c = 0.9; a = sin(c); b = cos(c); c = log(pow(a,b)+c); k = int(c)+5; j = 4*k*k*k + 2*k*k + k + 1; GetSystemTime(&st); SystemTimeToFileTime(&st,&ft); memcpy(¤t,&ft,sizeof(ft)); if(current.QuadPart-start.QuadPart>300000000) // release the lock after 30 seconds break; } return 0; } The above code simply sets its base priority to 31 and then occupy CPU. Haven't tried it on multicore box, but presumably if you run it from elevated console n times (when n is number of the CPU cores) you should freeze the box too. Unless OS tries to reserve one core for itself (unlikely). -- Grzegorz Wr�bel 677265676F727940346E6575726F6E732E636F6D
From: Paul Baker [MVP, Windows Desktop Experience] on 29 Dec 2009 09:32 There was a day where Windows would lock up in this manner, not to mention crash in many different spectacular ways, and commonly. I think it became a kneejerk reaction to any frustrating Windows crash for someone to say "Windows crashes like that all the time... you should use *X instead". While this may have been justifiable at that time (though simplistic unecessary bashing IMO), those days are long gone. I too do not recall a single instance of a system wide crash for several years, and before that several more years. Paul "Liviu" <lab2k1(a)gmail.c0m> wrote in message news:%23m1aC6FiKHA.1540(a)TK2MSFTNGP06.phx.gbl... > "tanix" <tanix(a)mongo.net> wrote... >> In article <ObYOMm$hKHA.5020(a)TK2MSFTNGP02.phx.gbl>, "Liviu" >> <lab2k1(a)gmail.c0m> wrote: >>>"Tim Roberts" <timr(a)probo.com> wrote... >>> >>>> The likely issues are [...] (2) graphics driver problem, >> >> I doubt, but who knows. Just the fact that nothing else causes >> this kind of lockup does not mean it is certainly not a graphics >> driver, although I have my doubts. > > As I said, one step to check that theory would be to run the stock > SVGA driver and try to duplicate the problem. > > In addition to Tim's shortlist of suspects, I'd also suggest > (4) overclocking and (5) overloading the power supply. > >> To me, these kinds of lockups are so common that to call windows >> a fully multitasking OS is not only a joke. It is pathetic. > > To me, those kind of lockups are virtually absent. Can't honestly > remember the last time I had to use the hard reset button. YMMV and > apparently does. Yet, that doesn't automatically make it OS's fault. > > Liviu > > >
From: tanix on 29 Dec 2009 12:56 In article <hhcoup$8am$1(a)atlantis.news.neostrada.pl>, =?ISO-8859-1?Q?Grzegorz_Wr=F3bel?= </dev/null(a)localhost.localdomain> wrote: >Tim Roberts wrote: >> Grzegorz Wr�bel </dev/null(a)localhost.localdomain> wrote: >> >>> Tim Roberts wrote: >>>> Get real. A software problem cannot cause your machine to lock up so hard >>>> that even mouse and keyboard stop. >>> Get rational. User mode app can lock up mouse and keyboard just by >>> starving system processes that manage mouse and keyboard input. On the >>> single CPU/core machines it was very common to happen. On the multi core >>> machines much less likely to happen "naturally", but still possible. >> >> No. A user mode app can certainly prevent other user mode apps from >> processing mouse and keyboard input, yes, but the mouse pointer keeps >> moving, and pressing the caps lock key still toggles the caps lock >> indicator. Stopping those requires the "assistance" of kernel code. > >No. The point is you can lock mouse and keyboard to the point that the >mouse cursor stops moving and no other application (including Windows >shell) can receive/process mouse and keyboard input. ONLY in not truly multitasking OS. >This is known issue, if you have never experienced it as a programmer, >you still can read about it in MSDN: >http://msdn.microsoft.com/en-us/library/ms685100(VS.85).aspx You can read all you want. Enough of this. >You can of course argue this is still "kernel code" that freezes the >box, but such argumentation doesn't have much sense since this code is >executed directly by user mode API calls. > > >This is the sample test code I once wrote to effectively freeze the >single CPU/core Windows box for 30 seconds (on post XP system you'll >need to run it elevated otherwise SetPriorityClass() will fail): > >//lockme.cpp > ># include <windows.h> ># include <math.h> > >int main() >{ > int i,j,k; > double a,b,c; > ULARGE_INTEGER start,current; > SYSTEMTIME st; > FILETIME ft; > > SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS); > SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_TIME_CRITICAL); > > GetSystemTime(&st); > SystemTimeToFileTime(&st,&ft); > memcpy(&start,&ft,sizeof(ft)); > > for(;;){ //lets do some heavy computation; > c = 0.9; > a = sin(c); > b = cos(c); > c = log(pow(a,b)+c); > k = int(c)+5; > j = 4*k*k*k + 2*k*k + k + 1; > > GetSystemTime(&st); > SystemTimeToFileTime(&st,&ft); > memcpy(¤t,&ft,sizeof(ft)); > if(current.QuadPart-start.QuadPart>300000000) // release the > lock >after 30 seconds > break; > } > > return 0; >} > > >The above code simply sets its base priority to 31 and then occupy CPU. > >Haven't tried it on multicore box, but presumably if you run it from >elevated console n times (when n is number of the CPU cores) you should >freeze the box too. Unless OS tries to reserve one core for itself >(unlikely). > > -- Programmer's Goldmine collections: http://preciseinfo.org Tens of thousands of code examples and expert discussions on C++, MFC, VC, ATL, STL, templates, Java, Python, Javascript, organized by major topics of language, tools, methods, techniques.
From: tanix on 29 Dec 2009 12:59
In article <#EdyJPJiKHA.6096(a)TK2MSFTNGP02.phx.gbl>, "Paul Baker [MVP, Windows Desktop Experience]" <paulrichardbaker(a)community.nospam> wrote: >There was a day where Windows would lock up in this manner, not to mention >crash in many different spectacular ways, and commonly. I think it became a >kneejerk reaction to any frustrating Windows crash for someone to say >"Windows crashes like that all the time... you should use *X instead". While >this may have been justifiable at that time (though simplistic unecessary >bashing IMO), those days are long gone. :--} Is this some kind of a joke? What do you think I am seeing here? Some woodoo magic? And I tell you, I am seeing a KERNEL screwing up to the point beyond belief, which is represented by loosing control of the highest priority device, a mouse, that is ran by the kernel, and nothing less. I really do not understand the purpose of all this gibberish. >I too do not recall a single instance of a system wide crash for several >years, and before that several more years. > >Paul > >"Liviu" <lab2k1(a)gmail.c0m> wrote in message >news:%23m1aC6FiKHA.1540(a)TK2MSFTNGP06.phx.gbl... >> "tanix" <tanix(a)mongo.net> wrote... >>> In article <ObYOMm$hKHA.5020(a)TK2MSFTNGP02.phx.gbl>, "Liviu" >>> <lab2k1(a)gmail.c0m> wrote: >>>>"Tim Roberts" <timr(a)probo.com> wrote... >>>> >>>>> The likely issues are [...] (2) graphics driver problem, >>> >>> I doubt, but who knows. Just the fact that nothing else causes >>> this kind of lockup does not mean it is certainly not a graphics >>> driver, although I have my doubts. >> >> As I said, one step to check that theory would be to run the stock >> SVGA driver and try to duplicate the problem. >> >> In addition to Tim's shortlist of suspects, I'd also suggest >> (4) overclocking and (5) overloading the power supply. >> >>> To me, these kinds of lockups are so common that to call windows >>> a fully multitasking OS is not only a joke. It is pathetic. >> >> To me, those kind of lockups are virtually absent. Can't honestly >> remember the last time I had to use the hard reset button. YMMV and >> apparently does. Yet, that doesn't automatically make it OS's fault. >> >> Liviu >> >> >> > > -- Programmer's Goldmine collections: http://preciseinfo.org Tens of thousands of code examples and expert discussions on C++, MFC, VC, ATL, STL, templates, Java, Python, Javascript, organized by major topics of language, tools, methods, techniques. |