freenode/#sicl - IRC Chatlog
Search
5:19:30
beach
Yesterday, at the end of the day, I finally started to understand the latest failure in replacing bootstrapping-specific code with production SICL code.
5:20:09
beach
The problem was there all along, but the bootstrapping-specific code managed to hide it.
5:21:06
beach
At some point, when I load definitions of MOP classes, I create writer methods on writer generic function for the slots with an :accessor option.
5:21:41
beach
The first element on the list of specializers for such a method is typically the class named T.
5:22:51
beach
So it is not a class of the type that is required for that particular phase in the bootstrapping procedure.
5:23:29
beach
This problem shows up MUCH later in the bootstrapping procedure, which is why it was so hard to find.
5:24:09
beach
It shows up because, when I use production SICL code, I invalidate the discriminating function when I add a new method that alters the specializer profile.
5:24:34
beach
So when the generic function is invoked, a new discriminating function has to be computed.
5:26:41
beach
In the bootstrapping-specific version, the discriminating function is not recomputed, so the error is hidden.
5:31:43
beach
Anyway, it took a while to figure out why the problem is happening, and it is going to take at least today (because I am busy doing laundry, fixing dinner, and preparing lunch for my lunch due guests tomorrow) to fix it, but I am very pleased with the progress.
5:38:47
beach
The function (SETF CLASS-DIRECT-SUBCLASSES) is called with a CONS as its first argument. So when the call history item is created, the class of the first argument is determined.
6:30:38
heisig
I am also making excellent progress with my PhD code. If things continue like this, I will soon have time for more SICL/Cleavir work.
6:34:02
beach
Yeah. My (admittedly small) family says that I work to hard and that I need more rest.
6:35:20
beach
On November 19, we go to Paris. We stay two nights in a room at Novotel, half a block from EPITA where Jim Newton's defense is going to be.
10:56:41
beach
So apparently, I have an AMD graphics card. And there are rumors that the free drivers are better than the proprietary ones. How do I determine whether I have the free drivers or the proprietary ones?
10:59:21
no-defun-allowed
Ideally, `lsmod | grep amdgpu` should show some modules, and `lsmod | grep radeon` should not.
11:00:00
no-defun-allowed
I can't remember if radeon is free or not, but it's not the preferred driver.
11:06:26
heisig
But if the GPU is giving you trouble, I would just rip that thing out and either just use integrated graphics, or buy another GPU for 20€. Or do you have any application that requires a fast GPU?
11:18:13
Shinmera
intel integrated graphics are pretty solid these days and should work fine for everything except maybe intensive games
11:18:36
Shinmera
so taking out the graphics card or deactivating it in the BIOS might be worth a try
11:20:21
beach
renderer string: Radeon RX 580 Series (POLARIS10 / DRM 3.23.0 / 4.15.0-36-generic, LLVM 6.0.0)
11:21:24
beach
The reason for this graphics card is that I want 1 4K monitor and my 2 HP 1600x1200 simultaneously.
11:22:10
no-defun-allowed
(Unfortunately that means the driver problems might not go away when I get a new card ):
11:24:36
beach
heisig: The problem is that i am not sure that the GPU is the problem, nor the drivers for it, for that matter.
11:26:10
Shinmera
no-defun-allowed: Would you rather they also didn't work and linux was just stuck with shitty drivers all around?
11:27:19
no-defun-allowed
Hmm, that's a tough one. I would like as much code to be free as possible, but it means nothing if I can't use it.
11:29:08
|3b|
if it is graphics card, ssh has reasonable chance of still working, and allowing diagnosis, if that didn't work only other think i can think of is trying to set up a serial console, but that's probably harder than enabling an ssh server
11:30:47
|3b|
though i guess if it was running well enough to do ssh, it probably would be saving something useful to logs, so maybe not
11:31:55
no-defun-allowed
In my case with my specific processor, the inbuilt connectors don't work because there is no graphics processor in my CPU also. This isn't usually the case but is also possible.
11:36:10
|3b|
might print the list from that wikipedia page, there are a few that would be useful to try
11:38:19
|3b|
if you can ping when it is up normally, lack of ping after crash would indicate fairly bad crash
11:38:39
no-defun-allowed
ping is separate from TCP and UDP, and requires a machine to respond actively.
11:38:41
no-defun-allowed
(this is why /bin/ping is often setuid as root, or has special privileges to write raw data to a network card.)
11:38:49
|3b|
but firewalls might not allow ping normally, and might still respond after moderately bad crash that prevents normal operation
11:39:33
no-defun-allowed
Home routers don't usually block pings. My school network doesn't block pings either.
11:43:28
|3b|
https://help.ubuntu.com/lts/serverguide/kernel-crash-dump.html looks like it might be useful too
12:27:26
beach
Now, the entire generic-function invocation mechanism seems to work for bridge generic functions as well.
12:28:27
beach
And this is without satiation, so the production code is computing and installing new discriminating functions incrementally.
12:28:54
beach
I can tell, because the first call to FOO with a new signature takes a lot of time. :)