I occasionally get "VMProcessPageFault Error: Page Fault occured while in
power handler! Address = 0xxxxxxx"

and it never recovers. It only does it intermittently on a resume after a
suspend operation.

I narrowed it to my xxx_PowerOn routine in one of my drivers.

It doesn't do much in the PowerOn routine...basically a lock, set a member
variable, SetEvent(xx) and a unlock.

Why does this happen and how can I prevent it??

I undrstand you might be able to do some kind of page lock ??? How?

Re: VMProcessPageFault in power handler ?? by Bruce

Bruce
Wed Jul 09 12:43:26 PDT 2008

Is the driver compressed in your bib file? If it is, change that it should
go away.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman

EuroTech Inc.
www.EuroTech.com

"Skin Diver" <me@home.com> wrote in message
news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>
>
> I occasionally get "VMProcessPageFault Error: Page Fault occured while in
> power handler! Address = 0xxxxxxx"
>
> and it never recovers. It only does it intermittently on a resume after a
> suspend operation.
>
> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>
> It doesn't do much in the PowerOn routine...basically a lock, set a member
> variable, SetEvent(xx) and a unlock.
>
> Why does this happen and how can I prevent it??
>
> I undrstand you might be able to do some kind of page lock ??? How?
>
>
>



Re: VMProcessPageFault in power handler ?? by Skin

Skin
Wed Jul 09 14:08:17 PDT 2008

Thanks for the info.

my config.bib has the following ... which seems to be pretty much the
default for all the example BSP's included with PB.

; @CESYSGEN IF !NK_NKNOCOMP

COMPRESSION=ON

; @CESYSGEN ENDIF !NK_NKNOCOMP

; @CESYSGEN IF NK_NKNOCOMP

COMPRESSION=OFF

; @CESYSGEN ENDIF NK_NKNOCOMP



I see the "Compression" catalog item is solid square and has a whole bunch
of dependent items.

I assume the CESYSGEN from above comes from this???



Should I just nix the conditionals and just use:

COMPRESSION=OFF

???

I would think maybe just the "device" process which loads all the"Builtin"
drivers needs to be locked in memory?? or am I out in left field on my
understanding?







"Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...

> Is the driver compressed in your bib file? If it is, change that it
> should go away.
>
> --
> Bruce Eitman (eMVP)
> Senior Engineer
> Bruce.Eitman AT EuroTech DOT com
> My BLOG http://geekswithblogs.net/bruceeitman
>
> EuroTech Inc.
> www.EuroTech.com
>
> "Skin Diver" <me@home.com> wrote in message
> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>>
>>
>> I occasionally get "VMProcessPageFault Error: Page Fault occured while in
>> power handler! Address = 0xxxxxxx"
>>
>> and it never recovers. It only does it intermittently on a resume after a
>> suspend operation.
>>
>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>>
>> It doesn't do much in the PowerOn routine...basically a lock, set a
>> member variable, SetEvent(xx) and a unlock.
>>
>> Why does this happen and how can I prevent it??
>>
>> I undrstand you might be able to do some kind of page lock ??? How?
>>
>>
>>
>
>



Re: VMProcessPageFault in power handler ?? by Bruce

Bruce
Wed Jul 09 14:32:55 PDT 2008

Sorry, I thought that you had been working with Platform Builder long enough
to be familiar with bib files.

I should ask this, are you targeting Windows CE 6.0? I think that you are,
based on the problem.

The driver that is having problems, let's call it MyDriver.dll, must be in
one of your bib files. But let's not worry about that too much right now.
It ends up in ce.bib in your _FLATRELEASEDIR. So look in your ce.bib file
for the the driver, it will look something like:

MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK SHCK

If it does in fact have the C within those last leters after NK, then find
MyDriver in one of your bib files where it will look like:

MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK

Edit the bib file in your FILES folder and remove the C:

MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK

copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if the
problem goes away.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman

EuroTech Inc.
www.EuroTech.com

