Redis crashes - a small rant about software reliability
1–10 of 112 posts
Re: Redis crashes - a small rant about software reliability
#2We have a simple policy: ECC memory is required to run our software in production. Failure to do so voids the warranty.
Re: Redis crashes - a small rant about software reliability
#3Re: Redis crashes - a small rant about software reliability
#4Perhaps using safer languages (and languages with better error reporting) would be a solution to these kinds of problems.
A better solution to all the reliability problems is better quality hardware i.e. not X86. X86 has very few reliability features built in past ECC. If you look at UltraSparc based machines, they can predict failures and offline chunks of the hardware (CPUs, RAM regions, IO devices) so they can be replaced without disrupting the system.
Prevention is better than debugging :)
Re: Redis crashes - a small rant about software reliability
#5Perhaps using safer languages (and languages with better error reporting) would be a solution to these kinds of problems.
Edit: huh. 2 downvotes. Why not explain why you think I'm wrong, rather than just downvoting because you don't agree?
Re: Redis crashes - a small rant about software reliability
#6This is an interesting post, especially the part about memory testing. We have a simple policy: ECC memory is required to run our software in production. Failure to do so voids the warranty.
For desktop computers, Intel charges a premium on any ECC-capable gear (their Xeon line), so it's really only available in workstation class computers. Most AMD gear (AM2/3/3+ sockets, not A-series) can take ECC RAM, if there is BIOS support.
ECC RAM costs about 10-30% more per DIMM, but as memory is so incredibly cheap these days, its probably the cheapest safety net you can buy.
Re: Redis crashes - a small rant about software reliability
#7Perhaps using safer languages (and languages with better error reporting) would be a solution to these kinds of problems.
So using a higher level or "safer" language isn't going to stop these kinds of problems.
Re: Redis crashes - a small rant about software reliability
#8Perhaps using safer languages (and languages with better error reporting) would be a solution to these kinds of problems.
Re: Redis crashes - a small rant about software reliability
#9Re: Redis crashes - a small rant about software reliability
#10Perhaps using safer languages (and languages with better error reporting) would be a solution to these kinds of problems.
Um, no. C is a perfectly valid language and some of the best, most robust systems in the world are written in it (Linux, Git, etc.) Some languages are even built to run atop C (Cython.) Even the JVM deals with pointers, memory allocation issues, and such so you don't have to but it's still there! So using a higher level or "safer" language isn't going to stop these kinds of problems.
edit: that doesn't detract your point however that C is used nowadays on "robust systems"... in terms of popular robust kernels though you'll want to look at something like L4 or QNX Neutrino. There's a kernel that is actually formally verified (seL4) that was first written in Haskell, then verified, then translated to C (for speed).