#Orange

1 messages Β· Page 4 of 1

inner oak
#

i need only fix one bug for gtk

#

its why it doesn't get events

inner oak
#

interesting

#

it looks like it some issue on libx11

#

cuz its keep getting messages with 120 len with recvmsg

#

and doesnt respond, just polls again

#

i need to try to use xev

#

cuz st works and xeyes works

#

also i want to do something like strace

#

(instead of serial doing debug printfs to parent process stdout)

#

cuz serial is slow asf

inner oak
#

meow

inner oak
#

mm is fine

#

xev is fine

#

issue in gtk

inner oak
#

hmmm

#

it gets GenericEvent from xorg

#

but there's no mention about thiis in gtk

#

wait if i disable xi2 issue is fixed (with GDK_CORE_DEVICE_EVENTS=1)

#

maybe issue in that xorg is too new for gtk or idk

#

maybe ill just export this env

#

gtk3 port

sly sandal
inner oak
sly sandal
#

the one from twm and the one from gtk

inner oak
#

a

#

its some twm stuff

#

im going to port i3wm soon

solid hearth
#

kde when

inner oak
solid hearth
#

nvme and ext2 when

inner oak
#

ill rewrite them

jaunty oxide
#

You can mask your shit sucking by adding a page cache halfmemeright

solid hearth
#

what if page cache sucks too

cloud owl
inner oak
#

i came to home only now

#

i was fucking 8 hours in school cuz some event

inner oak
#

i3wm and geany ports

#

i wanted to port gedit butt

#

it requires introspection

#

which is retarded and doesnt works in cross compiling

#

i want to port some terminal

shell pivot
sly sandal
inner oak
#

i have one issue rn

#

echo something > somefile is broken on bash

#

its just dup2 instead of writing something to somefile and restoring stdout back and after just returns to shell

inner oak
#

wtf

#

only built in commands > is broken

#

ls or other command works perfectly

#

but i need to fix this cuz 1) i want to do self hosting later 2) maybe this bug will make dbus broken too

inner oak
#

found issue

#

i was cloning cloexec flag in dup/dup2

#

time to do rename()

#

its required by python, dbus uuidgen and mv

#

what the fuck

solid hearth
inner oak
solid hearth
#

idk

inner oak
#

issue was in getrlimit

#

i jsut hardcoded fd count to 1024

#

dbus requires getsockname so ill implement it tomorrow

solid hearth
inner oak
#

time to socketpair

inner oak
#

i forgot about freeing sockets

#

i need to implement this

inner oak
#

todo for tomorrow

#

also socketpair and freeing sockets are done

inner oak
#

from hex to text its -1

#

and its uid

#

how does it gets -1 ????

inner oak
#

ig i can find issue if i look at dbus src

solid hearth
inner oak
#

wait im dumb

#

i didnt implemented SCM_CREDENTIALS for socket pairs, only for normal unix sockets

final pilot
#

isnt socket pair just 2 normal unix sockets connected to each other

inner oak
final pilot
#

bruh 😭

#

they arent a different type of fd at all tho

inner oak
#

meow

inner oak
#

actually wtf

#

dbus never calls sendmsg on orange

#

but on linux dbus calls it

#

(im comparing linux strace and my syscall logs rn)

inner oak
#

maybe i found issue

#

maybe its some cross compile issue so ill hardcode it

inner oak
#

i have no idea why dbus doesnt works

#

it just says rejected external and after client fails to connect

#

also i still dont have vma for kenrel

#

time to stop using buddy for everything >4kb

solid hearth
inner oak
#

time to abuse clanker to know why dbus auth can fail

inner oak
#

all this time i had syscall log disabled for pthreads

#

i forgot about it

inner oak
#

debugging dbus feels like getting lobotomy

#

and bug 100% will be some random 1 loc bug

inner oak
#

uid changed gender

#

at least i got some hint

#

its 0 and after becomes -1

inner oak
#

bruh

#

i just

#

forgot

#

to add my os to these defines

inner oak
#

finally dbus is fixed

#

ill generate locales tomorrow