"Skin Diver" <me@home.com> wrote in message
news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
> Thanks for the info.
>
> my config.bib has the following ... which seems to be pretty much the
> default for all the example BSP's included with PB.
>
> ; @CESYSGEN IF !NK_NKNOCOMP
>
> COMPRESSION=ON
>
> ; @CESYSGEN ENDIF !NK_NKNOCOMP
>
> ; @CESYSGEN IF NK_NKNOCOMP
>
> COMPRESSION=OFF
>
> ; @CESYSGEN ENDIF NK_NKNOCOMP
>
>
>
> I see the "Compression" catalog item is solid square and has a whole bunch
> of dependent items.
>
> I assume the CESYSGEN from above comes from this???
>
>
>
> Should I just nix the conditionals and just use:
>
> COMPRESSION=OFF
>
> ???
>
> I would think maybe just the "device" process which loads all the"Builtin"
> drivers needs to be locked in memory?? or am I out in left field on my
> understanding?
>
>
>
>
>
>
>
> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
> message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
>
>> Is the driver compressed in your bib file? If it is, change that it
>> should go away.
>>
>> --
>> Bruce Eitman (eMVP)
>> Senior Engineer
>> Bruce.Eitman AT EuroTech DOT com
>> My BLOG http://geekswithblogs.net/bruceeitman
>>
>> EuroTech Inc.
>> www.EuroTech.com
>>
>> "Skin Diver" <me@home.com> wrote in message
>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>>>
>>>
>>> I occasionally get "VMProcessPageFault Error: Page Fault occured while
>>> in power handler! Address = 0xxxxxxx"
>>>
>>> and it never recovers. It only does it intermittently on a resume after
>>> a suspend operation.
>>>
>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>>>
>>> It doesn't do much in the PowerOn routine...basically a lock, set a
>>> member variable, SetEvent(xx) and a unlock.
>>>
>>> Why does this happen and how can I prevent it??
>>>
>>> I undrstand you might be able to do some kind of page lock ??? How?
>>>
>>>
>>>
>>
>>
>
>



Re: VMProcessPageFault in power handler ?? by Skin

Skin
Wed Jul 09 15:15:02 PDT 2008

I am familiar with the bib files and all my drivers are tagged NK SHK
including the one in question.



"Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
message news:OxA$Ztg4IHA.1952@TK2MSFTNGP03.phx.gbl...
> Sorry, I thought that you had been working with Platform Builder long
> enough to be familiar with bib files.
>
> I should ask this, are you targeting Windows CE 6.0? I think that you
> are, based on the problem.
>
> The driver that is having problems, let's call it MyDriver.dll, must be in
> one of your bib files. But let's not worry about that too much right now.
> It ends up in ce.bib in your _FLATRELEASEDIR. So look in your ce.bib file
> for the the driver, it will look something like:
>
> MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK SHCK
>
> If it does in fact have the C within those last leters after NK, then find
> MyDriver in one of your bib files where it will look like:
>
> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK
>
> Edit the bib file in your FILES folder and remove the C:
>
> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK
>
> copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if the
> problem goes away.
>
> --
> Bruce Eitman (eMVP)
> Senior Engineer
> Bruce.Eitman AT EuroTech DOT com
> My BLOG http://geekswithblogs.net/bruceeitman
>
> EuroTech Inc.
> www.EuroTech.com
>
> "Skin Diver" <me@home.com> wrote in message
> news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
>> Thanks for the info.
>>
>> my config.bib has the following ... which seems to be pretty much the
>> default for all the example BSP's included with PB.
>>
>> ; @CESYSGEN IF !NK_NKNOCOMP
>>
>> COMPRESSION=ON
>>
>> ; @CESYSGEN ENDIF !NK_NKNOCOMP
>>
>> ; @CESYSGEN IF NK_NKNOCOMP
>>
>> COMPRESSION=OFF
>>
>> ; @CESYSGEN ENDIF NK_NKNOCOMP
>>
>>
>>
>> I see the "Compression" catalog item is solid square and has a whole
>> bunch of dependent items.
>>
>> I assume the CESYSGEN from above comes from this???
>>
>>
>>
>> Should I just nix the conditionals and just use:
>>
>> COMPRESSION=OFF
>>
>> ???
>>
>> I would think maybe just the "device" process which loads all
>> the"Builtin" drivers needs to be locked in memory?? or am I out in left
>> field on my understanding?
>>
>>
>>
>>
>>
>>
>>
>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
>> message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
>>
>>> Is the driver compressed in your bib file? If it is, change that it
>>> should go away.
>>>
>>> --
>>> Bruce Eitman (eMVP)
>>> Senior Engineer
>>> Bruce.Eitman AT EuroTech DOT com
>>> My BLOG http://geekswithblogs.net/bruceeitman
>>>
>>> EuroTech Inc.
>>> www.EuroTech.com
>>>
>>> "Skin Diver" <me@home.com> wrote in message
>>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>>>>
>>>>
>>>> I occasionally get "VMProcessPageFault Error: Page Fault occured while
>>>> in power handler! Address = 0xxxxxxx"
>>>>
>>>> and it never recovers. It only does it intermittently on a resume after
>>>> a suspend operation.
>>>>
>>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>>>>
>>>> It doesn't do much in the PowerOn routine...basically a lock, set a
>>>> member variable, SetEvent(xx) and a unlock.
>>>>
>>>> Why does this happen and how can I prevent it??
>>>>
>>>> I undrstand you might be able to do some kind of page lock ??? How?
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: VMProcessPageFault in power handler ?? by K

K
Wed Jul 09 15:28:56 PDT 2008

