no description only meoww


leftpaddotpy
@leftpaddotpy

today i found:

  • an opentelemetry library bug where if you build with default (but wrong) ghc options by omitting -threaded, an exception will get swallowed causing no data to be exported. filed a patch to make it crash hard instead.
  • a ghc recompilation checker bug that causes those options to not cause a recompilation, thus making them appear to not change anything. found it while floundering at -threaded not fixing things

man i really wonder how i manage to find these bugs. i mean i know, it's printf debugging, bisecting the program. this bug really didn't want to be found.


leftpaddotpy
@leftpaddotpy

This was one of Those days:

slacklinker wasn't receiving some DM commands I was sending it. I assumed it was that I screwed up, but I couldn't find any traces for it, so I tried to add more tracing. Nothing.

Got out the big guns:

  1. tcpdump'd all the traffic to the process for a few seconds, reproduced it. nothing
  2. briefly changed the webhook url to ngrok out of desperation. the request is there. what.
  3. send the intercepted request manually with curl. get a cloudflare error saying it thinks my request is malicious.
  4. read cloudflare logs and find they've blocked a metric fuck load of these web hooks.
  5. write cloudflare rule to bypass the WAF on requests from slack.

Oh, but those three ways aren't the only ways I got absolutely bodied by computers today. I also fought with systemd. I set up a new service to do something, using LoadCredential=cred:/etc/creds/blah and Environment=%d/cred because I want to use DynamicUser=true to get a lot of security in little effort, and the systemd parser complains that there's an unrecognized specifier.

Here we go again. Try to reproduce it on my Arch box, works fine. Go open the page to file a bug, it says "only file bugs in the last two major versions", so I retrieve the versions involved. Hmm, 250 in prod, 251 on my Arch box. I read the changelog only to find out they added the %d specifier for the credential directory in 251.

Ugh. Well, thankfully I can run NixOS 22.11 in production :p


You must log in to comment.