Has anyone ever seen processes/threads locked up in WAITPAGE mode? We saw this, this morning with both an application and the eide driver. It seemed to be a one time glitch as it didn’t repeat. I think the WAITPAGE mode in this case means the program is waiting for the stack to be allocated, but I’m not sure.
means the program is waiting for the stack to be allocated
That is correct. Stacks are allocated with MAP_LAZY by the loader so if you allocate a huge variable on the stack, it will trigger page fault to allocate physical RAM - during which the state is WAITPAGE. This saves physical ram since most programs don’t use all the virtual memory space allocated to the stack.
it seemed to be a one time glitch as it didn’t repeat.
You would have to restart the process for it to recur.
Thanks Dennis. I guess I wasn’t clear about one thing. The processes (1 application, 2 eide driver) were stuck in this state. Repeating meant rebooting the system and looking for the same behavior, which did not occur.
I would think this indicated a serious error going on in the OS, which may have been caused by a one time memory glitch. You can’t think of any normal reason why this would occur, can you?
The SP1 Release Notes mention something about WAITPAGE, but it’s not exactly your case. But I would recommend you applying the suggested workaround: Disable lazy page faulting by specifying the -mL option to procnto. I’ve never seen the advantage of lazy page faulting anyway - it only is useful when you are using up your memory.