Invoking a system APIs in Power Handler might cause this issue as well.
You mentioned there is a lock, what kind of lock do you use? Dose it require
any system APIs?
SetEvent could be another problem here.
Basically there is not much APIs you could use in Power handler except
DEBUGMSG, RETAILMSG, CeSetPowerOnEvent, and SetInterruptEven

"Skin Diver" <me@home.com> wrote in message
news:%23PYW9Eh4IHA.4988@TK2MSFTNGP04.phx.gbl...
>I am familiar with the bib files and all my drivers are tagged NK SHK
>including the one in question.
>
>
>
> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
> message news:OxA$Ztg4IHA.1952@TK2MSFTNGP03.phx.gbl...
>> Sorry, I thought that you had been working with Platform Builder long
>> enough to be familiar with bib files.
>>
>> I should ask this, are you targeting Windows CE 6.0? I think that you
>> are, based on the problem.
>>
>> The driver that is having problems, let's call it MyDriver.dll, must be
>> in one of your bib files. But let's not worry about that too much right
>> now. It ends up in ce.bib in your _FLATRELEASEDIR. So look in your
>> ce.bib file for the the driver, it will look something like:
>>
>> MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK SHCK
>>
>> If it does in fact have the C within those last leters after NK, then
>> find MyDriver in one of your bib files where it will look like:
>>
>> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK
>>
>> Edit the bib file in your FILES folder and remove the C:
>>
>> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK
>>
>> copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if the
>> problem goes away.
>>
>> --
>> Bruce Eitman (eMVP)
>> Senior Engineer
>> Bruce.Eitman AT EuroTech DOT com
>> My BLOG http://geekswithblogs.net/bruceeitman
>>
>> EuroTech Inc.
>> www.EuroTech.com
>>
>> "Skin Diver" <me@home.com> wrote in message
>> news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
>>> Thanks for the info.
>>>
>>> my config.bib has the following ... which seems to be pretty much the
>>> default for all the example BSP's included with PB.
>>>
>>> ; @CESYSGEN IF !NK_NKNOCOMP
>>>
>>> COMPRESSION=ON
>>>
>>> ; @CESYSGEN ENDIF !NK_NKNOCOMP
>>>
>>> ; @CESYSGEN IF NK_NKNOCOMP
>>>
>>> COMPRESSION=OFF
>>>
>>> ; @CESYSGEN ENDIF NK_NKNOCOMP
>>>
>>>
>>>
>>> I see the "Compression" catalog item is solid square and has a whole
>>> bunch of dependent items.
>>>
>>> I assume the CESYSGEN from above comes from this???
>>>
>>>
>>>
>>> Should I just nix the conditionals and just use:
>>>
>>> COMPRESSION=OFF
>>>
>>> ???
>>>
>>> I would think maybe just the "device" process which loads all
>>> the"Builtin" drivers needs to be locked in memory?? or am I out in left
>>> field on my understanding?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
>>> message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
>>>
>>>> Is the driver compressed in your bib file? If it is, change that it
>>>> should go away.
>>>>
>>>> --
>>>> Bruce Eitman (eMVP)
>>>> Senior Engineer
>>>> Bruce.Eitman AT EuroTech DOT com
>>>> My BLOG http://geekswithblogs.net/bruceeitman
>>>>
>>>> EuroTech Inc.
>>>> www.EuroTech.com
>>>>
>>>> "Skin Diver" <me@home.com> wrote in message
>>>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>>>>>
>>>>>
>>>>> I occasionally get "VMProcessPageFault Error: Page Fault occured while
>>>>> in power handler! Address = 0xxxxxxx"
>>>>>
>>>>> and it never recovers. It only does it intermittently on a resume
>>>>> after a suspend operation.
>>>>>
>>>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>>>>>
>>>>> It doesn't do much in the PowerOn routine...basically a lock, set a
>>>>> member variable, SetEvent(xx) and a unlock.
>>>>>
>>>>> Why does this happen and how can I prevent it??
>>>>>
>>>>> I undrstand you might be able to do some kind of page lock ??? How?
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: VMProcessPageFault in power handler ?? by Skin

Skin
Wed Jul 09 19:34:30 PDT 2008

the lock is a basic EnterCriticalSection (which probably is not needed in
this context) and a SetEvent(xx).
which I suspect might be the problem.
I'll try to rewrite and see if the problem goes away.



