|
|
|||||||
Le message ci-dessus, ainsi que les documents l'accompagnant, sont destinés uniquement aux personnes identifiées et peuvent contenir des informations privilégiées, confidentielles ou ne pouvant être divulguées. Si vous avez reçu ce message par erreur, veuillez le détruire.This communication (and/or the attachments) is intended for named recipients only and may contain privileged or confidential information which is not to be disclosed. If you received this communication by mistake please destroy all copies. |
||||||||
On Feb 19, 2023, at 12:06 AM, Jason McKesson via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
---------- Forwarded message ---------
From: Jason McKesson <jmckesson@gmail.com>
Date: Sun, Feb 19, 2023 at 12:05 AM
Subject: Re: [std-proposals] set_new_handler extension
To: Phil Bouchard <boost@fornux.com>
On Sat, Feb 18, 2023 at 11:39 PM Phil Bouchard <boost@fornux.com> wrote:On 2/17/23 12:07, Jason McKesson via Std-Proposals wrote:You realize that this proves precisely nothing, right? The source ofthe bug could still be in your code. Switching memory allocators meansswitching where the heap tracking stuff is (and a GPU allocatorprobably puts heap tracking in your CPU's memory rather than GPUmemory of which there is far less). So a wild-write which on oneallocator hits heap tracking data, would very likely miss heaptracking data on a different allocator. It would hit something else,something that your program is able to tolerate better.Alright I forgot my laptop is dual-boot with Windows 8.1. So I compiledthe application attached using clang++ version 8.0 under Windows andclang++ version 10.0 under Linux on the *same* laptop of 16 GB of memory.On Windows, it crashes before printing anything.On Linux, it works perfectly fine and outputs:int main(): allocating maximum: 65536 kilobytes.void test(int): 1void test(int): 2void test(int): 4void test(int): 8void test(int): 16void test(int): 32void test(int): 64void test(int): 128int main(): done.So case closed, I proved my point. The only hope left is to amend the C++ standards.
To amend it to do... what? Fix your *stack overflow*? Because that's
what the Visual Studio debugger told me happened when you stuck a 2MB
array on the stack.
Once I took out your massive stack allocation... it ran fine.
But you are right. The case of Phil Brouchard v Bias against Microsoft
has been closed. You are guilty.