Subject: bug#22526: 25.0.90; Crash starting gnus

From: Andy Moreton <[email-masked]>
Date: Sun, 14 Feb 2016 14:17:19 +0000

On Sun 14 Feb 2016, Eli Zaretskii wrote:

>> Date: Sun, 14 Feb 2016 00:11:58 +0200
>> From: Eli Zaretskii <[email-masked]>
>> Cc: [email-masked], [email-masked]
>> 
>> > From: Fabrice Popineau <[email-masked]>
>> > Date: Sat, 13 Feb 2016 22:35:57 +0100
>> > Cc: [email-masked], [email-masked]
>> > 
>> > I think we need the DebPrint() trace of the problem to conclude.
>> 
>> I think the patch I propose below will help in that.
>
> Fabrice didn't like my goto, so here's a version without that:

For some reason "git apply" did not like this patch, so I had to apply
it by hand (on top of commit cc6d9064905). Running that under gdb and
opening a group in gnus showed:

warning: realloc enlarge: VirtualAlloc (00000000001f0000 + 10000, 807) error 87

Emacs kept working normally at this point, so the latest patch improves things.

Looking at the running emacs with vmmap (a Microsoft Sysinternals tool),
I see that the region it was trying to expand the block into was already
occupied:

Address            Type          Size   Committed  Private  Blocks  Protection  Details
00000000001F0000   Private Data  4      4          4        1       Read/Write
  00000000001F0000 Private Data  4      4          4                Read/Write
0000000000200000   Private Data  2,048  44         44       9       Read/Write  Thread Environment Block ID: 1112
  0000000000200000 Private Data  1,008                              Reserved    Thread Environment Block ID: 1112
  00000000002FC000 Private Data  12     12         12               Read/Write  Thread Environment Block ID: 1112
  00000000002FF000 Private Data  24                                 Reserved    Thread Environment Block ID: 1112
  0000000000305000 Private Data  16     16         16               Read/Write  Thread Environment Block ID: 1112
  0000000000309000 Private Data  88                                 Reserved    Thread Environment Block ID: 1112
  000000000031F000 Private Data  8      8          8                Read/Write  Thread Environment Block ID: 1112
  0000000000321000 Private Data  24                                 Reserved    Thread Environment Block ID: 1112
  0000000000327000 Private Data  8      8          8                Read/Write  Thread Environment Block ID: 1112
  0000000000329000 Private Data  860                                Reserved    Thread Environment Block ID: 1112