"K. S. Huang" <k_Underln_s_Underln_huang_AT_yahoo_DOT_com> wrote in message
news:eFhC4Lh4IHA.996@TK2MSFTNGP04.phx.gbl...
> Invoking a system APIs in Power Handler might cause this issue as well.
> You mentioned there is a lock, what kind of lock do you use? Dose it
> require any system APIs?
> SetEvent could be another problem here.
> Basically there is not much APIs you could use in Power handler except
> DEBUGMSG, RETAILMSG, CeSetPowerOnEvent, and SetInterruptEven
>
> "Skin Diver" <me@home.com> wrote in message
> news:%23PYW9Eh4IHA.4988@TK2MSFTNGP04.phx.gbl...
>>I am familiar with the bib files and all my drivers are tagged NK SHK
>>including the one in question.
>>
>>
>>
>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
>> message news:OxA$Ztg4IHA.1952@TK2MSFTNGP03.phx.gbl...
>>> Sorry, I thought that you had been working with Platform Builder long
>>> enough to be familiar with bib files.
>>>
>>> I should ask this, are you targeting Windows CE 6.0? I think that you
>>> are, based on the problem.
>>>
>>> The driver that is having problems, let's call it MyDriver.dll, must be
>>> in one of your bib files. But let's not worry about that too much right
>>> now. It ends up in ce.bib in your _FLATRELEASEDIR. So look in your
>>> ce.bib file for the the driver, it will look something like:
>>>
>>> MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK SHCK
>>>
>>> If it does in fact have the C within those last leters after NK, then
>>> find MyDriver in one of your bib files where it will look like:
>>>
>>> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK
>>>
>>> Edit the bib file in your FILES folder and remove the C:
>>>
>>> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK
>>>
>>> copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if the
>>> problem goes away.
>>>
>>> --
>>> Bruce Eitman (eMVP)
>>> Senior Engineer
>>> Bruce.Eitman AT EuroTech DOT com
>>> My BLOG http://geekswithblogs.net/bruceeitman
>>>
>>> EuroTech Inc.
>>> www.EuroTech.com
>>>
>>> "Skin Diver" <me@home.com> wrote in message
>>> news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
>>>> Thanks for the info.
>>>>
>>>> my config.bib has the following ... which seems to be pretty much the
>>>> default for all the example BSP's included with PB.
>>>>
>>>> ; @CESYSGEN IF !NK_NKNOCOMP
>>>>
>>>> COMPRESSION=ON
>>>>
>>>> ; @CESYSGEN ENDIF !NK_NKNOCOMP
>>>>
>>>> ; @CESYSGEN IF NK_NKNOCOMP
>>>>
>>>> COMPRESSION=OFF
>>>>
>>>> ; @CESYSGEN ENDIF NK_NKNOCOMP
>>>>
>>>>
>>>>
>>>> I see the "Compression" catalog item is solid square and has a whole
>>>> bunch of dependent items.
>>>>
>>>> I assume the CESYSGEN from above comes from this???
>>>>
>>>>
>>>>
>>>> Should I just nix the conditionals and just use:
>>>>
>>>> COMPRESSION=OFF
>>>>
>>>> ???
>>>>
>>>> I would think maybe just the "device" process which loads all
>>>> the"Builtin" drivers needs to be locked in memory?? or am I out in left
>>>> field on my understanding?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote
>>>> in message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
>>>>
>>>>> Is the driver compressed in your bib file? If it is, change that it
>>>>> should go away.
>>>>>
>>>>> --
>>>>> Bruce Eitman (eMVP)
>>>>> Senior Engineer
>>>>> Bruce.Eitman AT EuroTech DOT com
>>>>> My BLOG http://geekswithblogs.net/bruceeitman
>>>>>
>>>>> EuroTech Inc.
>>>>> www.EuroTech.com
>>>>>
>>>>> "Skin Diver" <me@home.com> wrote in message
>>>>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>>>>>>
>>>>>>
>>>>>> I occasionally get "VMProcessPageFault Error: Page Fault occured
>>>>>> while in power handler! Address = 0xxxxxxx"
>>>>>>
>>>>>> and it never recovers. It only does it intermittently on a resume
>>>>>> after a suspend operation.
>>>>>>
>>>>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>>>>>>
>>>>>> It doesn't do much in the PowerOn routine...basically a lock, set a
>>>>>> member variable, SetEvent(xx) and a unlock.
>>>>>>
>>>>>> Why does this happen and how can I prevent it??
>>>>>>
>>>>>> I undrstand you might be able to do some kind of page lock ??? How?
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


Re: VMProcessPageFault in power handler ?? by Dean

Dean
Thu Jul 10 06:03:44 PDT 2008

