#EvalynOS

1 messages Β· Page 25 of 1

hushed oracle
#

I mean I just need to install a handler, right?

clear bison
#

Kinda

hushed oracle
#

Though no, I'd have to self ipi to userspace as well

#

I've been thinking about it the other day

#

You can get preempted in the kernel

#

I mean clanker said it to me as well

jade olive
clear bison
hazy saddle
#

#MCE is an NMI

jade olive
#

100% cpu maxing discord on pentium-II

clear bison
hushed oracle
#

I've got to log it and yeet out of the kernel

jade olive
#

there should be 2 noncontiguous sticks of memory bad

#

jesus i have like 15 second animation delay lmao

hushed oracle
jade olive
#

yep

hazy saddle
#

is it 8gb or 16gb in the system?

#

it nay have been marked reserved?

jade olive
#

well there should be about i think 24

#

either 24 or 12

hazy saddle
jade olive
#

cuz one stick doesn't have labeling

hazy saddle
#

😭

#

It only picked up 8gb

#

πŸ’€

#

It did setup MCEs

jade olive
#

well i did put 2 broken sticks and one normal

hazy saddle
#

Let me take a shit and see how large the reserved regions are

jade olive
#

yo but the laptop is nice and toasty
warming up my thighs quite nicely :3

hushed oracle
#

You can try my kernel and see what happens trl

jade olive
#

send me a functioning x86-64v2 iso image or smth

hushed oracle
#

Though I don't have a hyper iso image

#

Limine did boot in the end, right?

jade olive
#

not from the iso
i had to limine bios-install /dev/sda

hazy saddle
#

Is my thing still running?

hushed oracle
#

Imma try make hyper image...

jade olive
#

memset round 420

#

nice

#

the memory is btw 4 (broken) 4 (broken) 8 (ok)

#

memset round 550
i don't think we'll get anywhere interesting

hazy saddle
#

So I don’t think it managed to pick it up

#

Because it only detected 8gb as usable

#

Maybe if we get the physical address of the bad regions I can just force it to be used

clear bison
#

Yeah maybe the firmware just saw bad memory and decided not to report it

jade olive
#

so wanna swap one of the bad sticks for a good stick of equal size?

hazy saddle
#

Yes

hushed oracle
hazy saddle
#

And then we can diff the memmap?

#

And hopefully it’s the same

jade olive
#

choose one:
cool one with a black heatsink
garbanzo green IBM OEM one

hazy saddle
#

The IBM one sounds like it will error the most

jade olive
#

real lmao

#

so replace the cool one?

hazy saddle
#

Yeah

#
[MCE] CPU has 25 MCE Banks
[MCE] MCE+MCA Exception MSRs Setup

Nice to see this working though on many machines

jade olive
#

you're getting the TridentZ royal treatment of the 2012's IBM

#

awww
my plastic thingymagic got cracked :c
100% fault of evalynos, trust

hazy saddle
#

Aw

jade olive
#

207-Memory initialization error on Processor 1 Socket 12. The operating system
may not have access to all of the memory installed in the system.
207-Memory initialization error on Processor 1 Socket 12. The operating system
may not have access to all of the memory installed in the system.
Advanced Memory Protection Mode: Advanced ECC Support

the error log from ILO btw

#

and it triplefaulted and restarted

#

well

#

idk abt triple fault

#

but it restarted

#

with mapping memory being the last message

hazy saddle
#

did it get bad memory into page tables?

clear bison
#

Undervolt the RAM sticks while the OS is running somehow and that should get the job done i think trl

jade olive
#

283-Memory Address/Command Parity Error Detected - Processor 1, Channel 1.
Action: Reseat the DIMMs. If the issue persists, contact HP service.
oh look

hazy saddle
#

oh no paging got on

jade olive
#

it doesn't boot now

hazy saddle
#

πŸ’€

jade olive
#

YOU BROKE IT 😒

hazy saddle
#

😭

hazy saddle
jade olive
#

it's brokeeeeeennnnn 😒😭

hazy saddle
#

this did detect the bad memory as part of the map

jade olive
#

wait it legit is boot looping even before the system rom

hazy saddle
#

πŸ’€

#

wtf

#

take out the bad ram?

clear bison
#

He used memory so trash πŸ˜­πŸ—‘οΈ even the BIOS crashed

jade olive
#

lol

#

ok it automagically works again

#

changed nothing

hazy saddle
#

πŸ’€

jade olive
#

might leave it like this cuz of the parity error

#

that's what you wanted anyway, no?

hazy saddle
#

yeah

#

but

#

it should be delivering an MCE

jade olive
hazy saddle
#

iirc this is proper as per SDM

hazy saddle
jade olive
#

i guess?
idk you're the evalynos kernel dev

hazy saddle
#

if we can get down the paddr's of good memory

#

and make sure the loaders dont use it

#

it may work

jade olive
#

want to swap another stick?

hazy saddle
#

if i hard code it to only use bad mem to be mapped there

jade olive
#

the seconf bad one

hazy saddle
#

let me do a diff

#

of the mem maps

jade olive
#

kkkkk

#

i can also show you a 4 gig on each (except one broken :P) memory slot

hazy saddle
#

uhh

#

maybe i should disable KASLR

#

πŸ’€

#

for the memmap diff

jade olive
#

ehhhhh
detailll

hazy saddle
#

this is the diff

jade olive
#

hm

#

i did see some kaslr=yes or smth in the limine.conf

hazy saddle
#

It seems like the bad memory is at the outer end of that region?

hazy saddle
#

Or I can compile it without PIC

jade olive
#

the config thingy is prolly faster

#

gimme like 5-10 mins