inner oak
#

so my todo is

  • port cool stuff
  • stop using buddy and use vma
  • implement linux specific sysdeps like eventfd
  • patch instrospection to be able to cross compile with my os
inner oak
#

i love when dbus doesnt want to launch when i disable debug mode

inner oak
#

i have 2 bugs rn

#

first i already found

solid hearth
#

2 bugs that you know of

inner oak
#

im returning ebadf on -1 fd

#

when i should just ignore it

#

and second i have no idea where it deadlocks without debug

solid hearth
#

store the owner in your mutex and print stack trace on double lock

#

that can find one type of bugs

#

It helped once or twice with my tty code

inner oak
#

it deadlocks in userspac

#

on some recv or poll idk

#

or in futex

inner oak
#

it requires pipe pollhup too

inner oak
#

gnome-terminal port letsgo letsgo letsgo

#

small fps cuz i ran it in debug mode

#

(syscall log)

#

i need to fix that deadlock without debug mode and pty stuff

severe axle
#

cool

#

Is this with linux bin compat or without?

inner oak
#

its mlibc

severe axle
#

Very cool

inner oak
#

i just need to fix some deadlock (my kernel bug) and ptys

inner oak
#

i had a lot issues with it

inner oak
#

please dbus stop πŸ™ 😭

#

it just tries to connect and dbus-daemon doesnt accept it

#

and bruh

#

i need to finally do good disk loading

#

my initrd is fat asf

inner oak
inner oak
#

and definitely not mm issue

#

it looks like without debug mode it gets pollhup from xorg ?????

inner oak
#

wait actually im blind

#

its at-spi connect

inner oak
#

find 5 differences

#

who is accepting it 😭

velvet nebula
#

?

inner oak
#

uhh

#

somehow

#

connect gets accepted by not at spi

#

when at spi polls for new connect

inner oak
#

im so bored of these undebugable race conditions with single core

#

maybe its cuz i didn't implemented some flags in recvmsg

#

like its impossible to have race condition with 1 cpu core

inner oak
#

no its not

#

i need to try to give to processes unlimited cpu time to see what will change (they will anyway yield in poll or other syscalls)

#

if it will be fine then idk issue in futexes

inner oak
#

day 3 fixing this bug

inner oak
#

im going to play hoi4

inner oak
#

i love abusing clanker

#

deepseek gave to me some hint

#

when i sent 5k syscall log to it

inner oak
#

i have no idea how to fix this

#

maybe if i write some sockets and futex test i can find bug ?

inner oak
#

hmmmm

#

maybe if i implement signals in poll it will work

inner oak
#

finally

#

i fixed this shit

#

now i dont have some weird deadlocks

#

issue was that i didnt implemented signal ret for poll()

solid hearth
#

what is it?

inner oak
#

to detect it

solid hearth
#

okay

inner oak
#