I don't think this (compression) should ever be a reason for getting a page
fault in a driver. Drivers are loaded with LoadDriver() which keeps them
completely in memory regardless of compression settings. This would only be
an issue if the registry flag is set that causes the device manager to use
LoadLibrary() instead of LoadDriver().

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
message news:OxA$Ztg4IHA.1952@TK2MSFTNGP03.phx.gbl...
> Sorry, I thought that you had been working with Platform Builder long
> enough to be familiar with bib files.
>
> I should ask this, are you targeting Windows CE 6.0? I think that you
> are, based on the problem.
>
> The driver that is having problems, let's call it MyDriver.dll, must be in
> one of your bib files. But let's not worry about that too much right now.
> It ends up in ce.bib in your _FLATRELEASEDIR. So look in your ce.bib file
> for the the driver, it will look something like:
>
> MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK SHCK
>
> If it does in fact have the C within those last leters after NK, then find
> MyDriver in one of your bib files where it will look like:
>
> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK
>
> Edit the bib file in your FILES folder and remove the C:
>
> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK
>
> copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if the
> problem goes away.
>
> --
> Bruce Eitman (eMVP)
> Senior Engineer
> Bruce.Eitman AT EuroTech DOT com
> My BLOG http://geekswithblogs.net/bruceeitman
>
> EuroTech Inc.
> www.EuroTech.com
>
> "Skin Diver" <me@home.com> wrote in message
> news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
>> Thanks for the info.
>>
>> my config.bib has the following ... which seems to be pretty much the
>> default for all the example BSP's included with PB.
>>
>> ; @CESYSGEN IF !NK_NKNOCOMP
>>
>> COMPRESSION=ON
>>
>> ; @CESYSGEN ENDIF !NK_NKNOCOMP
>>
>> ; @CESYSGEN IF NK_NKNOCOMP
>>
>> COMPRESSION=OFF
>>
>> ; @CESYSGEN ENDIF NK_NKNOCOMP
>>
>>
>>
>> I see the "Compression" catalog item is solid square and has a whole
>> bunch of dependent items.
>>
>> I assume the CESYSGEN from above comes from this???
>>
>>
>>
>> Should I just nix the conditionals and just use:
>>
>> COMPRESSION=OFF
>>
>> ???
>>
>> I would think maybe just the "device" process which loads all
>> the"Builtin" drivers needs to be locked in memory?? or am I out in left
>> field on my understanding?
>>
>>
>>
>>
>>
>>
>>
>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
>> message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
>>
>>> Is the driver compressed in your bib file? If it is, change that it
>>> should go away.
>>>
>>> --
>>> Bruce Eitman (eMVP)
>>> Senior Engineer
>>> Bruce.Eitman AT EuroTech DOT com
>>> My BLOG http://geekswithblogs.net/bruceeitman
>>>
>>> EuroTech Inc.
>>> www.EuroTech.com
>>>
>>> "Skin Diver" <me@home.com> wrote in message
>>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>>>>
>>>>
>>>> I occasionally get "VMProcessPageFault Error: Page Fault occured while
>>>> in power handler! Address = 0xxxxxxx"
>>>>
>>>> and it never recovers. It only does it intermittently on a resume after
>>>> a suspend operation.
>>>>
>>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>>>>
>>>> It doesn't do much in the PowerOn routine...basically a lock, set a
>>>> member variable, SetEvent(xx) and a unlock.
>>>>
>>>> Why does this happen and how can I prevent it??
>>>>
>>>> I undrstand you might be able to do some kind of page lock ??? How?
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: VMProcessPageFault in power handler ?? by Bruce

Bruce
Thu Jul 10 06:28:14 PDT 2008

Actually, it is a problem. We were surprised also, but Microsoft was very
clear with us that we shouldn't use the bib file compress flag on drivers.
Removing the C from the bib file resolved the problem.

I assume that you mean the "Flags" value in the registry for the driver,
that was cleared to zero.

Based on Skin Diver's responses though the more likely problem is calling
system APIs in power handler functions, as K.S. points out. We didn't have
that problem.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman

EuroTech Inc.
www.EuroTech.com

