Subject: bug#22526: 25.0.90; Crash starting gnus

From: Eli Zaretskii <[email-masked]>
Date: Sun, 14 Feb 2016 18:57:54 +0200

> From: Fabrice Popineau <[email-masked]>
> Date: Sun, 14 Feb 2016 10:05:12 +0100
> Cc: [email-masked], [email-masked]
> 
>  Btw, what exactly is the difference between memInfo.BaseAddress and
>  memInfo.AllocationBase? The MSDN documentation describes both using
>  the same words in different order, so it's hard to understand.
> 
> Same question here.
> Re-reading the documentation, I would understand it as :
> - BaseAddress is the adress that we passed to VirtualQuery, rounded down to the beginning of the page
> - AllocationBase is the start of the bloc of pages that we have committed previously.
> So we should use AllocationBase.

Right.  Although running under a debugger seems to indicate that they
are always the same, somehow.

> Another thing I wonder: could pages be in a state MEM_RESERVE | MEM_COMMIT?
> I hope not.

No, these 2 states are mutually exclusive, according to my reading of
the documentation.

>  > > The error codes from VirtualAlloc() here are crucial.
>  >
>  > The error is ERROR_INVALID_PARAMETER (87), as Andy just reported.
>  >
>  > Weird. There is a good chance that *var is wrong and you are right.
> 
>  Maybe. I'd actually expect ERROR_INVALID_ADDRESS in that case, but
>  this is not explicitly documented anywhere.
> 
> 
> Something I refer to when I need to understand the inner workings of the win32 API is the source code for
> ReactOS:
> http://doxygen.reactos.org/d2/d2c/virtual_8c_a39ad5f8f1a5214f4874171695ab2bd6b.html#a39ad5f8f1a5214f4874171695ab2bd6b
> 
> (for example).
> Not ideal, and it doesn't mean the MS thing works the same way, but at least it allows to understand some
> things.

Yes.  There's also WINE.