hazy saddle
#

okay but

#

i have isolated this

hazy saddle
#

in that config

jade olive
#

i'm using channels
1A 2A 3A

hazy saddle
#

so if you run without KASLR

jade olive
#

with the broken one being 3A

hazy saddle
#

i can get the address of that

#

and then not allocate from PMM into the spec region

jade olive
hazy saddle
#

and my PMM should behave and not use it at all

#

As it starts at 1mb -> end of MM

jade olive
#

so kaslr: no or completely remove?

hazy saddle
#

kaslr: no should work

jade olive
#

okies

hazy saddle
#

im glad my serial driver is workin tho

jade olive
#

i mean i would've fallen back on sending pics/videos
but the serial is very nice

jade olive
#

i should do something more robust and not just ramming tty stuff into the io port

hazy saddle
#

Steal mine

#

It’s MIT

jade olive
#

though i myself am proud of my tty implementation

#

i implemented everything (other than control stuff and baud) that posix mandates

hazy saddle
#

Check my old repo for one that does interrupts

#

Though it’s a bit messier

#

This one only does output so I never implemented it lol

#

And I need proper device abstractions for my rewrite

jade olive
#

the shiz is bootlooping again πŸ₯€

#

i'm glad i have the 198471875th ILO IPv6 address
but i'd like a boot menu
thank you very much

hushed oracle
#

bruh, my kernel is trolling

jade olive
#

this is actually S-Tier ragebait
who could've known that running unstable (unstableos reference? πŸ‘€) ram leads to unstable behavior

#

not fair

#

dad entered the room and asked about the "jets taking off" sound 😭

#

lmao

hazy saddle
#

Lmfaooo

hazy saddle
#

So paging tables don’t get fucked

#

πŸ’€

#

it should have just been fine and delivered an #MCE but???

jade olive
#

slightly out of sync

elder acorn
#

msg so this stays pinned in my channel list

hazy saddle
#

@jade olive does this look right?

#

op i need to fix

jade olive
#

i think so?

#

assuming i put the broken ram back i think that's correct

hazy saddle
#

qemu page faults

#

prolly because that phys mem dosnt exist tho

jade olive
#

well yea

#

you could prolly give it like 200GB of ram

#

and see

hazy saddle
#

on real hardware it should be like an uhh open bus?

#

this should work tho

jade olive
#

lemme first test with this working stick

#

if it page faults or something

#

i'm so lost atp

hazy saddle
#

WAIT

jade olive
#

FWAIT?

hazy saddle
#

im mapping the phys addresses qrong

#

i put the alr HHDM'd ones

#

😭

#

which is way past PLEN max

#

so ofc it will PF

jade olive
#

imma help you
the issue is somewhere either on a piece of silicon or copper :3

#

and actually now that i'm this helpful
i might've spotted a JTAG on the mb
if i find my jtag convertor and i solder pins it might work and help
i highly doubt it

hazy saddle
#

qemu now just kinda locks up

#

no TF?

jade olive
#

qemu a bit confused
poor bird

hazy saddle
#

RIP=ffffffff80003a13

#

/home/evalyn/Documents/Programming/evalynOS/evalynOS-new/kernel/src/libc/string.c:13

#

yeah about what i expected

#

no fault tho

#

just locked up

#

welp this should be valid?

jade olive
#

we'll see
lemme download rq

#

also
"about to diddle bad ram" is undeservingly funny

hazy saddle
jade olive
#

i'm sorry it's dragging this long on

hazy saddle
#

its fine

#

im bored today lol

#

Waiting on a friend to wakeup aswell anyways

jade olive
#

it's 11:04 PM here

hazy saddle
#

5PM for me

jade olive
#

i do wonder how longer i can keep doing this before i get raided to stfu

hazy saddle
#

😭

hushed oracle
#

In qemu

#

wtf

jade olive
#

if i never write anything again here, assume the worst
i've been abducted by the HPE gods and forced to repent for my bad ram diddling sins

hazy saddle
#

Oh also I’ve never been able to get a #MCE to trigger

#

Even using some super strange AMD spesific MSRs

jade olive
#

ok so i've figured out a pattern
it boot loops 4 times
then tries PXE
subsequently fails
and then after 2 minutes gives me the option to boot from USB
if i disable PXE it bootloops forever πŸ™πŸ₯€

hazy saddle
#

That have a fancy watchdog where if an opcode takes too long it dies

#

But even on the minimum setting

#

It never triggered

#

😭

#

And I legit tried to slow down the hot paths as much as I could

#

fucking reloading page tables on every iretq

#

πŸ’€

jade olive
hazy saddle
#

Well

jade olive
#

and instatly rebooted

hazy saddle
#

Well

#

Now we know it is diddling the ram

#

I wonder if the ram is like too fucked?

#

To where it goes #MCE then #MCE before it can clear the flag?

jade olive
#

um
i can try and reseat the one throwing parity errors and put the broken one to that offset

hazy saddle
#

Maybe?

#

Just keep the one slot with bad memory the same

#

As we know that gets us in with thoes phys addresses

jade olive
#

okies

jade olive
hazy saddle
#

Lmfao

jade olive
#

netextreme pixies here ruining my day

#

fr

hazy saddle
#

If only Intel and AMD were smart and had an MSR to trigger an MCE in x cycles for debugging

#

😭

#

Or something else

#

But noooo we have to suffer with this fuckass ram

jade olive
#

i mean
do a debug trap idt into undefined memory

hazy saddle
#

Hm?

jade olive
#

that'd be double fault prolly

hazy saddle
#

I can catch a #DF

#

I need to get an #MCE for the special decoding they do

