There are two types of overflow errors; one has to do with the internal memory stack of the program, and the other has to do with the amount of memory used to store data.
Each program has a section of memory allocated for a stack. The stack is used to store internal data for the program and is very fast and keep track of return addressing. In other words, a program may jump to an area that reads some data from the hard drive, then it returns from that routine to continue processing the data. The stack keeps track of the originating address, and the program uses that for the return. Kind of like leaving breadcrumbs to find your way back. That being said, the stack has a limited amount of storage space. Between using it for storing return addresses, and as well as memory usage for storing variables, it can run out and all of the little bits of data overflow and cause programs to crash.
The stack overflow problem is not as prevalent on the newer operating systems, however, because of the small footprint on mobile devices it can become challenging. If your operating system on your mobile device is giving you a stack overflow error you may have too many apps running. You may have a virus using stack space. You could even have hardware damage that could cause a stack overflow error message. Check your app usage and virus protection and run a memory diagnostic app on your mobile device to see if this helps clear up your error.
An overflow error that is created by storage assignment is referenced as a data type overflow. What this means is that a certain data type used for storing a piece of data was not large enough to hold the data. As an example, if you have a box that is supposed to hold ten cans of soup, but you have twelve cans to put in it then you have an overflow of two cans of soup. By the same token certain data types can only store numbers of a certain size. If a data type is a single byte, and the data to be stored is greater than 256 then there is an overflow error generated and the program crashes because it has corrupted data.
This type of error typically only happens with older machines trying to run modern operating systems since the capacity of the operating system over shadows the capacity of the hardware. In other words, you may get overflow errors when an application requests 64 bits of storage when the program can only offer 32. This type of overflow error is usually on the programmers shoulders, and there is very little an end user can do to facilitate an easy remedy besides checking for a software update or patch.