35
Root
7y

So, I'm using a new MacBook Air (running Sierra), and while I'm still getting used to it (especially the different Sublime hotkeys), overall it really is quite wonderful. I particularly love the magic touchpad and ease of scrolling/swiping between desktops.

However, I ran into an issue this morning that gave me pause: apparent file caching.

My webpack setup auto-compiles my project when files change, and I noticed something was causing errors -- not really surprising since I was in the middle of fixing the project last night. However, the error it displayed wasn't something I was expecting, and referenced a line I was positive I had removed several hours before calling it a night. Whatever, I was probably mistaken, so I went to remove it.

... It wasn't there.

I double checked that I was looking at the right file. Yep, src/styles/header.scss -- that's the correct file. Figuring webpack was acting up, I killed and restarted it.

Same error.

So whatever, maybe Sublime cached it. Rather unexpected, but possible, and I am on a mac now... so maybe. So, I closed the file and reopened it. The line wasn't there. I did this twice more. It STILL wasn't there. Maybe I'm going crazy...? I checked the file with cat. The line was there. I checked with vim. The line was still there.

OKAY. I've seen a lot of people with beef with Sublime, and I often defended it. but maybe they're actually right. maybe Sublime really isn't the way to go. :( So, I killed and reopened Sublime, and I checked the file again.

The line STILL ISN'T THERE.

Maybe I'm going crazy? I double, triple, quadruple checked the path. all correct.
Alright; let's try again and make sure I do it properly. I closed everything I had open in sublime (two projects), and quit. I reopened Sublime, navigated to the correct path, and reopened the file...

The offending line STILL wasn't there.

I'm angry at this point and just mash the keyboard. I save the resulting garbage, and cat the file again. No visible changes.

KAJSFLK STUPID PIECE OF <redacted>

okay, whatever. Reboots fix everything, right? So I reboot, and keep the option to re-open everything again ticked.

The terminal comes back up, along with half(?) my browsers, but Sublime doesn't. grrrrrrr.

so I cat the damn thing.

GUESS WHAT.
THE GARBAGE IS THERE.

Sublime was doing its job. BUT EVERYTHING ELSE FAILED.

(Oh Sublime, why did I ever question you? 💚)

... but seriously, what the fuck could have caused that? Was the OS caching the file for some programs, but not others? Now I'm questioning the macbook...

Comments
  • 3
    Well, if Sublime was the only app that was seeing the changes I guess, that is the problem, not the rest of the apps along with OS.

    I remember that it has an option to write to a temporary file first. Maybe it was doing that and for whatever reason it was failing to overwrite the original one after that.
  • 3
    Update:
    After writing this rant, I tried starting the project again.

    MY node_modules FOLDER IS MISSING!

    WHAT THE FUCK.
  • 0
    @CoffeeAndHate If it was only writing to a temporary file and not the original, the changes wouldn't be visible after a reboot.

    This tells me that Sublime was actually reading/writing the file, but nothing else was.
  • 0
    I doubt that is possible and I'm sure there is an explanation for that. But it's hard to tell without an in-depth debugging.
  • 0
    @CoffeeAndHate I know, right? This is so totally confusing.
  • 2
    If it happens again, maybe you can do a screen record.
    Not that I don't believe you, but maybe you are missing something. And I am curious too.
  • 4
    @Ashkin I'm hooked to this thriller now, please keep updating.
  • 6
    lol my boss tried telling me that git is responsible, and that "everything is running through git," and therefore "git determines what's on the disk." I put node_modules in .gitignore, right? so since everything runs through git, git made that folder not exist.

    I'm like, but they're actually local files, right? and git operates FROM local files, not the other way around? but no, apparently "that doesn't matter," and "everything runs through git."

    Every time I try to explain something... he doesn't get it. and his explanations don't always make a lot of sense. or reflect reality.

    His view of how technology works must be very bizarre indeed.
  • 0
    Check the file system for consistency. Run file permissions repair.
    Check file permissions on file/project folder?
  • 4
    Sounds like an inode mismatch, where Sublime was writing to the new inode of header.scss but webpack was still on the old inode (or vice-versa)

    It doesn't really fit with the fact that you tried to restart all the processes one by one (but we know that we get messy during these events), but it explains why it started working again after the reboot.

    Also it's not lupus
  • 4
    @Pizza lol for the House reference! 😂
  • 0
    @Pizza That's a good explanation, though I'm still not sure if it fits. If the terminal caches the inode lookup, that would explain cat and vim seeing incorrect data...

    But what about the node_modules disappearing on reboot?

    @arcadesdude I don't know how to do this. I'm extremely new to macs.

    @PaddiM8 Soo not obvious. Haha.
  • 1
    @Ashkin diskutil from command line or disk utility for the gui

    https://support.apple.com/kb/...
  • 1
    @arcadesdude ty ty
    I'll try that tonight.
  • 2
    You did not by any chance rename the file from Header.scss to header.scss? Default disk type in OS X is case insensitive (which is fucking bullshit). So changing the name might cause these problems.

    However, if you install using case-sensitive file system (which imo should be default) you have problems with popular apps like Photoshop and Steam unable to install without a lot of tweaking. Which is bullshit.
  • 1
    @zshh nope. Case matched, too!
  • 0
  • 0
    Try to use visual studio code, their plugin support is pretty amazing. I just switched recently and it is going pretty well(coming from Atom)
  • 1
    @zshh Wow, this is definitely up there with any of the top reasons to choose linux over osx.
  • 1
    Please don't make this stack overflow. BTW, you are quite frequent.
  • 1
  • 0
    @Ashkin Used macOS for many years now, but never had an issue like that 🤔
  • 0
    @JustInCase gives me one more reason to shit on apple
Add Comment