• Welcome to the new Internet Infidels Discussion Board, formerly Talk Freethought.

Crowdstrike/Microsoft SNAFU

TSwizzle

Let's Go Brandon!!
Joined
Jan 8, 2015
Messages
8,402
Location
West Hollywood
Gender
Male
Basic Beliefs
Atheist
Well, commerce and services across the globe have been hit by a huge IT cock-up.

Flights cancelled, patients turned away at hospitals, supermarkets unable to process purchases.

BBC

Scary stuff.
 
Well, commerce and services across the globe have been hit by a huge IT cock-up.

Flights cancelled, patients turned away at hospitals, supermarkets unable to process purchases.

BBC

Scary stuff.
Meh. Everything is scary stuff to right wingers.
Flights cancelled? Scary stuff. Patients turned away from hospitals? Scary stuff. Gotta wait on your supermarket purchase. Scary stuff.
FUKKING BRANDON@!!!
:hysterical:

Maybe Crowdstrike will pay for your therapy?
 
Ah, it's all a bunch of nothing!

(The problem is a file consisting entirely of zeroes.)
 
That is what happens when there is a global contrition in one complex system,

In the 80s when I was in Portland the Beaverton phone company installed an update, and it crashed.

It turned out that somebody at the system manufacturer deleted code that seemed to do nothing,put the code back in and it was fine.
 
Was CrowdStrike a Null pointer related C++ bug? - help - The Rust Programming Language Forum
riking:
Windows kernel drivers have a restricted set of languages they are allowed to be written in.

They're currently only allowed in C++ and C.

kornel:
To be honest, a Rust version would probably unexpectedly panic, and they wouldn't have handled that gracefully either.

They've pushed globally an untested code update on Friday. That's more of a fault of a broken organization culture, not C++.

Coding-Badly:
I am happy to report I chose Southwest for yesterday’s travel. It was surreal watching all those monitors displaying a death loop while we boarded. Our flight was 17 minutes early.

As to the stack dump… Windows no longer displays that. They would have had to have access to an actual dump file.

And, that’s not a NULL pointer. It’s an uninitialized pointer. Which, in my mind, is really sloppy work typically requiring ignoring a compiler warning.
 
C++ can be used to write fast efficient reliable code, but it depends on the coder. C\C++ allows a lot of freedom.

When I worked at an avionics company in the 90s the embedded language was a government certified Ada compiler. Customers were Boeing and Airbus among others.

Ada is used in high reliability applications, it is very restrictive on how coding is done at least compared to C++.

That it was apparently untested is a quality issue.

Starting in the 90s there have been software development standards including documentation, revision control, and release procedures.

At the avionics company a software build was an multi-day event. There were documents that defined the build process. An independent quality group ran a separate build using documentation, installed it, and made sure it ran right. The equipment would be tested on a test system.
 
At Yosemite NP, I had a whole other YNP I could test stuff out on before I sent it out to the actual one. Crowdstrike should do that.

*To think, I was a hare’s breath from investing in CRWD. Can’t believe I missed the opportunity. I’m slipping.
 
 Null pointer and  Stale pointer bug and  Dangling pointer

In plain C, if one is not VERY careful with pointers, one will suffer nasty bugs.

But a null value is very convenient for indicating the absence of an object, and many programming languages support null objects: "null", "nil", "None", "Null", ... Attempting to access their contents will create an exception, and one can catch that exception if one so desires, though it's better to check in advance on whether some object is a null object.

An alternative is an "optional" object: std::option - Rust and Optional | Apple Developer Documentation It was recently introduced into C++: std::optional - cppreference.com
 
History of C++ | Perforce

It was created in the early 1980's as a way of importing nice features of an earlier programming language, Simula, into C, and it was originally called "C with classes" and was soon renamed to its present name. In 1991, it acquired templates, a watershed in that language's design, and in 1998, the first version of the Standard Template Library (STL). It got some big advances in 2011, and then in 2020.

I call templates a watershed, because it enables smart pointers and container classes that do not need rewriting for every data type that one wants to support.

Smart pointers are objects that imitate pointers, and that contain pointers. When a smart pointer is created, it allocates a block of memory for its pointer and it may initialize that block, and when it goes out of scope, it deallocates that block.

Container classes are an expansion of smart pointers for lists of data items. I've found them very valuable.

For C++, one can avoid most risk of pointer bugs by using smart pointers and container classes.
 
Why C++? It's designed to continue some nice feature of C: little or no object-management overhead, and compile-time typing. Both features enable high performance.

C and C++ are also often used for device drivers. This kind of software uses pointers to memory addresses that were assigned to I/O devices - a device driver reads in by reading from those addresses and that software writes out by writing to those addresses. So one needs to use pointers to memory locations rather than hiding them, which is what most high-level languages do.
 
Why C++? It's designed to continue some nice feature of C: little or no object-management overhead, and compile-time typing. Both features enable high performance.

C and C++ are also often used for device drivers. This kind of software uses pointers to memory addresses that were assigned to I/O devices - a device driver reads in by reading from those addresses and that software writes out by writing to those addresses. So one needs to use pointers to memory locations rather than hiding them, which is what most high-level languages do.
C++

Take C, improve it, but use the original.
 
C++ evolved because as software comlexity grew it became unmanageable.

hat are the major principles of C++?
OOPs Concepts in C++ - Shiksha Online
It is centred around objects, which are instances of classes. A class acts as a blueprint for creating objects and defines their properties (attributes) and behaviours (methods). The main principles of OOP include Encapsulation, Inheritance, Polymorphism, and Abstraction.
I only had use of encapsulation, IOW class objects. One definition of OPP was the emeld of data and the methods that operate on the data.

Class objects have private functions and data invisible out outside the object. This eliminates side effects and corrupting of data by oterr code.

In OOP objects communicate with each other.

If you are writing code of a few thousand lines you may not see it. Get up to say 10k and more lines it becomes obvious why C++ came about. More so in a large projects with multiple coders. Hundreds of thousands of lines of code. Maintenance, debugging, and system integration.

OOP is a different way of thinking that structured programming.

In the 80s there were unmintainable systems without the original coder. Companies were helfd hostage. At my first company when a software engineer left it required a compete rewrite.

C++ was not just a cool idea somebody had, it addressed problems with C.

Strostrup's original books are in PDFs.
 
There is also the issue of how such a devastating bug got through CrowdStrike's development processes.

At the very least they ought to have had some PeeCees with software like  Ghost (disk utility) that makes it easy to revert to some known-good versions of the system software.
GHOST (an acronym for general hardware-oriented system transfer[4]), now Symantec™ GHOST Solution Suite (GSS)[5] for enterprise, is a disk cloning and backup tool originally developed by Murray Haszard in 1995 for Binary Research. The technology was acquired in 1998 by Symantec.

The backup and recovery functionality was replaced by Symantec System Recovery (SSR).

Broadcom acquired Symantec's Enterprise Security business in 2019.
It's alive and well: GHOST® Solution Suite at Broadcom
Symantec Ghost Solution Suite is an industry leading and award-winning solution for deploying and managing desktops, laptops, and servers. From a single management console, you can quickly and easily migrate to the latest operating systems, inventory machines, deploy software, and perform custom configurations across multiple hardware platforms and OS types including Windows and Linux. With a modern web-based console, you can further delegate these tasks to technicians with minimal training to optimize resources and reduce costs.
Just what one will need for such testing.

 Gen Digital and  Broadcom and  Comparison of disk cloning software
 
Back
Top Bottom