Build getting stuck on “computing gzip size...”
My build keeps getting stuck somewhere in
#13 6.195 computing gzip size...
25 Replies
Project ID:
3f54d7b6-da1b-4c56-8c09-de9e2df28931
You might find these helpful:
- React app not building
- BuildImage timeout, Retrying...
- unexpected EOF on build
⚠️ experimental feature
3f54d7b6-da1b-4c56-8c09-de9e2df28931
Here’s the repo it’s hosted from:
https://github.com/yodaluca23/Sussy-fork
GitHub
GitHub - yodaluca23/Sussy-fork
Contribute to yodaluca23/Sussy-fork development by creating an account on GitHub.
Can you paste the full build logs into a GitHub Gist/something like https://dpaste.org/ & share it here please?
Sounds weird 🤔
Pastebin
==============Using Nixpacks==============context: f76230ed9494b307...
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Sometimes it gave the build time out message sometimes it didn’t and just restarted anyway
Hmm that's odd. That step shouldn't take long enough to trigger a timeout.
Can you try building it locally using Nixpacks? Follow the instructions at https://nixpacks.com/docs/getting-started to install it ->
cd
into your project dir -> run nixpacks build
It's been on " => => # dist/assets/index-d768b701.js 419.76 kB │ gzip: 127.68 kB" for quite a while....
I'll leave it over night, and see if it progresses
Nope, its definantly stuck...
So it's not a Railway issue then.. I wonder if it's something with nixpacks. You seem to have a lot of assets - why is that?
I'll clone your repo and try to reproduce this later
Ok
I mean, it’s a proxy, what’s weird is the only thing I changed since this started happening is I added a feature that should implement a block list of sites that it won’t let you go to and put in the blacklist could it be that the blacklist is too big or something?
Do you have a commit hash I can look at for that feature?
it’s a proxyBtw, please make sure that your app complies with https://railway.app/legal/fair-use
Just tried it in GitHub code spaces, and it also doesn’t work their
It doesn’t host any of it
Plus, I’m trying to make this block list thing, to block NSFW, and other stuff
I can't say much about why exactly your build is freezing but I can say maintaining your own block list is a horrible idea, especially the way you're doing it (I'm sorry, no offense) the best way I've come up with implementing a nsfw block list in a proxy would be to use a custom resolver in code that uses a DNS filtering service like cloudflare's family protection DNS servers, so all requests through the proxy would have to use a DNS server that blocks nsfw domains by design, and if that lookup fails so would the request to the proxy
Yea, right now I have it on a pi-hole block list, i’m planning on making a way where I will also be able to automatically update from that list
thats a worse idea
no offence
I have tried a bunch of different ways, but I can’t get it to work…
have you tried removing the big block list from your repo?
Yea, it’s gone, It’s building now, something must have been bad with that code, but I’ve tried a bunch of stuff to get the DNS filtering to work, but it still shows I’m using Google’s DNS…
there's lots of stack overflow example code on using a custom resolver, probably even some npm packages, I know it's possible to do because I use a custom resolver in my projects
Agree with Brody, DNS level blocking is the way to go if you're doing any proxying.
Anyway, sorry I can't help much because I'm not familiar with the http server you're using. Glad we narrowed it down to app code and your build is working!
I'd suggest checking the request routing logic there. If your build fails (it looks like a static build), chances are it's trying to resolve some endpoint and getting thrown into an infinite loop during the build step (static site generation processes can attempt to resolve the routes you defined to retrieve the rendered output, so if you mess with that it's likely going to have a cascading effect during the build). Try some aggressive
console.log()
statements everywhere inside that file. Also, I think you're using the json wrongly - the content is an array BUT when you import it like that, it's simply just a string. So what you're really doing there is checking for substring matches in the file you imported against x-bare-host
. If you want it to be a js array/object, do a JSON.parse()
on it