freenode/#sicl - IRC Chatlog
Search
4:02:11
no-defun-allowed
finally, beach, i think i've found out why the random crashing occurs on our machines
4:03:03
no-defun-allowed
so, the r5 1600 batch with serial numbers ending in -PGT are bad, and my serial ends in PGT, yay
4:38:57
no-defun-allowed
`grep "model name" /proc/cpuinfo | uniq` gives you the model name, but not the batch/serial.
4:39:40
no-defun-allowed
To my knowledge, you should get someone to disassemble the computer and scrape enough goop off the heatsink to reveal a code starting with `UA`, which is the batch code.
4:41:31
no-defun-allowed
A list such as https://www.reddit.com/r/Amd/comments/6ubmd1/ryzen_compilation_segfaults_positive_rma/dlsckgi/ will contain those codes which have been found to signify bad processors.
4:42:43
no-defun-allowed
Phoronix had found that some processors were segfaulting under heavy load with GCC, so I wondered if it was a similar fault.
4:43:34
beach
Mine seems to be similar. When I don't do much, it is usually fine. It is when I start doing SICL bootstrappings that it crashes.
4:43:37
no-defun-allowed
(Okay, yours is a R5 1600X from my logs, but that should be from the same assembly process, as it just can handle a faster clock speed without too much of a heat increase.)
4:44:34
no-defun-allowed
Though...mine crashes when I only have Emacs and mpv open, not really doing anything, but a machine-check exception is still reported after it reboots.
4:45:39
no-defun-allowed
There is a positive side to all this though: If you're lucky, the store you got the computer from may give you a newer model since they might not have the first generation chip in stock (:
4:45:56
beach
Mine is not directly related to the load. I.e., it doesn't necessarily crash during the compilation, but it becomes more likely that it crashes sometime later.
4:48:12
no-defun-allowed
I was agreeing that it could be because of heavy load before the crash, even though it is mostly idle when it reboots.
4:49:18
beach
Strange if that's the case. For it to have that long a "memory" of the load, it would have to be related to the cache or perhaps to heat issues.
4:49:23
no-defun-allowed
I imagine some internal structure, maybe the cache, gets trashed under load, and the next time it loads it, something goes terribly wrong.
4:50:19
no-defun-allowed
I've tested my computer thoroughly, and it doesn't take too long to return to normal temperatures after heavy load with the stock heatsink.
4:51:21
beach
I think so too, because mine can crash without any heavy load, but after a much longer time of use, like more than a week.
4:52:45
no-defun-allowed
The Wikipedia page on machine-check exceptions also suggests it could be internal structures getting corrupted.
4:53:02
no-defun-allowed
https://en.wikipedia.org/wiki/Machine-check_exception names system buses, memory/ECC errors and cache.
5:10:48
beach
Anyway, thanks for all the information. I am not going to rush out and have the sales person replace the CPU, because I dread that time and effort to do that, but I'll put it on my (long) list of scut work that I need to do.
5:15:02
no-defun-allowed
For *X processors, you get a 2 year warranty, but they should replace it anyway, at least according to Australian consumer laws. Not sure about France.
5:17:46
no-defun-allowed
https://www.amazon.com/AMD-Ryzen-1600X-Processor-YD160XBCAEWOF/dp/B06XKWT7GD/
5:18:11
no-defun-allowed
Oh, that doesn't include shipping, which probably wouldn't be US$40 in shipping to France.
5:19:13
beach
That's just 6 hours of work. If I waste 10 minutes every time it crashes, it will pay off pretty fast to replace it.
5:20:03
beach
However, 6 hours of work is also the order of magnitude of work to take the computer down, boot up the old one, take the new one to the sales person, pick it up after it's fixed, etc.
6:01:47
beach
I am working on Trucler, which is the abstraction of the compilation environment protocol from Cleavir, which in turn is an improved version of what is documented in section 8.5 of CLtL2. And I am experiencing several design dilemmas. The more I think about it, the more I feel the need to expose lower-level details of it, so as to allow more client customization, but then, of course, I am restricting the possibility of altering those
6:04:17
beach
I see no way of deciding whether it is right, other than implementing and documenting the design, then see what others think.
6:14:39
beach
This work may look like yak shaving, but I don't think it is. A lot of stuff depends on this kind of protocol. Compilers of existing Common Lisp implementations, of course, but also implementation-independent code walkers. We may need this stuff for the planned IDE for instance.
7:55:11
jackdaniel
beach: what is lacking in cltl2 interface? (putting aside temporarily whenever api is pleasent to use or not)
9:08:24
beach
jackdaniel: Lots of stuff: generic-function class name, method-class name, blocks, tags.