jade olive
#

ah

#

didn't know that

#

fair enough

hazy saddle
#

An #MCE is a fancy NMI that says hey uhhhh

#

Shits fucked

#

😭

jade olive
#

😭

#

so progress
we're on our 4th bootloop
so it's pxe and usb boot time πŸ₯€

#

ts sucks

hazy saddle
#

this is how i handle them

jade olive
#

ok

#

so good news bad news

#

both at the same time

hazy saddle
#

Hm

jade olive
#

the stick always gives off parity errors

#

so we officially have a reliable way to get parity errors

hazy saddle
#

thats good

jade olive
#

or well
as reliable as "random parity errors" can be

hazy saddle
#

this should trigger an MCE

jade olive
#

niceeeeeee

#

it's so fucking funny that in the attempts to run broken ram, we've broken a ram stick

hazy saddle
#

Lmfao

#

We need to give a burial to the brave soldier

#

😭

jade olive
#

i'll dig a grave next to our neighbour's pine tree

#

first thing tmrw

hazy saddle
#

Put cause of death
β€œTesting EvalynOS #MCE Handling”

jade olive
#

giant wooden cross with that scribbled on it with blood

#

I'M NOT FUCKING KIDDING RN
ONE MEMORY STICK UNBROKE ITSELF

hazy saddle
#

Or you can sell the ram on eBay

jade olive
#

HELOOO??????????

hazy saddle
jade olive
#

WHAT IS THIS OS

#

WHAT ARE YOU MAKING

hazy saddle
jade olive
#

HOW DO YOU UNBREAK A RAM STICK

hazy saddle
#

😭

#

So many strange fucking errors

#

My code is fucking magic

#

For better or for worse

jade olive
#

watch as magically no MCE is raised but somehow a coprocessor segment overrun
to spite us for trying actual x64 features

hazy saddle
#

πŸ’€

#

Nah a reserved exception

#

To really fuck with us

jade olive
#

what if all reserved exceptions are more MCEs

hazy saddle
jade olive
#

okies
so for good measure
it doesn't bootloop anymore
I just have a blank black screen
and the ILO here blinking every led in a pattern i cannot decipher

hazy saddle
#

Lmfao

#

Well

#

How good is that fixed ram btw

#

Maybe we can make this into a business

#

And fix people’s ram

jade olive
#

um
is fixed?
idk?
hasn't booted since 😭

hazy saddle
#

With my fucking magic code of wizardry and witchcraft

#

Not even I know how it did that

#

😭

jade olive
#

by the booting (lack thereof) i'd say fixed a ram at a cost of a ddr3 memory channel controller 😭

hazy saddle
#

😭

#

This shit is so cursed

jade olive
#

which was the broken one 😭

hazy saddle
#

Flip a coin

jade olive
#

um
edge

#

what now

hazy saddle
#

Uhhhhg

#

Try the top one

jade olive
#

i went to my ddr3 shelf and picked a random stick

#

peak strategy

#

lose track of the broken ones, so that future foxerity has something to do in his free time

hazy saddle
#

lol

jade olive
#

wait

#

does this cpu even have MCE?

#

😭 😭

hazy saddle
#

prolly

#

almost all do

#

Gonna keep this for a rainy day

jade olive
#

i just saw a text message
evalynOS-potential-magic-ram-fixer
no attachment

hazy saddle
#

I accidentally pasted file name

#

Lmao

jade olive
#
iLO 4 Server and iLO 4 Diagnostics page.

fuck off no way

hazy saddle
#

😭

jade olive
#

okay
so what do we know
we have 2 completely dead (ilo says the dimm slot error) sticks
one was throwing parity errors
maybe dead ddr3 channel C memory controller
dying ilo 4 chip
BUT
a fixed 4 gb ram stick :3
i'd call this an absolute success

#

there has to be enough broken components to raise an #MCE

#

PLEASEE

#

and the ram stopped throwing parity errorrrrssss 😭 😭

hazy saddle
jade olive
#

this is a fever dream

#

i'll wake up and all my hardware will be working again

hazy saddle
#

It’s the magic iso

#

😭

jade olive
#

it's the magic iso 😭

hazy saddle
#

Is this what

#

Two fixed sticks????

jade olive
#

currently 3 working + the one that was throwing parity errors

hazy saddle
#

😭

#

Maybe you need to like

#

Pop some capacitors off it

#

😭

jade olive
#

imma short some random pins

#

don't care which

hazy saddle
#

πŸ’€

jade olive
#

they're getting shorted

hazy saddle
#

That may break it

#

Too much for an MCE

jade olive
#

cpu pins AA-ZZ
then we'll see

#

what if i just straightup stab the memory chip with like a knife or smth

hazy saddle
#

Idk if my code could fix that tho

jade olive
#

evalynOS-potential-magic-ram-fixer

#

fixes everything

#

except integrated management controllers apparently

#

this is fun
i'm surprisingly having fun

hazy saddle
#

Oh this is quite entertaining

jade olive
#

ok

#

283-Memory Address/Command Parity Error Detected - Processor 1, Channel 2.
Action: Reseat the DIMMs. If the issue persists, contact HP service.

Redundant ROM Detected - This system contains a valid backup System ROM.

Inlet Ambient Temperature: 22C/71F
207-Memory initialization error on Processor 1 Socket 1. The operating system
may not have access to all of the memory installed in the system.
207-Memory initialization error on Processor 1 Socket 9. The operating system
may not have access to all of the memory installed in the system.
207-Memory initialization error on Processor 1 Socket 9. The operating system
may not have access to all of the memory installed in the system.
Advanced Memory Protection Mode: Advanced ECC Support
WARNING: The iLO Security switch is set to the ON position.
Platform security is DISABLED.