"Dean Ramsier" <ramsiernospam@nospam.com> wrote in message
news:eXTGk0o4IHA.1192@TK2MSFTNGP05.phx.gbl...
>I don't think this (compression) should ever be a reason for getting a page
>fault in a driver. Drivers are loaded with LoadDriver() which keeps them
>completely in memory regardless of compression settings. This would only
>be an issue if the registry flag is set that causes the device manager to
>use LoadLibrary() instead of LoadDriver().
>
> --
> Dean Ramsier - eMVP
> BSQUARE Corporation
>
>
> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
> message news:OxA$Ztg4IHA.1952@TK2MSFTNGP03.phx.gbl...
>> Sorry, I thought that you had been working with Platform Builder long
>> enough to be familiar with bib files.
>>
>> I should ask this, are you targeting Windows CE 6.0? I think that you
>> are, based on the problem.
>>
>> The driver that is having problems, let's call it MyDriver.dll, must be
>> in one of your bib files. But let's not worry about that too much right
>> now. It ends up in ce.bib in your _FLATRELEASEDIR. So look in your
>> ce.bib file for the the driver, it will look something like:
>>
>> MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK SHCK
>>
>> If it does in fact have the C within those last leters after NK, then
>> find MyDriver in one of your bib files where it will look like:
>>
>> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK
>>
>> Edit the bib file in your FILES folder and remove the C:
>>
>> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK
>>
>> copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if the
>> problem goes away.
>>
>> --
>> Bruce Eitman (eMVP)
>> Senior Engineer
>> Bruce.Eitman AT EuroTech DOT com
>> My BLOG http://geekswithblogs.net/bruceeitman
>>
>> EuroTech Inc.
>> www.EuroTech.com
>>
>> "Skin Diver" <me@home.com> wrote in message
>> news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
>>> Thanks for the info.
>>>
>>> my config.bib has the following ... which seems to be pretty much the
>>> default for all the example BSP's included with PB.
>>>
>>> ; @CESYSGEN IF !NK_NKNOCOMP
>>>
>>> COMPRESSION=ON
>>>
>>> ; @CESYSGEN ENDIF !NK_NKNOCOMP
>>>
>>> ; @CESYSGEN IF NK_NKNOCOMP
>>>
>>> COMPRESSION=OFF
>>>
>>> ; @CESYSGEN ENDIF NK_NKNOCOMP
>>>
>>>
>>>
>>> I see the "Compression" catalog item is solid square and has a whole
>>> bunch of dependent items.
>>>
>>> I assume the CESYSGEN from above comes from this???
>>>
>>>
>>>
>>> Should I just nix the conditionals and just use:
>>>
>>> COMPRESSION=OFF
>>>
>>> ???
>>>
>>> I would think maybe just the "device" process which loads all
>>> the"Builtin" drivers needs to be locked in memory?? or am I out in left
>>> field on my understanding?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
>>> message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
>>>
>>>> Is the driver compressed in your bib file? If it is, change that it
>>>> should go away.
>>>>
>>>> --
>>>> Bruce Eitman (eMVP)
>>>> Senior Engineer
>>>> Bruce.Eitman AT EuroTech DOT com
>>>> My BLOG http://geekswithblogs.net/bruceeitman
>>>>
>>>> EuroTech Inc.
>>>> www.EuroTech.com
>>>>
>>>> "Skin Diver" <me@home.com> wrote in message
>>>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>>>>>
>>>>>
>>>>> I occasionally get "VMProcessPageFault Error: Page Fault occured while
>>>>> in power handler! Address = 0xxxxxxx"
>>>>>
>>>>> and it never recovers. It only does it intermittently on a resume
>>>>> after a suspend operation.
>>>>>
>>>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>>>>>
>>>>> It doesn't do much in the PowerOn routine...basically a lock, set a
>>>>> member variable, SetEvent(xx) and a unlock.
>>>>>
>>>>> Why does this happen and how can I prevent it??
>>>>>
>>>>> I undrstand you might be able to do some kind of page lock ??? How?
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: VMProcessPageFault in power handler ?? by me

me
Thu Jul 10 10:04:34 PDT 2008

Removing the API calls solved the problem.



"Bruce Eitman [eMVP]" wrote:

