July 21

On Friday, 19 July 2024 at 22:49:23 UTC, mw wrote:

>

https://twitter.com/Perpetualmaniac/status/1814376668095754753?t=fAIwQeQpf0HJ9uh-gxqE9Q&s=19

Crowdstrike Analysis:

It was a NULL pointer from the memory unsafe C++ language.

Since I am a professional C++ programmer, let me decode this stack trace dump for you.

....

another analysis with some critique of initial twit:
https://x.com/taviso/status/1814762302337654829

July 21

On Sunday, 21 July 2024 at 18:00:12 UTC, Sergey wrote:

>

another analysis with some critique of initial twit:
https://x.com/taviso/status/1814762302337654829

And like I wrote yesterday in a reply to this tweet, it's strange he is a c++ professional...

https://x.com/twittatore/status/1814781397435097352

Andrea

July 22
On Sunday, 21 July 2024 at 17:45:26 UTC, Richard (Rikki) Andrew Cattermole wrote:
> On 22/07/2024 5:42 AM, aberba wrote:
>> On Sunday, 21 July 2024 at 17:39:23 UTC, Richard (Rikki) Andrew Cattermole wrote:
>>> [...]
>> 
>> @live?
>
> Within a function body that provides spatial memory lifetime guarantees.
>
> That is the easy part, its inter-function which is the hard part and it does not attempt to solve that.
>
> I.e. storing a pointer into some objects and knowing that you have the only access to it, and if you extract it you have the only value of it.

Why isn't that the goal instead of just what @live is proposing?
July 22

On Friday, 19 July 2024 at 22:49:23 UTC, mw wrote:

>

https://twitter.com/Perpetualmaniac/status/1814376668095754753?t=fAIwQeQpf0HJ9uh-gxqE9Q&s=19

Crowdstrike Analysis:

It was a NULL pointer from the memory unsafe C++ language.

Would be match better if it was an unchecked Rust’s Result. It’s not crashing, it’s falling in style!

July 22
On 7/21/2024 10:39 AM, Richard (Rikki) Andrew Cattermole wrote:
> Unfortunately you cannot rely on using things like signal handlers to throw an exception, as you may not own the thread let alone the process to have one.
> 
> Asserts/boundchecks/null deref these things cannot bring down the process.
> 
> This includes for web services too.
> 
> Imagine trying to explain to somebody that they lost 100k in sales because the web server they were connected to segfaulted out because it was written in D and not in an application VM language like Java. It would go down very well!

D is a systems programming language, and you can write hardware exception signal handlers in it.
July 23
On 23/07/2024 4:42 AM, Walter Bright wrote:
> On 7/21/2024 10:39 AM, Richard (Rikki) Andrew Cattermole wrote:
>> Unfortunately you cannot rely on using things like signal handlers to throw an exception, as you may not own the thread let alone the process to have one.
>>
>> Asserts/boundchecks/null deref these things cannot bring down the process.
>>
>> This includes for web services too.
>>
>> Imagine trying to explain to somebody that they lost 100k in sales because the web server they were connected to segfaulted out because it was written in D and not in an application VM language like Java. It would go down very well!
> 
> D is a systems programming language, and you can write hardware exception signal handlers in it.

Indeed you can!

If you own the process, and own the thread.

If you do not own both, you cannot do this, which happens to be the scenario I am talking about.
July 23
On 22/07/2024 7:15 PM, aberba wrote:
> On Sunday, 21 July 2024 at 17:45:26 UTC, Richard (Rikki) Andrew Cattermole wrote:
>> On 22/07/2024 5:42 AM, aberba wrote:
>>> On Sunday, 21 July 2024 at 17:39:23 UTC, Richard (Rikki) Andrew Cattermole wrote:
>>>> [...]
>>>
>>> @live?
>>
>> Within a function body that provides spatial memory lifetime guarantees.
>>
>> That is the easy part, its inter-function which is the hard part and it does not attempt to solve that.
>>
>> I.e. storing a pointer into some objects and knowing that you have the only access to it, and if you extract it you have the only value of it.
> 
> Why isn't that the goal instead of just what @live is proposing?

We have tried to explain this to Walter, many times.

He hasn't understood it for whatever reason.
July 23

On Friday, 19 July 2024 at 22:49:23 UTC, mw wrote:

>

https://twitter.com/Perpetualmaniac/status/1814376668095754753?t=fAIwQeQpf0HJ9uh-gxqE9Q&s=19

Crowdstrike Analysis:

It was a NULL pointer from the memory unsafe C++ language.

I heard the cause was corrupted configuration files. What a safe program should do in this case? On error resume next?

July 23

On Tuesday, 23 July 2024 at 08:36:56 UTC, Kagamin wrote:

>

On Friday, 19 July 2024 at 22:49:23 UTC, mw wrote:

>

https://twitter.com/Perpetualmaniac/status/1814376668095754753?t=fAIwQeQpf0HJ9uh-gxqE9Q&s=19

Crowdstrike Analysis:

It was a NULL pointer from the memory unsafe C++ language.

I heard the cause was corrupted configuration files. What a safe program should do in this case? On error resume next?

What about sanitise the input while ingesting it? What about reading Perrow's "Normal Accident"?

The failure is not technical, actually it's worst, it's a company cultural failure.

And, btw, for who dislike macOS (I've ready hilarious comments in these days around)
https://eclecticlight.co/2024/07/22/could-our-macs-be-crowdstruck/

/P

July 23

On Saturday, 20 July 2024 at 12:57:10 UTC, ryuukk_ wrote:

>

On Saturday, 20 July 2024 at 05:58:19 UTC, Richard (Rikki) Andrew Cattermole wrote:

>

We either get the DFA I'm building, something like it or we're toast in commercial usage.

What is DFA?

I always read “deterministic finite automaton.” (I hate acronyms on the forums.)