#

got this

#

this is the current state

#

i'll

#

send you the evalynos map

#

once/if it boots up

#

why is IXOFF not workingggggggg

viral bison
#

IT UNBROKE THE RAM OF MY OLD LAPTOP

#

LOL

hazy saddle
#

ALL HAIL THR MAGIC ISO

#

😭

jade olive
#

evalynOS-potential-magic-ram-fixer

viral bison
#

this is pure dark magic XD

#

memtest passed successfully

jade olive
#

no fucking shot lmao

viral bison
#

before it failed instantly

#

XD

jade olive
#

gg

viral bison
#

i revived that lappy

#

lol

hazy saddle
#

I must be the best coder to ever live

#

😭

#

And I have no idea what I did

jade olive
#

ig evalyn just knows how to diddle that ram

hazy saddle
#

😭

viral bison
#

how the fuck did you do it

jade olive
#

it cost me my management controller :c

hazy saddle
jade olive
#

you owe me
uhhh
idk
somethin
a funny gif
yea that

viral bison
#

memtest running a second time bc why not

viral bison
#

it's not crashing

#

XD

jade olive
#

what if i just use the broken stick?

#

like only the broken stick

hazy saddle
viral bison
#

try

jade olive
#

okies

#

actually

jade olive
#

i'll run the parity broken stick

hazy saddle
#

This is honestly fucking gold

#

We have now saved 2 RAM sticks

jade olive
hazy saddle
#

Across computers

viral bison
hazy saddle
#

With this ISO

#

Like

#

Imagine a fucking third time

#

😭

viral bison
#

XD

#

we need someone with borked ram

hazy saddle
#

I wonder if @devout path knows anyone?

jade olive
#

dw i can break my collection of 120 ram sticks for the cause

hushed oracle
#

I have hyper image

viral bison
#

memtest #2 50% passed

hazy saddle
hazy saddle
viral bison
#

it's still going btw

jade olive
hushed oracle
hazy saddle
#

πŸ’€

viral bison
#

idk

hazy saddle
#

My ISO

viral bison
#

it unfucked my ram

hazy saddle
#

Has now fixed two computers ram

#

😭

#

And I have no fucking clue

jade olive
viral bison
#

XD

hazy saddle
#

I’m feeling good lick on that zen2

#

Luck

jade olive
#

"luck" πŸ₯€

#

istg if it makes my ryzen 2700 into a ryzen 5700 i'll do something

hazy saddle
viral bison
#

@hazy saddle add a quote to your os: Also called the "RAM Unfucker 2026". XD

hazy saddle
#

Well it’s only this one ISO

#

This ISO has patches that diddle a spesific set of phys memory

viral bison
jade olive
hazy saddle
#

Still no #MCE

#

πŸ—£οΈ πŸ”₯

viral bison
#

then it rebooted after 2 messages XD

jade olive
#

well
"memset round 0" is strictly speaking "a message"

viral bison
#

and then it died

jade olive
#

close enough

viral bison
#

booted via ventoy btw

jade olive
#

got the message accross 😭 😭

hazy saddle
#

i dont think i even have any logs that start with [MSG] btw

#

πŸ’€

viral bison
#

wtf did i see then

#

it def was [MSG]

jade olive
#

HP Power Profile Mode: Custom
Power Regulator Mode: Dynamic Power Savings

283-Memory Address/Command Parity Error Detected - Processor 1, Channel 2.
Action: Reseat the DIMMs. If the issue persists, contact HP service.

Uncorrectable Processor Machine Check Exception(s) were detected
and are logged in the Integrated Management Log (IML.)
Redundant ROM Detected - This system contains a valid backup System ROM.

Inlet Ambient Temperature: 22C/71F
207-Memory initialization error on Processor 1 Socket 1. The operating system
may not have access to all of the memory installed in the system.
207-Memory initialization error on Processor 1 Socket 9. The operating system
may not have access to all of the memory installed in the system.
207-Memory initialization error on Processor 1 Socket 9. The operating system
may not have access to all of the memory installed in the system.
Advanced Memory Protection Mode: Advanced ECC Support
WARNING: The iLO Security switch is set to the ON position.
Platform security is DISABLED.

#

OH

#

MCE

hazy saddle
#

jesus christ coming through the screen

jade olive
#

from the firmware

#

BUT MCE NONETHELESS

hushed oracle
hazy saddle
#

now we just need my kernel to catch it

#

it seems

jade olive
#

the first one who figures out why it doesn't work gets a ":3" from me

viral bison
#

@hazy saddle 20 mins and no crash + memtest 2 passed

#

lol

#

tmr i'm gonna leave it running for some hours

jade olive
#

speaking of servers
have you ever been bitten by a server?
i have
a supermicro server bit me
had to go to the er to get stitches

#

a fan bit me

hazy saddle
#

😭

#

damn

jade olive
#

still have a scar

#

kinda fun

#

also in the official medical records is "a supermicro fan" listed as the cause

#

which is immensly funny

#

lee

#

mme actually look at the IML

viral bison
#

and make profit

hazy saddle
#

Fuck AI companies

jade olive
#

how do you specify an IPv6 linklocal address interface in firefox?

#

cuz [fe80::9eb6:54ff:fe09:75c8%enp2s14] is not it

hazy saddle
#

It should just be the IP it’s self no?

jade olive
#

it's link local tho

#

that's the issue

#

fuck it /etc/hosts it is

hazy saddle
#

Real

jade olive
#

fucking network manager

#

who sat down
and decided 30 seconds of no internet = hahaha interface goes down brrrrr