> Actually, it is a problem. We were surprised also, but Microsoft was very
> clear with us that we shouldn't use the bib file compress flag on drivers.
> Removing the C from the bib file resolved the problem.
>
> I assume that you mean the "Flags" value in the registry for the driver,
> that was cleared to zero.
>
> Based on Skin Diver's responses though the more likely problem is calling
> system APIs in power handler functions, as K.S. points out. We didn't have
> that problem.
>
> --
> Bruce Eitman (eMVP)
> Senior Engineer
> Bruce.Eitman AT EuroTech DOT com
> My BLOG http://geekswithblogs.net/bruceeitman
>
> EuroTech Inc.
> www.EuroTech.com
>
> "Dean Ramsier" <ramsiernospam@nospam.com> wrote in message
> news:eXTGk0o4IHA.1192@TK2MSFTNGP05.phx.gbl...
> >I don't think this (compression) should ever be a reason for getting a page
> >fault in a driver. Drivers are loaded with LoadDriver() which keeps them
> >completely in memory regardless of compression settings. This would only
> >be an issue if the registry flag is set that causes the device manager to
> >use LoadLibrary() instead of LoadDriver().
> >
> > --
> > Dean Ramsier - eMVP
> > BSQUARE Corporation
> >
> >
> > "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
> > message news:OxA$Ztg4IHA.1952@TK2MSFTNGP03.phx.gbl...
> >> Sorry, I thought that you had been working with Platform Builder long
> >> enough to be familiar with bib files.
> >>
> >> I should ask this, are you targeting Windows CE 6.0? I think that you
> >> are, based on the problem.
> >>
> >> The driver that is having problems, let's call it MyDriver.dll, must be
> >> in one of your bib files. But let's not worry about that too much right
> >> now. It ends up in ce.bib in your _FLATRELEASEDIR. So look in your
> >> ce.bib file for the the driver, it will look something like:
> >>
> >> MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK SHCK
> >>
> >> If it does in fact have the C within those last leters after NK, then
> >> find MyDriver in one of your bib files where it will look like:
> >>
> >> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK
> >>
> >> Edit the bib file in your FILES folder and remove the C:
> >>
> >> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK
> >>
> >> copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if the
> >> problem goes away.
> >>
> >> --
> >> Bruce Eitman (eMVP)
> >> Senior Engineer
> >> Bruce.Eitman AT EuroTech DOT com
> >> My BLOG http://geekswithblogs.net/bruceeitman
> >>
> >> EuroTech Inc.
> >> www.EuroTech.com
> >>
> >> "Skin Diver" <me@home.com> wrote in message
> >> news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
> >>> Thanks for the info.
> >>>
> >>> my config.bib has the following ... which seems to be pretty much the
> >>> default for all the example BSP's included with PB.
> >>>
> >>> ; @CESYSGEN IF !NK_NKNOCOMP
> >>>
> >>> COMPRESSION=ON
> >>>
> >>> ; @CESYSGEN ENDIF !NK_NKNOCOMP
> >>>
> >>> ; @CESYSGEN IF NK_NKNOCOMP
> >>>
> >>> COMPRESSION=OFF
> >>>
> >>> ; @CESYSGEN ENDIF NK_NKNOCOMP
> >>>
> >>>
> >>>
> >>> I see the "Compression" catalog item is solid square and has a whole
> >>> bunch of dependent items.
> >>>
> >>> I assume the CESYSGEN from above comes from this???
> >>>
> >>>
> >>>
> >>> Should I just nix the conditionals and just use:
> >>>
> >>> COMPRESSION=OFF
> >>>
> >>> ???
> >>>
> >>> I would think maybe just the "device" process which loads all
> >>> the"Builtin" drivers needs to be locked in memory?? or am I out in left
> >>> field on my understanding?
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote in
> >>> message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
> >>>
> >>>> Is the driver compressed in your bib file? If it is, change that it
> >>>> should go away.
> >>>>
> >>>> --
> >>>> Bruce Eitman (eMVP)
> >>>> Senior Engineer
> >>>> Bruce.Eitman AT EuroTech DOT com
> >>>> My BLOG http://geekswithblogs.net/bruceeitman
> >>>>
> >>>> EuroTech Inc.
> >>>> www.EuroTech.com
> >>>>
> >>>> "Skin Diver" <me@home.com> wrote in message
> >>>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
> >>>>>
> >>>>>
> >>>>> I occasionally get "VMProcessPageFault Error: Page Fault occured while
> >>>>> in power handler! Address = 0xxxxxxx"
> >>>>>
> >>>>> and it never recovers. It only does it intermittently on a resume
> >>>>> after a suspend operation.
> >>>>>
> >>>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
> >>>>>
> >>>>> It doesn't do much in the PowerOn routine...basically a lock, set a
> >>>>> member variable, SetEvent(xx) and a unlock.
> >>>>>
> >>>>> Why does this happen and how can I prevent it??
> >>>>>
> >>>>> I undrstand you might be able to do some kind of page lock ??? How?
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
>
>
>

Re: VMProcessPageFault in power handler ?? by Bruce

Bruce
Thu Jul 10 11:17:39 PDT 2008

Thanks for letting us know.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman

EuroTech Inc.
www.EuroTech.com

