fasterthanlime  

@fasterthanlime

software person 🦀 rust, go, compilers, music, gamedev ☕ donate: 📺 watch: 🌱 he/him

Europe
Vrijeme pridruživanja: lipanj 2014.

Medijski sadržaj

  1. 2. velj
    Odgovor korisnicima

    and the goal is to learn how it all works. so the program opens ELF files, parses them, loads the segments in memory, applies relocations, jmps to the entry point and weeeeeeee

  2. 2. velj
    Odgovor korisniku/ci

    it's probably the base address gdb picks when it loads executables (it disables ASLR by default)

  3. 2. velj
    Odgovor korisnicima

    so, something like this:

  4. 2. velj
    Odgovor korisnicima

    what the code should've been doing is find an area large enough so that all the regions in here fit:

  5. 2. velj
  6. 2. velj

    There was another subtle bug btw: malloc/free misuse is SO EASY to identify as compared to mmap misuse. The memory manager will happily unmap crucial stuff from under you and it'll blow up way later.

    Prikaži ovu nit
  7. 2. velj
    Prikaži ovu nit
  8. 2. velj

    my current working theory is that one of my `mmap` calls is accidentally unmapping a previously-mapped region used as backing memory for a `Vec`, and when dropping the `Vec`, well, all hell breaks loose This only happens with large enough Vecs, so it didn't happen before

    Prikaži ovu nit
  9. 2. velj

    ooh, LLDB shows more deets, looks like it crashes when dropping `delf::ProgramHeader`

    Prikaži ovu nit
  10. 2. velj
    Odgovor korisniku/ci

    looks like there's some inlining going on, I'm not sure the real code does have arguments (I'm not sure exactly what's going on tbh)

  11. 2. velj

    it's trying to free a bit of memory that belongs to a region mmapped from a file what

    Prikaži ovu nit
  12. 2. velj

    running it under valgrind works fine lol

    Prikaži ovu nit
  13. 2. velj

    the stack trace isn't even that suspicious!

    Prikaži ovu nit
  14. 2. velj

    Seems like even doesn't try for nineteen seconds

    Prikaži ovu nit
  15. 2. velj

    Btw definitely allows you to do that because knows you have stuff to do (and also doesn't make promises it can't keep)

    Prikaži ovu nit
  16. 1. velj
    Odgovor korisniku/ci

    afaik it definitely is a spectrum but none of the numbers seem to apply to me on that scale for example: I see flashes of *part* of 5/6, never the full thing

  17. 1. velj

    Today I found out the answer to "if you retry every second, how many tries does it take to reconnect a WebSocket after my computer wakes from hibernation (on Windows 10)?" The answer is nineteen. 19 tries, 19 seconds.

    Prikaži ovu nit
  18. 31. sij
    Odgovor korisniku/ci

    I'm okay with that, raccoons are majestic af

  19. 30. sij
  20. 29. sij
    Odgovor korisniku/ci

Čini se da učitavanje traje već neko vrijeme.

Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.

    Možda bi vam se svidjelo i ovo:

    ·