viral bison
#

memtes 3 passed

jade olive
#

so assuming the laptop didn't explode

#

this is in the IML

#

i keep bootlooping evelynos

#

in case something magical ⭐ comes up

#

@hazy saddle can I help somehow?
like anything that i can actively be doing to help?
i wanna help :3

hazy saddle
#

You could look at my MCE code and see if somthing is fucked with it maybe?

hazy saddle
jade olive
#

i actually don't know whether those are from the firmware or from you
but i assume that i'd be more that probable that you'd catch at least one of those

hazy saddle
#

Yeah

#

The Intel manual has a good bit of info on these things

#

Also I wonder what happens if you don’t touch the bad ram

#

And if it just spuriously does the thing

jade olive
#

like if i just let server sit there doing nothing?

#

i could do that

hazy saddle
#

Yeah

jade olive
#

hanging on that "press a key to reboot" no bootable device prompt and watch the iml

hazy saddle
#

Il make an ISO that just does some basic loop things

#

And triggers a software interrupt

jade olive
#

kkk

hazy saddle
#

That I use to test the IDT

#

And maybe @tender mantle can find that spalloc test ISO that may do some things

jade olive
#

yea maybe make it do something at least somewhat visual so we can see whether it isn't just hanging hanging

#

something like "\r%c", 'a' + counter++%26

#

or idk

hazy saddle
#

this is the default ISO test

jade olive
#

maybe send me the elf file so i don't have to dissable the iso again

#

can't type today
disassemble*

hazy saddle
jade olive
#

thx

#

so ~15 min idle on reboot prompt?

hazy saddle
#

yeah lets see if that triggers any #MCE

hazy saddle
jade olive
#

fuck me it autoreboots
I have to go into the bios so it doesn't reboot itself

tender mantle
#

spalloc hasn't died yet 🀞

jade olive
#

i'm in the rbsu
no clue what that is
but yea

hazy saddle
#

testing bad memory

#

for #MCE's

tender mantle
#

hm

#

ohh

hazy saddle
#

we have genuine bad ECC that gives off errors

jade olive
#

we're intentionally breaking and magically fixing my server

tender mantle
#

:O

hazy saddle
tender mantle
#

of course evalyn of all people wants to play with bad ecc memory

hazy saddle
#

😭

#

okay fine

#

im a protogen

#

i eat ram

#

I ALSO HAPPEN TO WANA TEST MACHINE CHECKS

tender mantle
#

:3

hazy saddle
#

:3

jade olive
#

:3

#

okies

#

it doesn't raise MCE on its own

#

it's definitely something your kernel is doing

#

or at least the RBSU shell isn't raising them

#

so now that elf

hazy saddle
#

it may not enable the bit?

jade olive
#

well in any case, we know the MCE has to be caused somewhere in your kernel

#

i expect the management controller to at least know whether MCE happens

hazy saddle
#

you may wana pull down my repo so you can start making changes

jade olive
#

i don't know what i'd be doing tho
i do have copies of the intel sdm so might take a look at that

hazy saddle
#

.!t sdm

hazy saddle
#

grab a fresh one

#

and look at the #MCE code maybe

#

my kernel should be easy to build w/ clang22

jade olive
#

spiral bound even

hazy saddle
#

πŸ”₯

jade olive
#

i plugged in the USB and the server immediately rebooted itself lol

#

no MCEs yet
almost booted

#

POST Information: Processor 1, DIMM 12 could not be authenticated as genuine HP SmartMemory. Enhanced and extended HP SmartMemory features will not be active. blah blah blah

#

bootlooping again....

#

it's too broken ig
need to remove something

#

huh? what are lenovo engineers doing

hazy saddle
#

bruh

jade olive
#

i may have accidentally fixed the parity
we'll see

#

yk how hard it is to gaslight the ILO into thinking the ram is ok?

#

why is it so good at its job

#

IML still empty

#

i can go diddling with the flaky parity ram stick

#

so far nothign

hazy saddle
#

btw how are my logs?

jade olive
#

just got test vector x4
then chunk something done

#

at chunk 150 now

hazy saddle
jade olive
#

i don't think it's just gonna appear

#

i can go slowly unhook the ram until i get the MCE

hazy saddle
#

magents?

#

like get some EMI near the ram stick

jade olive
#

i don't have that strong magnets

hazy saddle
#

one magnet weak

#

many magnet strong

jade olive
#

WHAT
the ram is completely unhooked

#

the only detected ram is unhooked completely on one side

#

and it's just goin on

hazy saddle
#

plug it in and out

#

til it MCEs???

jade olive
#

sure

#

pulled it too far

#

rebooted

hazy saddle
#

fuck

jade olive
#

so in case you were wondering

#

if all memory is badd

#

you'll get
No Usable Memory Found - System Halted!

#

and an insanely annoying beeping sound

#

anyone wanna mod the firmware to accept broken ram?

#

i do have a chip flasher

hazy saddle
#

do we know sombody who can do that?

jade olive
#

idk anybody

hazy saddle
#

Damn

#

Ask Claude

#

I’m sure that won’t go horrible wrong

jade olive
#

surely

#

okies
got it to produce more uncorrectable errors

#

this is legit just relaunching a heavily modded game and hoping it actually turns on

hazy saddle
#

fr 😭

#

its more fun tho

jade olive
#

the interrupt loop is running again
i don't want to touch that ram
it's exactly the right temperature, unhooked enough, and the right vibe to just barely throw parity errors

hazy saddle
#

i hope it dosnt hit it within a spinlock

#

i could disable the FB and the lock if happens tho

jade olive
#