"Skin Diver" <me@home.com> wrote in message
news:67844CB1-FD71-4158-BEE1-5780ECBF53DE@microsoft.com...
> Removing the API calls solved the problem.
>
>
>
> "Bruce Eitman [eMVP]" wrote:
>
>> Actually, it is a problem. We were surprised also, but Microsoft was
>> very
>> clear with us that we shouldn't use the bib file compress flag on
>> drivers.
>> Removing the C from the bib file resolved the problem.
>>
>> I assume that you mean the "Flags" value in the registry for the driver,
>> that was cleared to zero.
>>
>> Based on Skin Diver's responses though the more likely problem is calling
>> system APIs in power handler functions, as K.S. points out. We didn't
>> have
>> that problem.
>>
>> --
>> Bruce Eitman (eMVP)
>> Senior Engineer
>> Bruce.Eitman AT EuroTech DOT com
>> My BLOG http://geekswithblogs.net/bruceeitman
>>
>> EuroTech Inc.
>> www.EuroTech.com
>>
>> "Dean Ramsier" <ramsiernospam@nospam.com> wrote in message
>> news:eXTGk0o4IHA.1192@TK2MSFTNGP05.phx.gbl...
>> >I don't think this (compression) should ever be a reason for getting a
>> >page
>> >fault in a driver. Drivers are loaded with LoadDriver() which keeps
>> >them
>> >completely in memory regardless of compression settings. This would
>> >only
>> >be an issue if the registry flag is set that causes the device manager
>> >to
>> >use LoadLibrary() instead of LoadDriver().
>> >
>> > --
>> > Dean Ramsier - eMVP
>> > BSQUARE Corporation
>> >
>> >
>> > "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote
>> > in
>> > message news:OxA$Ztg4IHA.1952@TK2MSFTNGP03.phx.gbl...
>> >> Sorry, I thought that you had been working with Platform Builder long
>> >> enough to be familiar with bib files.
>> >>
>> >> I should ask this, are you targeting Windows CE 6.0? I think that you
>> >> are, based on the problem.
>> >>
>> >> The driver that is having problems, let's call it MyDriver.dll, must
>> >> be
>> >> in one of your bib files. But let's not worry about that too much
>> >> right
>> >> now. It ends up in ce.bib in your _FLATRELEASEDIR. So look in your
>> >> ce.bib file for the the driver, it will look something like:
>> >>
>> >> MyDriver.dll C:\WINCE600\OSDESIGNS\.....\MyDriver.dll NK
>> >> SHCK
>> >>
>> >> If it does in fact have the C within those last leters after NK, then
>> >> find MyDriver in one of your bib files where it will look like:
>> >>
>> >> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHCK
>> >>
>> >> Edit the bib file in your FILES folder and remove the C:
>> >>
>> >> MyDriver.dll $(_FLATRELEASEDIR)\MyDriver.dll NK SHK
>> >>
>> >> copy the file to your _FLATRELEASEDIR, and run makeimg. Now see if
>> >> the
>> >> problem goes away.
>> >>
>> >> --
>> >> Bruce Eitman (eMVP)
>> >> Senior Engineer
>> >> Bruce.Eitman AT EuroTech DOT com
>> >> My BLOG http://geekswithblogs.net/bruceeitman
>> >>
>> >> EuroTech Inc.
>> >> www.EuroTech.com
>> >>
>> >> "Skin Diver" <me@home.com> wrote in message
>> >> news:eGmVqfg4IHA.4488@TK2MSFTNGP03.phx.gbl...
>> >>> Thanks for the info.
>> >>>
>> >>> my config.bib has the following ... which seems to be pretty much the
>> >>> default for all the example BSP's included with PB.
>> >>>
>> >>> ; @CESYSGEN IF !NK_NKNOCOMP
>> >>>
>> >>> COMPRESSION=ON
>> >>>
>> >>> ; @CESYSGEN ENDIF !NK_NKNOCOMP
>> >>>
>> >>> ; @CESYSGEN IF NK_NKNOCOMP
>> >>>
>> >>> COMPRESSION=OFF
>> >>>
>> >>> ; @CESYSGEN ENDIF NK_NKNOCOMP
>> >>>
>> >>>
>> >>>
>> >>> I see the "Compression" catalog item is solid square and has a whole
>> >>> bunch of dependent items.
>> >>>
>> >>> I assume the CESYSGEN from above comes from this???
>> >>>
>> >>>
>> >>>
>> >>> Should I just nix the conditionals and just use:
>> >>>
>> >>> COMPRESSION=OFF
>> >>>
>> >>> ???
>> >>>
>> >>> I would think maybe just the "device" process which loads all
>> >>> the"Builtin" drivers needs to be locked in memory?? or am I out in
>> >>> left
>> >>> field on my understanding?
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> "Bruce Eitman [eMVP]" <bruce.eitman.nospam@EuroTech.com.nospam> wrote
>> >>> in
>> >>> message news:%23rcENwf4IHA.776@TK2MSFTNGP04.phx.gbl...
>> >>>
>> >>>> Is the driver compressed in your bib file? If it is, change that it
>> >>>> should go away.
>> >>>>
>> >>>> --
>> >>>> Bruce Eitman (eMVP)
>> >>>> Senior Engineer
>> >>>> Bruce.Eitman AT EuroTech DOT com
>> >>>> My BLOG http://geekswithblogs.net/bruceeitman
>> >>>>
>> >>>> EuroTech Inc.
>> >>>> www.EuroTech.com
>> >>>>
>> >>>> "Skin Diver" <me@home.com> wrote in message
>> >>>> news:%23$U01lf4IHA.2060@TK2MSFTNGP02.phx.gbl...
>> >>>>>
>> >>>>>
>> >>>>> I occasionally get "VMProcessPageFault Error: Page Fault occured
>> >>>>> while
>> >>>>> in power handler! Address = 0xxxxxxx"
>> >>>>>
>> >>>>> and it never recovers. It only does it intermittently on a resume
>> >>>>> after a suspend operation.
>> >>>>>
>> >>>>> I narrowed it to my xxx_PowerOn routine in one of my drivers.
>> >>>>>
>> >>>>> It doesn't do much in the PowerOn routine...basically a lock, set a
>> >>>>> member variable, SetEvent(xx) and a unlock.
>> >>>>>
>> >>>>> Why does this happen and how can I prevent it??
>> >>>>>
>> >>>>> I undrstand you might be able to do some kind of page lock ??? How?
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >
>>
>>
>>