/sys/class/graphics/fb0 (/sys/class/graphics/*)

inner oak
#

ig my scheduling is bit weird

#

but ill fix this in future β„’

#

now i want to port more gnome apps and fix ptys

inner oak
inner oak
inner oak
#

mate-calc port

#

i wanted to port gnome-calculator but its written in vala

#

idk how to cross compile this

inner oak
#

uncool news I really need to do instrospection and vala

#

at least cuz gnome stuff require it

#

my target is now gnome calculator

#

cuz its written in vala and require introspection

inner oak
#

holy shit my tmpfs is so fat

#

but ig its cuz im allocating everything with buddy

#

i need to stop this

#

i waste 5-6 mb on gnome-terminal after exiting it

#

its so terrible

inner oak
#

im going to rewrite my pty line discipline

inner oak
#

i had some break now im continuing orange development

onyx matrix
inner oak
onyx matrix
#

ah

shell pivot
#

whats your minimum order?

inner oak
shell pivot
#

im guessing youre allocating tons of small objects and you have a min order of like 8 or more, so the minimum block size it can allocate is 256

#

ah, then yeah

inner oak
#

issue is buddy aligns to nearest power of 2

#

like if i alloc 5009 bytes it will allocate 8kb

shell pivot
#

yes, thats a problem if the things you allocate are weird sizes like that

inner oak
#

im going to change it to vma

shell pivot
#

i use buddy allocators for my BASIC interpreter instances, because often it is storing strings and theyre constantly realloc'ed

#

realloc that fits into the same buddy order is basically free

shell pivot
#

then formatting it with e.g. fat32 or ext

#

this makes more sense for buddy allocator, and allows for a ton more flexibility than just a tmpfs made from an array and a tarball

#

basically, more like /dev/loop*

inner oak
#

gnome-terminal output is fixed

#

i forgot to add 1 to read_bytes when reading from tty packet mode

solid hearth
#

packet mode?

#

canonical/cooked?

inner oak
#

TIOCPKT

#

its just normal tty but with additional byte in beggining (usually 0)

#

i need to install some dark theme

#

my eyes hurt when i see white theme

inner oak
#

my eyes are not hurt now

#

installed orchis-theme and changed gnome-terminal to dark mode

turbid bridge
#

This is goonable

inner oak
#

real

onyx matrix
inner oak
#

i want to implement proper EFAULT returning

onyx matrix
#

what do you do rn

inner oak
onyx matrix
#

no like

#

when userspace gives you a junk pointer

inner oak
#

i just check is it in kernel space or not

#

but im not checking is this valid pointer

onyx matrix
#

bruh lol

cloud owl
# onyx matrix bruh lol

I mean I also do that, but I use special functions that the kernel on a fault returns an error instead if it can’t handle it any other way

#

It is one of the more efficient methods if done right

onyx matrix
#

well yeah i also check if it's kernel space or not but i also handle pfs when copying from/to userspace

cloud owl
#

I’ve seen people lock the page tables and manually look them up and verify

#

Which just feels partly redundant when the CPU can do that for you anyways lock free

#

(Well mostly in the case of no fault)

onyx matrix
#

why put in all the effort when the cpu does it for me

feral vortex
inner oak
#

i have some issue

#

gtk page faults randomly

inner oak
#

ig its some gtk bug

#

cuz it pagefaults only on exit

#

anyway ill just send sigsegv to it

inner oak
#

im downloading tarballs from it

inner oak
#

python3 port

#

its required by introspection so why not

narrow mesa
#

If python 3 is so good port python 4

inner oak
#

i hate gobject instrospection

severe axle
#

if you're using mlibc with the linux abi you can do what Managarm does

inner oak
#

im fixing it rn

inner oak
#

fix was just replacing some arguments in linux thread entry

inner oak
#

gnome-calculator port

onyx matrix
#

now port the entire gnome stack trl

inner oak
#

porting gnome rn

#

i want to port gnome 43 at least cuz mutter 43 doesnt require colord or glycin

inner oak
#

itttt requires gtk4 nooo

inner oak
#

im patching it to not use egl rn

inner oak
#

actually its possible to port gtk4 without egl

#

it looks like it can fallback to glx

#

gtk4 port

solid hearth
#

gnome when

inner oak
#

but

#

some gtk4 stuff is slow

#

i need to optimize it later

inner oak
inner oak
#

😭 😭 😭

#

gnome requries firefox (spidermonkey)

#

😭 😭 😭

#

it means time to setup rust cross compiler

oak cobalt
#

Oh and do yourself a favor

#

Get your rust setup working with something smaller than fucking spidermonkey

#

Like ripgrep or eza

inner oak
#

dddkfjjdejej

#

i completely dont know how rust works

#

so im going to steal some patches from assertos

severe axle
#

lol

#

when you get firefox or gnome to work, i'll be curious what kind of patches / features we're missing on the Managarm side

inner oak
#

ill do it after userspace adventures

inner oak
#

did some optimizations fps in glxgears increased from 900 to 1000

#

gtk4 became bit usable

#

time to do shm stuff

#

iirc it should make mesa stuff faster

inner oak
#

i got race condition 😭

#

with 12 cpus

#

when thread page faults and gets sigsegv

inner oak
#

how

#

it jumps to already killed thread

velvet nebula
#

so cpus won't jump to it

inner oak
#

im so dumb

#

i forgot to switch cr3 before paging free and it was freeing current cr3

#

i want to do setitimer

solid hearth
#

it's not hard

inner oak
#

ik

#

mesa wants it so much so ill do it

feral vortex
sly sandal
inner oak
#

but it spams with it and gets enosys everytime

sly sandal
inner oak
#

getitimer/setitimer is done time to do shm

inner oak
#

shm is done

vast lake
inner oak
#

time to getaffinity stuff

#

for nproc and etc.

inner oak
#

wtf

#

why gtk4-demo breaks when i setup cairo as gsk renderer instead of gl

#

when gtk3 works fine when its cairo handled

#

maybe its just some unimplemented/i dont have drm or something issue

inner oak
#

so now when my kernel not suck in opengl so much i can continue porting pain

inner oak
#

cuz i dont think that its kernel bug (or its missing EINTR return)

idle forge
inner oak
#

i tried to lazy allocate 4 pages instead of 1 page for 1 page fault and it increased glxgears fps from 1300-1400 to 1700-1800

onyx matrix
#

zoom

inner oak
#

im building llvm again

inner oak
#

i forgot

#

that i had aarch64 and riscv64 ports

#

and they are really poor

#

omg i fixed nvme

#

i was writing uint32_t instead of uint64_t in nvme write64

inner oak
#

100 syscalls

inner oak
#

my writev was returning EAGAIN when there already was written some data

idle forge
solid hearth
#

I'm at 195

onyx matrix
#

i only have 75 (only 70 implemented πŸ˜”)

inner oak
#

finally i setup clang cross compiler

idle forge
jaunty oxide
#

astral only has 105 system calls

idle forge
#

i have 137

inner oak
idle forge
#

upload the .c

solid hearth
#

send a github link

inner oak
#

im trying to build rust cross compiler rn and port it

onyx matrix
#

sys_enosys_stub
KEKW

inner oak
inner oak
#

i have some important asf biology exam tomorrow

onyx matrix
#

i saw my biology teacher going for a walk in town today in school hours

#

i went home cause i didn't have class

#

most of the teachers are manifesting and apparently they do this by hanging off bridges??

#

(random pic from some random article)

inner oak
#

i hate rust

#

why it uses my headers with host c compiler

inner oak
#

time to try port something in rust

#

trying to port xshmfence and bruh

#

time to patch it

idle forge
#

how did you do std?

#

linux_like?

inner oak
inner oak
inner oak
#

vulkan

onyx matrix
#

does it run better than opengl when cpu rendering

inner oak
#

it runs really buggy

#

and slow

onyx matrix
#

rip

inner oak
#

on kvm

#

maybe its cuz of swrast

#

or lavapipe idk how it named

#

im porting something cool rn

#

on rust

jaunty oxide
#

on rust fr

idle forge
#

on rust fr

#

i ported fish

jaunty oxide
#

use ksh93

idle forge
#

trash93

jaunty oxide
# idle forge trash93

"I enjoy kicking pregnant dogs" what the fuck marvin why would you say something like that

inner oak
#

compiling rust rn again

#

i forgot to enable linux target

idle forge
hexed matrix
#

i ported new versions of rust-libc and rust-rustix

#

now im porting rust-rustix0.38

hexed matrix
#

i looked at managarm patch for rust-nix and im not going update this

hexed matrix
#

jirpt]hjgr]phoptrehjekb]bkekbkgfbfglbkdl;bkdflvbmfdvflkd;gldkg

#

i forgot that i am linux_like in rust

#

so i can just ignore patches and do it only for errno

inner oak
#

finally i can type

inner oak
#

my honest reaction when x11 crate requires another version of nix

inner oak
#

idk why but i love rust now

#

i want to start doing drivers in rust for orange

solid hearth
#

rustlover0

inner oak
#

i will keep kernel in c++ but drivers will be in rust

inner oak
#

its pain to port every crate that require some platform settings

inner oak
#

today i had some important asf russian exam

inner oak
#

im doing epoll rn

inner oak
#

epoll is done

#

i want to move xorg to epoll now

inner oak
#

time to do locks in fcntl

#

sqlite requires it

inner oak
#

editor

idle forge
inner oak
idle forge
#

it's that even remotely portable

inner oak
#

yes

#

i already built this

idle forge
#

it pulls in chromium

#

what

inner oak
#

freebsd have zed port

#

where it disables webrtc stuff

idle forge
#

ah

#

yeah webrtc is stupid

inner oak
#

im implementing some stuff that required by sqlite like ftruncate rn

#

zed uses it

idle forge
#

btw how did you port rust libc

inner oak
idle forge
#

ah okay

#

that's easier

inner oak
#

yes

#

i can just copy values from real linux cuz i follow linux abi

inner oak
#

yesterday i had last exam

#

im free now

turbid bridge
onyx matrix
#

segmentation fault

inner oak
#

meow

inner oak
#

i had some break after rust adventures

#

my lazy ass will do orange today

inner oak
#

my lazyass

#

finally started doing something

#

im fixing flocks rn

inner oak
#

i

#

did something

#

but

inner oak
#

i completed deltarune chapter 5

cloud owl
#

How's that been going btw

jaunty oxide
#

everybody loves systemd

inner oak
#

for sqlite

#

for zed

#

after ill port firefox

#

and after firefox i will be able to compile some random gnome library

inner oak
#

i got some ub bruh

inner oak
#

maybe if i setup watchpoint i can know why memory gets corrupted

inner oak
#

im so dumb

#

i setup stack to start of allocated memory instead of end

#

(i wrote this code year ago)

onyx matrix
#

lol

inner oak
#

i want to update mlibc too

#

tf is aio

turbid bridge
inner oak
#

sqlite requires normal file mmaping bruh

cloud owl
inner oak
#

😭

turbid bridge
inner oak
inner oak
#

ill make some kernel thread that will sync mmap allocations with vfs

inner oak
#

im thinking how to implement ts

#

also im thinking about implementing swap

#

it shouldn't be hard cuz iirc its just getting unused pages and saving/loading this to disk

#

in some random thread

inner oak
#

im sick

solid hearth
#

that's sick

inner oak
#

i was playing deltarune today again

#

but with mod

inner oak
#

me when another memory corruption

inner oak
#

something something

onyx matrix
#

meow

analog spruce
#

Mandarine when

inner oak
#

in future i want to add good aarch64 support and without uefi for rpi

solid hearth
#

limine on rpi when

onyx matrix
#

i thought you could get uefi working on rpi

inner oak
#

after day of playing gta 5 i finally figured out how to sync ts

inner oak
#

i want to do rbtree

cloud owl
#

It's a bit like kgz since you already use it

inner oak
#

im at the sea now

vast lake
inner oak
#

im doing some shit rn

onyx matrix
#

!@!@$#@

inner oak
#

masterpiece of asserts

onyx matrix
#

πŸ’€

analog spruce
idle forge
inner oak
idle forge
#

no like

#

why long long

#

😭

inner oak
#

a

#

idk

#

idr why i did this

idle forge
#

smh

#

i wonder if there is a clang-tidy lint for raw int vs stdint

inner oak
#

i implemented map_shared with disk sync and sqlite still doesnt works

#

bruh

#

time to debug ts and read sqlite src

inner oak
#

need to try it on linux with mlibc first

#

to know is this my kernel bug or other

#

it works on linux with mlibc

#

its my kernel bug

inner oak
#

it looks like i have issue in F_SETLK, F_GETLK

#

hmmmm

#

maybe its because i dont automatically unlock file ??

#

time to read man

inner oak
#

holy shit

#

sqlite works with shm mode

#

(with some test made by clanker)

#

fym mlibc panic

#

maybe its because i didnt implemented MAP_ANONYMOUS with MAP_SHARED

inner oak
#

im continuing zed porting

#

time to find out why ts doesnt creates sqlite tables even on linux

inner oak
#

mlibc update finally fixed sqlite shitt

inner oak
#

wtf rust