lina , Englisch
@lina@vt.social avatar

So today's stream ended up with... finding out that getcwd() is randomly broken inside the microVM??!??!!?!??!

I get the weirdest bugs...

lina OP ,
@lina@vt.social avatar
argv_minus_one ,
@argv_minus_one@mstdn.party avatar

@lina

😬 Glad you caught that one. File system corruption is a quick way to ruin anybody's day.

lina OP ,
@lina@vt.social avatar

@argv_minus_one Thankfully it wasn't corruption, just breaking invariants that caused getcwd() to break (though I guess under really unlucky circumstances that could cause things like the wrong files to be deleted!)

jkunkee ,

@lina App compat under emulation is, by far, the harder problem compared to "can I execute instructions"--which itself is no mean feat. Good luck!

lina OP ,
@lina@vt.social avatar

@jkunkee This wasn't an app compat/emulation issue, it was just a bug in the virtual filesystem implementation of libkrun ^^;;

No emulation involved...

jkunkee ,

@lina Correction posted. Please let me know if you'd rather me just delete it; I did see the Asahi Linux post and feel a bit daft for running afoul of it so enthusiastically.

t8d ,
@t8d@mstdn.jp avatar

@lina If I remember right, cwd is kept within /proc, and I can imagine getcwd just reading from there (or that file goes and runs getcwd). That said, could always be fs shenanigans.. do you have a suspect in mind?

lina OP ,
@lina@vt.social avatar

@t8d I think it's the other way around, reading from /proc/self/cwd just internally calls something like getcwd so it has the same problem...

  • Alle
  • Abonniert
  • Moderiert
  • Favoriten
  • random
  • haupteingang
  • Alle Magazine