Every minute of production downtime will generally cost a company money.

If your software has a serious issue that causes stack smashing, you’re in for a ride.

Learn what stack smashing is upfront and what can be done about it!

Four hard drivers sticking out of a rack-mount server that’s being used as a NAS.

What IsStack Smashing?

Working as a quality assurance engineer, one will sooner or later run into the termstack smashing.

As a user, when you learn about stack smashing, the damage is likely done already.

Terminal window showing the manual page for the Mutt email client on Linux

So what is a stack?

This, too, is a loosely defined term.

Start by imagining a stack of bathroom tiles stacked up, ready to be used by a tiler.

Article image

Shutterstock/Gabor Tinz

This is quite a good representation of a computer stack, with a few modifications.

Picture that each stacked tile is a function in the computer program.

C and C++ are two programming languages that use the stack extensively.

tiles

This may corrupt the whole stack.

Each tile offset is a function nested deeper - more on broken functions in the next section.

What To Do When You Face Stack Smashing?

A ‘healthy’ stack via backtrace (bt) using GDB

However, in most instances, the issue will be just an system error.

Fear not, however, the same basic debugging as with any bug or tool error/crash/issue remains the same.

Carefully read every bit of the log files before, during, and after the issue occurred.

A smashing stack dump generated by mysqld, the MySQL database server

Take some backups and then retry the operation.

Does it fail again or not?

and supply as much information about the issue as you’ve got the option to find.

Thousands of bug reports against just as many applications are logged online each day.

Hopefully, the support team for your stack smashing app is at hand to help quickly.

It also further explains the concepts of a stack in detail.