4 ms·
The software bug at the heart of the problem: The bug was in a computer program the Gateway uses to translate payment messages between two formats. When the pr
by PhantomGremlin 7y ago
The software bug at the heart of the problem:
The bug was in a computer program the Gateway uses to translate payment messages between two formats. When the program was operating under load, the system tried to clear memory it believed to be unused (a process known as garbage collection).
But because it was using an unsafe method to access memory, the code ended up reading memory that had already been cleared away, causing it not to know how to translate the date field in payment messages.
So apparently a dangling reference.
- seanmcdirmid 7y agoIs that really proper use of the term garbage collection? If you are doing memory management manually, it sounds more like the lack of garbage collection. Unless they were using an unsafe GC for C/C++?
- jey 7y agoSounds like they were hanging onto a pointer to an object allocated by GC. For example, in Python/C API if you use a borrowed reference PyObject* after it has gone out of scope and been GC'd.
- rahilb 7y agoI'm pretty sure they're a Java shop, and they're referring to sun.misc.unsafe and the goodies inside that let you manually allocate memory.