the error light for DIMM12 (the flaky one) just lit up

#

at random

#

like it's still running

hazy saddle
#

;o

#

did it log a non fatal MCE?

jade olive
#

will check

#

gimme a minute

hazy saddle
#

grep for Got a non fatal #MCE

jade olive
#

i have the terminal opened

#

i'm staring at it

#

like intesively

#

have to assert dominance

#

lol

#

nothing in the IML

#

the iml is in UTC time for some reason

hazy saddle
#

hm

#

i wonder if SMM catches all MCEs on this board???

jade olive
#

we'd see one in the IML

#

as before

hazy saddle
#

true

jade olive
#

well i think the last MCE from the IML is still the current memory setup

#

you could poke an address in that range

#

and like have some sort of a progress bar

hazy saddle
#

send me the address?

#

and gimme a log

jade olive
hazy saddle
#

of the memory map

jade olive
#

i don't have that far of a scrollback

#

i'll reboot then

#

it should be the entire range 0x200000000 -0x3FFFFFFFF

hazy saddle
#

@jade olive hows this

#

it works

jade olive
#

latest log coming up

jade olive
#

lemme test

#

kernel (5).elf πŸ™

hazy saddle
#

reads should also hopefuly be less fatal

jade olive
#

towards the kernel, the ram, the server, me, or our patience?

hazy saddle
#

the ram and kernel

#

it should like uhh

#

make less crazy errors

#

than memsetting shit

jade olive
#

page fault

hazy saddle
#

which addr?

#

and was KASLR on?

jade olive
#

and image

#

obv

#

beautiful image :3

hazy saddle
#

:3

jade olive
#

it's also blinking

hazy saddle
#

i guess the ram moved?

jade olive
#

possible i guess

hazy saddle
#

does it display right in the serial term btw?

#

try this

#

i moved it to match the mmap

jade olive
hazy saddle
#

oh also

#

i may need to change the wrap point

#

leme make a new bin

jade olive
#

i'll wait then

hazy saddle
jade olive
#

the current DIMM is in slot 12, which is A (ram going A-B-C-D-E-F-G-H-I-J-K-L)
then first broken is in B
then in C

#

so assuming the manual isn't lying about how this works, they should be contiguous

hazy saddle
#

Is the memory map dosnt change again

#

This should work

jade olive
#

kkkkk

#

well scrollback took the map
but i assume that's ok

#

so far at offset 2000 and it's ok

hazy saddle
#

lets wait

jade olive
#

at the speed it's going i don't know how long it's gonna take assuming this entry somewhat corresponds to real addresses

| 00023 | 0xffff800100000000 | 0xffff80013ffff000 | 0x000000003ffff000 | Usable |

#

are you sure about this?
we're at 0xffff800100008c00

hazy saddle
#

that region is HHDM mapped

#

to the phys region of things

#

so it should? be correct

#

and it will go up to 120000000

jade olive
#

we're going like 400 bytes/s

#

that's gonna take ages

#

i don't mind and will gladly give you the """compute"""
just saying

hazy saddle
#

i could also chunk messages

#

or disable FB

#

which should speed it up

jade olive
#

maybe write out a message per like 1 page? like 4096 bytes?

#

we're at 10002C800 btw

#

give or take a few bytes

hazy saddle
#

like this or so?

jade olive
#

yea

#

though it still seems awfully peaceful

hazy saddle
jade olive
#

like
the server hasn't yet spontaniously combusted

hazy saddle
#

maybe its only on writes

#

leme try

jade olive
#

and are you sure those are the valid ranges?

hazy saddle
#

0xffff800100000000 to 0xffff80013ffff000 yes

#

if its divisible by 0xffff80013ffff000 it will reset to 0

#

etc

jade olive
hazy saddle
#

well minus the HHDM

#

oh huh

jade olive
#

or well the somewhat flaky that doesn't flaky anymore

hazy saddle
#

phys 0x200000000 was failing

#

and its not in the HHDM

#

oh shit

#

thats why

jade olive
#

gg

hazy saddle
#

i need to map it

jade olive
#

completely
like completely offtopic
but why does the router vodafone gave us
NOT SUPPORT STATIC ROUTES???????????
THERE'S NOWHERE TO INPUT THEM
f this
mikrotik all the way
i'm gonna write the most convoluted dhcp server and relay config you have ever seen
just so i can ssh into the pentium laptop and watch the serial log on my main pc

hazy saddle
#

@jade olive ?

#

this should work

jade olive
#

okay

#

assuming my internet works?

#

thank you

#

finally

#

reboot after the last message

hazy saddle
#

any #MCE??

jade olive
#

well not caught by your kernel

#

will check iml

jade olive
#

yooo have to rewatch fantastic mr fox

#

yep

#

MCE

#

121 CPU 05/15/2026 00:10 05/15/2026 00:10 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000018, Status 0xFE200000'0003110A, Address 0x00000002'00000300, Misc 0xD0000838'80801086)
120 CPU 05/15/2026 00:10 05/15/2026 00:10 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000017, Status 0xFE200000'0003110A, Address 0x00000002'00000140, Misc 0x94000838'80801086)
119 CPU 05/15/2026 00:10 05/15/2026 00:10 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000016, Status 0xFE200000'0003110A, Address 0x00000002'00000180, Misc 0x58000838'80801086)
118 CPU 05/15/2026 00:10 05/15/2026 00:10 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000014, Status 0xFE200000'0003110A, Address 0x00000002'00000000, Misc 0xD4000838'80801086)
117 CPU 05/15/2026 00:10 05/15/2026 00:10 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000012, Status 0xFE200000'0003110A, Address 0x00000002'000006C0, Misc 0x5C000838'80801086)
116 CPU 05/15/2026 00:10 05/15/2026 00:10 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000011, Status 0xFE200000'0003110A, Address 0x00000002'000000C0, Misc 0x20000838'80801086)

hazy saddle
#

so wtf is up with my kernel

#

was this while i was running?

jade olive
#

yep

hazy saddle
#

huh

jade olive
#

the addresses are a bit off

hazy saddle
#

so wtf is wrong with my code??

#

is it SMM mode

hazy saddle
#

its giving phys addr

#

i log virt

jade olive
#

well i get that with the 0xFFFFF stuf
but 0xC0? when we passed through 0x0000 to 0x1000?

hazy saddle
#

i still hit every byte

#

just only log every page

jade olive
#

well precisely
then why MCE at 0xC0

hazy saddle
#

no its at 0x00000002'000000C0

#

which is what i expect

#

lol

#

the ' is formatting

jade olive
#

then i'm slightly lost

#

the ILO clock is behind about 4-7 minutes (not sure how much that's the insane networking setup and caching firefox does)

hazy saddle
#

can we disable the IML?

jade olive
#

IML is just logging

hazy saddle
#

maybe its stealing my MCE?

#

its still going through SMM

#

or some crap?

#

lets try this

jade olive
#

idk how to check that
but regardless it's impossible to truly turn off ILO
and even if possible
i do remember linux throwing some ECC errors on this machine a LONG time ago
so i assume it's not completely stolen

jade olive
hazy saddle
jade olive
#

so the clock is 6 minutes behind
give or take
so the MCE reports come in after your kernel crashes
so i assume the IML just gathers the reboot reason after it happens

hazy saddle
#

maybe

#

if i reply the MCE in QEMU it goes off aswell too @jade olive

#

i wonder

#

what if the MCEs are so fast

#

that my recurssive lock preventor kills it?

#

i need to make it iretq and not hcf()?

#

thr rahhh will test that

jade olive
#

nothing happened
again hung at read from memory addr ffff800200001000 and got 255

#

no printf

hazy saddle
#

okay

#

time to nuke the locks

jade olive
#

why lock when you can unlock
or smth like that

hazy saddle
#

this way

#

uhh

#

it should be fine

#

i pray

jade olive
#

surely

#

surely

hazy saddle
jade olive
#

i meanwhile was so recordbreakingly productive that i fixed the time

#

fyi
the rom based setup utility sees 12288 MB of ram

#

(it's literally called the "rom based setup utility" (rbsu))

hazy saddle
#

lol

jade olive
#

also if you want
this server has an NMI button
so i can manually raise an NMI

hazy saddle
#

If only it had a fucking MCE button

#

I don’t do much NMI handling rn tho

jade olive
#

doesn't :c

#

idk
if you wanted to test that
just sayin

hazy saddle
#

If we can’t get MCEs after this test

#

My code may be cucked 😭

#

We can test NMIs then

clear bison
#

Hey i dreamed of all of this shit happening 5 months ago

jade olive
#

fair enough 😭

jade olive
#

wait actually no
deva vu is something different

hazy saddle
clear bison
clear bison
hazy saddle
#

Damn 😭

#

That did happen

jade olive
#

i also sometimes have dreams like that

hazy saddle
#

I wish I had dreams lowkey

jade olive
#

aww

#

[MEMORY] Paging Init [OK]
read from memory addr ffff800200000000 and got 255
read from memory addr ffff800200001000 and got 255
read from memory addr ffff800200002000 and got 255
read from memory addr ffff800200003000 and got 255
read from memory addr ffff800200004000 and got 255
read from memory addr ffff800200005000 and got 255
read from memory addr ffff800200006000 and got 255
read from memory addr ffff800200007000 and got 255
read from memory addr ffff800200008000 and got 255
read from memory addr ffff800200009000 and got 255
read from memory addr ffff80020000a000 and got 255
read from memory addr ffff80020000b000 and got 255
read from memory addr ffff80020000c000 and got 255
read from memory addr ffff80020000d000 and got 255
read from memory addr ffff80020000e000 and got 255
read from memory addr ffff80020000f000 and got 255
read from memory addr ffff800200010000 and got 255
read from memory addr ffff800200011000 and got 255
read from memory addr ffff800200012000 and got 255
read from memory addr ffff800200013000 and got 255
read from memory addr ffff800200014000 and got 255
read from memory addr ffff800200015000 and got 255
read from memory addr ffff800200016000 and got 255
read from memory addr ffff800200017000 and got 255
read from memory addr ffff800200018000 and got 255
read from memory addr fff

#

not badly copied

#

died mid print

hazy saddle
#

Huh wtf

jade olive
#

peak 2:40 AM activities

hazy saddle
#

I diddnt remove the panic lock

#

But

#

I’d expect some print

#

wtf

#

I’m too sleepy for ts

#

😭

#

Go brrr with the NMIS

jade olive
#

gimme an infinite loop and i'll trigger an nmi

hazy saddle
#

You got the old elf right?

jade olive
#

can't remember if it was kernel 5.elf or kernel 8.elf

hazy saddle
#

Should have one that does it

clear bison
#

Maybe this machine just uses NMIs or something for memory errors

hazy saddle
jade olive
#

thx <3

hazy saddle
clear bison
#

I know that on some (arguably rare) machines the SMM handles these things like MCE and NMI and you gotta diddle the chipset for them to pass through

#

Which is like πŸ’€

hazy saddle
#

there is motherboard logs with the #MCEs

jade olive
#

nothing happened 😭

hazy saddle
#

and i dont got code to diddle the chipset

hazy saddle
jade olive
#

according to the ILO the NMI was sent

#

according to your kernel

#

chunk 72 done

hazy saddle
#

That shit is lying out it’s ass

#

πŸ’€

jade olive
#

135 OS 05/15/2026 02:43 05/15/2026 02:43 1 User Remotely Initiated NMI Switch
134 CPU 05/15/2026 02:42 05/15/2026 02:42 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000015, Status 0xFE200000'0003110A, Address 0x00000002'000003C0, Misc 0x1C000838'81801086)
133 CPU 05/15/2026 02:42 05/15/2026 02:42 1 Uncorrectable Machine Check Exception (Board 0, Processor 1, APIC ID 0x00000000, Bank 0x00000013, Status 0xFE200000'0003110A, Address 0x00000002'00000400, Misc 0x980008F8'81801086)

jade olive
#

i really do think it's just post-incident collection

clear bison
hazy saddle
clear bison
#

Which cannot be indexed by google

jade olive
hazy saddle
#

Since the banks get reset on CPU reset

jade olive
#

server i mean

#

cpu E5-2650 v2

hazy saddle
#

maybe try the other server?

#

and download the repo

#

i gotta do irl crap for a minute

hazy saddle
jade olive
hazy saddle
#

True

#

But it may not do the MCE captures

jade olive
#

it does do them
you can also find MCEs in the ILO

hazy saddle
jade olive
#

i remember when i bought it it had like 5000 MCEs from way back into 2009

hazy saddle
#

Well

#

I guess I’m gonna have to find out how to diddle the chipset

#

Hopefully you or @clear bison can find this out

#

And hopefully I don’t need to fucking fully implement PCIe

jade olive
#

i bet the ILO interface must be very nice to work with

hazy saddle
#

Tbf either way

#

We got alot of valuable information

#

Somehow my code can revive ram sticks

#

And we had fun while doing this

jade olive
#

what about the IA32_MCG_CAP register bit 24?
do you read that?

#

cuz if i'm reading the SDM correctly, that indicates whether the MCE is even software handlable

#

more precisely, whether an uncorrectable MCE is software handlable

#
processor supports software error recovery (see Section 17.6), and IA32_MCi_STATUS MSR bits 56:55 are
used to report the signaling of uncorrected recoverable errors and whether software must take recovery
actions for uncorrected errors. Note that when MCG_TES_P is not set, bits 56:53 of the IA32_MCi_STATUS MSR
are model-specific. If MCG_TES_P is set but MCG_SER_P is not set, bits 56:55 are reserved.```
hazy saddle
#

Would it ever report them as recoverable in the error code etc if that’s the case?

#

And it still should log it?

#

If it got it at all

#

Maybe I can check for that??

#

Though the motherboard says it’s unrecoverable errros

jade olive
#

sure
considering the parity error is "uncorrectable", then i assume that this being 0 means you won't get it

clear bison
#

It wouldn't show you the uncorrectable errors

jade olive
#

the chipset supports AMT
that surely has some mechanism to read this

clear bison
hazy saddle
#

So that’s what’s happening

clear bison
#

Maybe

jade olive
#

we don't know
depends on the value of that msr

clear bison
#

Check those MSRs so you can be sure

hazy saddle
#

Or is it just straight up not at all in some cases

jade olive
#

i guess straight up not at all?

hazy saddle
#

I dislike this design choice from Intel

jade olive
#

and once again, i'd like to thank okular for it's immaculate resource hogging

hazy saddle
#

This is why I use Firefox

#

I’ve never had my system go that far 😭

jade olive
#

not helping for a netbooter here
i need the cache πŸ₯€

hazy saddle
#

I rarely even get above 16gb ram usage

jade olive
#

i like to torture myself it seems
i'm running NFSv4 over 10 gig link as my netboot target

hazy saddle
tender mantle
jade olive
#

lord praise ZFS and its level 1 arc πŸ™

tender mantle
#

uptime 62 days

#

😭

hazy saddle
#

That’s fine for a server tbh

jade olive
tender mantle
#

oh for a server

#

yeah okay

#

makes sense

hazy saddle
#

Though with the three new Linux CVEs :x

tender mantle
jade olive
#

:3

clear bison
clear bison
jade olive
#

nahhhhh

#

@hazy saddle what about the IA32_MCG_EXT_CTL MSR? bit 0 Enable / Disable local machine check exception.

#

0x4D0

jade olive
# jade olive :3

there should be one raspberry pi at grandparents' that has to have like 2000 days uptime atp

hazy saddle
#

I wonder

jade olive
#

and i know this one guy working for the national fibre grid here in czechia
he was lookin at some mikrotik router dashboard
3943 days uptime

jade olive
hazy saddle
#

Fuck

#

πŸ’€

jade olive
#

the wording of that entire MSR is about sending the MCE to a single LAPIC node?

#

not sure though

#

the pin is clear enough i'd say

#

i see MSR_MCE_CTL which is IA32_MCG_CTL

#

so
missing the EXT_CTL completely at least

hazy saddle
#

Yeah so

#

I may have been fucking it up

jade olive
#

gg

hazy saddle
#

I need to check bit24 of the CAP

#

And then set the bit in EXT CTL

jade olive
#

well
the main thing is
that we got to the answer eventually

#

better get to it later than almost kill a management controller
oh wait πŸ₯€

#

nah dw it's fine

#

good thing
is that evalynos is still running lmao

#

chunk 1772

hazy saddle
#

It probably was some random spurious shit

jade olive
#

a random fly flew by flying above the fans being sucked in and it's fine mist flown all over the management controller

hazy saddle
jade olive
#

100% the fly's fault